From a253a08c109836c6369bdb5144e45639bce3eddb Mon Sep 17 00:00:00 2001 From: penelope Date: Thu, 20 Jan 2022 22:31:23 +0800 Subject: [PATCH] 0.6.1.5 --- ...Add-a-binding-for-virDomainCreateXML.patch | 213 -- ...the-return-value-of-caml_named_value.patch | 38 + ...Remove-unused-not_supported-function.patch | 57 - ...to-stderr-and-use-thread-local-virEr.patch | 1864 ----------------- ...-int64_t-instead-of-OCaml-defined-an.patch | 35 - 0001-Use-g-warn-error.patch | 78 - ...-Use-safe-string-and-fix-the-library.patch | 76 - ...ory_peek-Use-bytes-for-return-buffer.patch | 74 + ...r-checking-return-from-virInitialize.patch | 32 - ...val-returns-const-char-in-OCaml-4.10.patch | 113 + 0002-Update-dependencies.patch | 44 - ...r-virConnectGetAllDomainStats-RHBZ-1.patch | 393 ---- ...on-t-try-to-memcpy-into-a-String_val.patch | 68 + ...ore-stats-in-the-get_all_domain_stat.patch | 42 - ...f-virConnectGetAllDomainStats-to-ret.patch | 127 -- ocaml-libvirt-0.6.1.4.tar.gz | Bin 136023 -> 0 bytes ocaml-libvirt-0.6.1.5.tar.gz | Bin 0 -> 146401 bytes ocaml-libvirt.spec | 42 +- 18 files changed, 308 insertions(+), 2988 deletions(-) delete mode 100644 0001-Add-a-binding-for-virDomainCreateXML.patch create mode 100644 0001-Make-const-the-return-value-of-caml_named_value.patch delete mode 100644 0001-Remove-unused-not_supported-function.patch delete mode 100644 0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch delete mode 100644 0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch delete mode 100644 0001-Use-g-warn-error.patch delete mode 100644 0001-Use-safe-string-and-fix-the-library.patch create mode 100644 0001-block_peek-memory_peek-Use-bytes-for-return-buffer.patch delete mode 100644 0002-Don-t-bother-checking-return-from-virInitialize.patch create mode 100644 0002-String_val-returns-const-char-in-OCaml-4.10.patch delete mode 100644 0002-Update-dependencies.patch delete mode 100644 0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch create mode 100644 0003-Don-t-try-to-memcpy-into-a-String_val.patch delete mode 100644 0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch delete mode 100644 0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch delete mode 100644 ocaml-libvirt-0.6.1.4.tar.gz create mode 100644 ocaml-libvirt-0.6.1.5.tar.gz diff --git a/0001-Add-a-binding-for-virDomainCreateXML.patch b/0001-Add-a-binding-for-virDomainCreateXML.patch deleted file mode 100644 index a25507b..0000000 --- a/0001-Add-a-binding-for-virDomainCreateXML.patch +++ /dev/null @@ -1,213 +0,0 @@ -From 7483c7454538584a3dbe4582096f058e6e877df6 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 6 Mar 2015 15:35:46 +0000 -Subject: [PATCH] Add a binding for virDomainCreateXML. - -This is more modern than the ancient virDomainCreateLinux API, -and crucially allows you to pass flags such as AUTODESTROY. ---- - configure.ac | 2 +- - libvirt/generator.pl | 23 +++++++++++++++++++++-- - libvirt/libvirt.ml | 19 ++++++++++++++++++- - libvirt/libvirt.mli | 13 +++++++++++-- - libvirt/libvirt_c.c | 25 ++++++++++++++++++++++++- - 5 files changed, 75 insertions(+), 7 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b7544b4..a719fb3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,5 @@ - # ocaml-libvirt --# Copyright (C) 2007-2008 Red Hat Inc., Richard W.M. Jones -+# Copyright (C) 2007-2015 Red Hat Inc., Richard W.M. Jones - # - # This library is free software; you can redistribute it and/or - # modify it under the terms of the GNU Lesser General Public -diff --git a/libvirt/generator.pl b/libvirt/generator.pl -index 8229ad1..421592b 100755 ---- a/libvirt/generator.pl -+++ b/libvirt/generator.pl -@@ -1,7 +1,7 @@ - #!/usr/bin/perl -w - # - # OCaml bindings for libvirt. --# (C) Copyright 2007-2008 Richard W.M. Jones, Red Hat Inc. -+# (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc. - # http://libvirt.org/ - # - # This library is free software; you can redistribute it and/or -@@ -63,6 +63,7 @@ my @functions = ( - sig => "conn, int : unit" }, - - { name => "virDomainCreateLinux", sig => "conn, string, 0U : dom" }, -+ { name => "virDomainCreateXML", sig => "conn, string, unsigned : dom" }, - { name => "virDomainFree", sig => "dom : free" }, - { name => "virDomainDestroy", sig => "dom : free" }, - { name => "virDomainLookupByName", sig => "conn, string : dom" }, -@@ -198,7 +199,7 @@ print F <<'END'; - */ - - /* OCaml bindings for libvirt. -- * (C) Copyright 2007-2008 Richard W.M. Jones, Red Hat Inc. -+ * (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc. - * http://libvirt.org/ - * - * This library is free software; you can redistribute it and/or -@@ -310,6 +311,8 @@ sub gen_arg_names - ( "$1v", "strv" ) - } elsif ($sig =~ /^(\w+), string, 0U? : (\w+)$/) { - ( "$1v", "strv" ) -+ } elsif ($sig =~ /^(\w+), string, unsigned : (\w+)$/) { -+ ( "$1v", "strv", "uv" ) - } elsif ($sig =~ /^(\w+), u?int : (\w+)$/) { - ( "$1v", "iv" ) - } elsif ($sig =~ /^(\w+), uuid : (\w+)$/) { -@@ -632,6 +635,22 @@ sub gen_c_code - - CAMLreturn (rv); - " -+ } elsif ($sig =~ /^(\w+), string, unsigned : (\w+)$/) { -+ my $c_ret_type = short_name_to_c_type ($2); -+ "\ -+ CAMLlocal1 (rv); -+ " . gen_unpack_args ($1) . " -+ char *str = String_val (strv); -+ unsigned int u = Int_val (uv); -+ $c_ret_type r; -+ -+ NONBLOCKING (r = $c_name ($1, str, u)); -+ CHECK_ERROR (!r, conn, \"$c_name\"); -+ -+ " . gen_pack_result ($2) . " -+ -+ CAMLreturn (rv); -+" - } elsif ($sig =~ /^(\w+), (u?)int : unit$/) { - my $unsigned = $2 eq "u" ? "unsigned " : ""; - "\ -diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml -index 9c9368a..1be023d 100644 ---- a/libvirt/libvirt.ml -+++ b/libvirt/libvirt.ml -@@ -1,5 +1,5 @@ - (* OCaml bindings for libvirt. -- (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc. -+ (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc. - http://libvirt.org/ - - This library is free software; you can redistribute it and/or -@@ -337,6 +337,20 @@ struct - cpu : int; - } - -+ type domain_create_flag = -+ | START_PAUSED -+ | START_AUTODESTROY -+ | START_BYPASS_CACHE -+ | START_FORCE_BOOT -+ | START_VALIDATE -+ let rec int_of_domain_create_flags = function -+ | [] -> 0 -+ | START_PAUSED :: flags -> 1 lor int_of_domain_create_flags flags -+ | START_AUTODESTROY :: flags -> 2 lor int_of_domain_create_flags flags -+ | START_BYPASS_CACHE :: flags -> 4 lor int_of_domain_create_flags flags -+ | START_FORCE_BOOT :: flags -> 8 lor int_of_domain_create_flags flags -+ | START_VALIDATE :: flags -> 16 lor int_of_domain_create_flags flags -+ - type sched_param = string * sched_param_value - and sched_param_value = - | SchedFieldInt32 of int32 | SchedFieldUInt32 of int32 -@@ -385,6 +399,9 @@ struct - let max_peek _ = 65536 - - external create_linux : [>`W] Connect.t -> xml -> rw t = "ocaml_libvirt_domain_create_linux" -+ external _create_xml : [>`W] Connect.t -> xml -> int -> rw t = "ocaml_libvirt_domain_create_xml" -+ let create_xml conn xml flags = -+ _create_xml conn xml (int_of_domain_create_flags flags) - external lookup_by_id : 'a Connect.t -> int -> 'a t = "ocaml_libvirt_domain_lookup_by_id" - external lookup_by_uuid : 'a Connect.t -> uuid -> 'a t = "ocaml_libvirt_domain_lookup_by_uuid" - external lookup_by_uuid_string : 'a Connect.t -> string -> 'a t = "ocaml_libvirt_domain_lookup_by_uuid_string" -diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli -index 36cd113..8cfcae2 100644 ---- a/libvirt/libvirt.mli -+++ b/libvirt/libvirt.mli -@@ -1,5 +1,5 @@ - (** OCaml bindings for libvirt. *) --(* (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc. -+(* (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc. - http://libvirt.org/ - - This library is free software; you can redistribute it and/or -@@ -430,6 +430,13 @@ sig - cpu : int; (** real CPU number, -1 if offline *) - } - -+ type domain_create_flag = -+ | START_PAUSED (** Launch guest in paused state *) -+ | START_AUTODESTROY (** Automatically kill guest on close *) -+ | START_BYPASS_CACHE (** Avoid filesystem cache pollution *) -+ | START_FORCE_BOOT (** Discard any managed save *) -+ | START_VALIDATE (** Validate XML against schema *) -+ - type sched_param = string * sched_param_value - and sched_param_value = - | SchedFieldInt32 of int32 | SchedFieldUInt32 of int32 -@@ -478,8 +485,10 @@ sig - - val create_linux : [>`W] Connect.t -> xml -> rw t - (** Create a new guest domain (not necessarily a Linux one) -- from the given XML. -+ from the given XML. Use {!create_xml} instead. - *) -+ val create_xml : [>`W] Connect.t -> xml -> domain_create_flag list -> rw t -+ (** Create a new guest domain from the given XML. *) - val lookup_by_id : 'a Connect.t -> int -> 'a t - (** Lookup a domain by ID. *) - val lookup_by_uuid : 'a Connect.t -> uuid -> 'a t -diff --git a/libvirt/libvirt_c.c b/libvirt/libvirt_c.c -index 71e6f61..6e56682 100644 ---- a/libvirt/libvirt_c.c -+++ b/libvirt/libvirt_c.c -@@ -6,7 +6,7 @@ - */ - - /* OCaml bindings for libvirt. -- * (C) Copyright 2007-2008 Richard W.M. Jones, Red Hat Inc. -+ * (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc. - * http://libvirt.org/ - * - * This library is free software; you can redistribute it and/or -@@ -525,6 +525,29 @@ ocaml_libvirt_domain_create_linux (value connv, value strv) - CAMLreturn (rv); - } - -+/* Automatically generated binding for virDomainCreateXML. -+ * In generator.pl this function has signature "conn, string, unsigned : dom". -+ */ -+ -+CAMLprim value -+ocaml_libvirt_domain_create_xml (value connv, value strv, value uv) -+{ -+ CAMLparam3 (connv, strv, uv); -+ -+ CAMLlocal1 (rv); -+ virConnectPtr conn = Connect_val (connv); -+ char *str = String_val (strv); -+ unsigned int u = Int_val (uv); -+ virDomainPtr r; -+ -+ NONBLOCKING (r = virDomainCreateXML (conn, str, u)); -+ CHECK_ERROR (!r, conn, "virDomainCreateXML"); -+ -+ rv = Val_domain (r, connv); -+ -+ CAMLreturn (rv); -+} -+ - /* Automatically generated binding for virDomainFree. - * In generator.pl this function has signature "dom : free". - */ --- -2.3.1 - diff --git a/0001-Make-const-the-return-value-of-caml_named_value.patch b/0001-Make-const-the-return-value-of-caml_named_value.patch new file mode 100644 index 0000000..c8b7aee --- /dev/null +++ b/0001-Make-const-the-return-value-of-caml_named_value.patch @@ -0,0 +1,38 @@ +From 75b13978f85b32c7a121aa289d8ebf41ba14ee5a Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Thu, 5 Sep 2019 09:57:09 +0200 +Subject: [PATCH] Make const the return value of caml_named_value() + +With OCaml >= 4.09 caml_named_value() returns a const value *, so keep +the constness to build also in this case. + +Signed-off-by: Pino Toscano +--- + libvirt/libvirt_c_oneoffs.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c +index 6f56f10..e23c0db 100644 +--- a/libvirt/libvirt_c_oneoffs.c ++++ b/libvirt/libvirt_c_oneoffs.c +@@ -1207,7 +1207,7 @@ ocaml_libvirt_event_run_default_impl (value unitv) + #define DOMAIN_CALLBACK_BEGIN(NAME) \ + value connv, domv, callback_id, result; \ + connv = domv = callback_id = result = Val_int(0); \ +- static value *callback = NULL; \ ++ static const value *callback = NULL; \ + caml_leave_blocking_section(); \ + if (callback == NULL) \ + callback = caml_named_value(NAME); \ +@@ -1433,7 +1433,7 @@ timeout_callback(int timer, void *opaque) + { + value callback_id, result; + callback_id = result = Val_int(0); +- static value *callback = NULL; ++ static const value *callback = NULL; + caml_leave_blocking_section(); + if (callback == NULL) + callback = caml_named_value("Libvirt.timeout_callback"); +-- +2.23.0 + diff --git a/0001-Remove-unused-not_supported-function.patch b/0001-Remove-unused-not_supported-function.patch deleted file mode 100644 index 851385c..0000000 --- a/0001-Remove-unused-not_supported-function.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 8853f5a49587f00a7d2a5c8c7e52480a16bbdb02 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 5 Feb 2016 16:28:34 +0000 -Subject: [PATCH] Remove unused 'not_supported' function. - -Found by compiling under GCC 6. The warning was: - -In file included from libvirt_c.c:2058:0: -libvirt_c_epilogue.c:89:1: error: 'not_supported' defined but not used [-Werror=unused-function] - not_supported (const char *fn) - ^~~~~~~~~~~~~ ---- - libvirt/libvirt_c_epilogue.c | 15 --------------- - libvirt/libvirt_c_prologue.c | 1 - - 2 files changed, 16 deletions(-) - -diff --git a/libvirt/libvirt_c_epilogue.c b/libvirt/libvirt_c_epilogue.c -index 4972e50..fa592c9 100644 ---- a/libvirt/libvirt_c_epilogue.c -+++ b/libvirt/libvirt_c_epilogue.c -@@ -84,21 +84,6 @@ _raise_virterror (const char *fn) - (void) caml__frame; - } - --/* Raise an error if a function is not supported. */ --static void --not_supported (const char *fn) --{ -- CAMLparam0 (); -- CAMLlocal1 (fnv); -- -- fnv = caml_copy_string (fn); -- caml_raise_with_arg (*caml_named_value ("ocaml_libvirt_not_supported"), fnv); -- -- /*NOTREACHED*/ -- /* Suppresses a compiler warning. */ -- (void) caml__frame; --} -- - /* Convert the virErrorNumber, virErrorDomain and virErrorLevel enums - * into values (longs because they are variants in OCaml). - * -diff --git a/libvirt/libvirt_c_prologue.c b/libvirt/libvirt_c_prologue.c -index bf972e9..710c0d6 100644 ---- a/libvirt/libvirt_c_prologue.c -+++ b/libvirt/libvirt_c_prologue.c -@@ -25,7 +25,6 @@ typedef value (*Val_ptr_t) (void *); - static value Val_opt (void *ptr, Val_ptr_t Val_ptr); - /*static value option_default (value option, value deflt);*/ - static void _raise_virterror (const char *fn) Noreturn; --static void not_supported (const char *fn) Noreturn; - static value Val_virterror (virErrorPtr err); - - /* Use this around synchronous libvirt API calls to release the OCaml --- -2.5.0 - diff --git a/0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch b/0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch deleted file mode 100644 index f365534..0000000 --- a/0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch +++ /dev/null @@ -1,1864 +0,0 @@ -From 68fae1ec3de46fd9eec88fb7c1894ea7ed85ccc9 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 17 Mar 2015 12:51:50 +0000 -Subject: [PATCH 1/2] Suppress errors to stderr and use thread-local - virErrorPtr - -This allows us to capture errors that happen during virConnectOpen, -without spewing error messages on stderr. - -The patch is rather large, only because we don't need to pass the -virConnectPtr argument to CHECK_ERROR/_raise_virterror any longer. ---- - libvirt/generator.pl | 66 ++++++------ - libvirt/libvirt_c.c | 241 +++++++++++++++++-------------------------- - libvirt/libvirt_c_epilogue.c | 4 +- - libvirt/libvirt_c_oneoffs.c | 94 +++++++---------- - libvirt/libvirt_c_prologue.c | 6 +- - 5 files changed, 169 insertions(+), 242 deletions(-) - -diff --git a/libvirt/generator.pl b/libvirt/generator.pl -index 421592b..34801ba 100755 ---- a/libvirt/generator.pl -+++ b/libvirt/generator.pl -@@ -343,17 +343,13 @@ sub gen_unpack_args - if ($_ eq "conn") { - "virConnectPtr conn = Connect_val (connv);" - } elsif ($_ eq "dom") { -- "virDomainPtr dom = Domain_val (domv);\n". -- " virConnectPtr conn = Connect_domv (domv);" -+ "virDomainPtr dom = Domain_val (domv);" - } elsif ($_ eq "net") { -- "virNetworkPtr net = Network_val (netv);\n". -- " virConnectPtr conn = Connect_netv (netv);" -+ "virNetworkPtr net = Network_val (netv);" - } elsif ($_ eq "pool") { -- "virStoragePoolPtr pool = Pool_val (poolv);\n". -- " virConnectPtr conn = Connect_polv (poolv);" -+ "virStoragePoolPtr pool = Pool_val (poolv);" - } elsif ($_ eq "vol") { -- "virStorageVolPtr vol = Volume_val (volv);\n". -- " virConnectPtr conn = Connect_volv (volv);" -+ "virStorageVolPtr vol = Volume_val (volv);" - } else { - die "unknown short name $_" - } -@@ -402,7 +398,7 @@ sub gen_c_code - char *r; - - NONBLOCKING (r = $c_name ($1)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - rv = caml_copy_string (r); - free (r); -@@ -415,7 +411,7 @@ sub gen_c_code - const char *r; - - NONBLOCKING (r = $c_name ($1)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - rv = caml_copy_string (r); - CAMLreturn (rv); -@@ -426,7 +422,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - CAMLreturn (Val_int (r)); - " -@@ -438,7 +434,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1, uuid)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - /* UUIDs are byte arrays with a fixed length. */ - rv = caml_alloc_string (VIR_UUID_BUFLEN); -@@ -453,7 +449,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1, uuid)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - rv = caml_copy_string (uuid); - CAMLreturn (rv); -@@ -464,7 +460,7 @@ sub gen_c_code - int r, b; - - NONBLOCKING (r = $c_name ($1, &b)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - CAMLreturn (b ? Val_true : Val_false); - " -@@ -476,7 +472,7 @@ sub gen_c_code - b = bv == Val_true ? 1 : 0; - - NONBLOCKING (r = $c_name ($1, b)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - CAMLreturn (Val_unit); - " -@@ -498,7 +494,7 @@ sub gen_c_code - } - - NONBLOCKING (r = $c_name (conn, ids, i)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) -@@ -525,7 +521,7 @@ sub gen_c_code - } - - NONBLOCKING (r = $c_name ($1, names, i)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -543,7 +539,7 @@ sub gen_c_code - char *r; - - NONBLOCKING (r = $c_name ($1, 0)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - rv = caml_copy_string (r); - free (r); -@@ -555,7 +551,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1, 0)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - CAMLreturn (Val_unit); - " -@@ -565,7 +561,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - CAMLreturn (Val_unit); - " -@@ -575,7 +571,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - /* So that we don't double-free in the finalizer: */ - " . gen_free_arg ($1) . " -@@ -589,7 +585,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1, str)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - CAMLreturn (Val_unit); - " -@@ -601,7 +597,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1, str, 0)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - CAMLreturn (Val_unit); - " -@@ -614,7 +610,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, str)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - " . gen_pack_result ($2) . " - -@@ -629,7 +625,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, str, 0)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - " . gen_pack_result ($2) . " - -@@ -645,7 +641,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, str, u)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - " . gen_pack_result ($2) . " - -@@ -659,7 +655,7 @@ sub gen_c_code - int r; - - NONBLOCKING (r = $c_name ($1, i)); -- CHECK_ERROR (r == -1, conn, \"$c_name\"); -+ CHECK_ERROR (r == -1, \"$c_name\"); - - CAMLreturn (Val_unit); - " -@@ -673,7 +669,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, i)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - " . gen_pack_result ($3) . " - -@@ -688,7 +684,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, uuid)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - " . gen_pack_result ($2) . " - -@@ -702,7 +698,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, 0)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - " . gen_pack_result ($2) . " - -@@ -716,7 +712,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - " . gen_pack_result ($2) . " - -@@ -731,7 +727,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, str)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - connv = Field ($3v, 1); - " . gen_pack_result ($2) . " -@@ -747,7 +743,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, str, 0)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - connv = Field ($3v, 1); - " . gen_pack_result ($2) . " -@@ -762,7 +758,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1, 0)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - connv = Field ($3v, 1); - " . gen_pack_result ($2) . " -@@ -777,7 +773,7 @@ sub gen_c_code - $c_ret_type r; - - NONBLOCKING (r = $c_name ($1)); -- CHECK_ERROR (!r, conn, \"$c_name\"); -+ CHECK_ERROR (!r, \"$c_name\"); - - connv = Field ($3v, 1); - " . gen_pack_result ($2) . " -diff --git a/libvirt/libvirt_c.c b/libvirt/libvirt_c.c -index 6e56682..8d51944 100644 ---- a/libvirt/libvirt_c.c -+++ b/libvirt/libvirt_c.c -@@ -61,7 +61,7 @@ ocaml_libvirt_connect_close (value connv) - int r; - - NONBLOCKING (r = virConnectClose (conn)); -- CHECK_ERROR (r == -1, conn, "virConnectClose"); -+ CHECK_ERROR (r == -1, "virConnectClose"); - - /* So that we don't double-free in the finalizer: */ - Connect_val (connv) = NULL; -@@ -83,7 +83,7 @@ ocaml_libvirt_connect_get_hostname (value connv) - char *r; - - NONBLOCKING (r = virConnectGetHostname (conn)); -- CHECK_ERROR (!r, conn, "virConnectGetHostname"); -+ CHECK_ERROR (!r, "virConnectGetHostname"); - - rv = caml_copy_string (r); - free (r); -@@ -104,7 +104,7 @@ ocaml_libvirt_connect_get_uri (value connv) - char *r; - - NONBLOCKING (r = virConnectGetURI (conn)); -- CHECK_ERROR (!r, conn, "virConnectGetURI"); -+ CHECK_ERROR (!r, "virConnectGetURI"); - - rv = caml_copy_string (r); - free (r); -@@ -125,7 +125,7 @@ ocaml_libvirt_connect_get_type (value connv) - const char *r; - - NONBLOCKING (r = virConnectGetType (conn)); -- CHECK_ERROR (!r, conn, "virConnectGetType"); -+ CHECK_ERROR (!r, "virConnectGetType"); - - rv = caml_copy_string (r); - CAMLreturn (rv); -@@ -144,7 +144,7 @@ ocaml_libvirt_connect_num_of_domains (value connv) - int r; - - NONBLOCKING (r = virConnectNumOfDomains (conn)); -- CHECK_ERROR (r == -1, conn, "virConnectNumOfDomains"); -+ CHECK_ERROR (r == -1, "virConnectNumOfDomains"); - - CAMLreturn (Val_int (r)); - } -@@ -174,7 +174,7 @@ ocaml_libvirt_connect_list_domains (value connv, value iv) - } - - NONBLOCKING (r = virConnectListDomains (conn, ids, i)); -- CHECK_ERROR (r == -1, conn, "virConnectListDomains"); -+ CHECK_ERROR (r == -1, "virConnectListDomains"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) -@@ -196,7 +196,7 @@ ocaml_libvirt_connect_num_of_defined_domains (value connv) - int r; - - NONBLOCKING (r = virConnectNumOfDefinedDomains (conn)); -- CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedDomains"); -+ CHECK_ERROR (r == -1, "virConnectNumOfDefinedDomains"); - - CAMLreturn (Val_int (r)); - } -@@ -227,7 +227,7 @@ ocaml_libvirt_connect_list_defined_domains (value connv, value iv) - } - - NONBLOCKING (r = virConnectListDefinedDomains (conn, names, i)); -- CHECK_ERROR (r == -1, conn, "virConnectListDefinedDomains"); -+ CHECK_ERROR (r == -1, "virConnectListDefinedDomains"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -252,7 +252,7 @@ ocaml_libvirt_connect_num_of_networks (value connv) - int r; - - NONBLOCKING (r = virConnectNumOfNetworks (conn)); -- CHECK_ERROR (r == -1, conn, "virConnectNumOfNetworks"); -+ CHECK_ERROR (r == -1, "virConnectNumOfNetworks"); - - CAMLreturn (Val_int (r)); - } -@@ -283,7 +283,7 @@ ocaml_libvirt_connect_list_networks (value connv, value iv) - } - - NONBLOCKING (r = virConnectListNetworks (conn, names, i)); -- CHECK_ERROR (r == -1, conn, "virConnectListNetworks"); -+ CHECK_ERROR (r == -1, "virConnectListNetworks"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -308,7 +308,7 @@ ocaml_libvirt_connect_num_of_defined_networks (value connv) - int r; - - NONBLOCKING (r = virConnectNumOfDefinedNetworks (conn)); -- CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedNetworks"); -+ CHECK_ERROR (r == -1, "virConnectNumOfDefinedNetworks"); - - CAMLreturn (Val_int (r)); - } -@@ -339,7 +339,7 @@ ocaml_libvirt_connect_list_defined_networks (value connv, value iv) - } - - NONBLOCKING (r = virConnectListDefinedNetworks (conn, names, i)); -- CHECK_ERROR (r == -1, conn, "virConnectListDefinedNetworks"); -+ CHECK_ERROR (r == -1, "virConnectListDefinedNetworks"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -364,7 +364,7 @@ ocaml_libvirt_connect_num_of_storage_pools (value connv) - int r; - - NONBLOCKING (r = virConnectNumOfStoragePools (conn)); -- CHECK_ERROR (r == -1, conn, "virConnectNumOfStoragePools"); -+ CHECK_ERROR (r == -1, "virConnectNumOfStoragePools"); - - CAMLreturn (Val_int (r)); - } -@@ -395,7 +395,7 @@ ocaml_libvirt_connect_list_storage_pools (value connv, value iv) - } - - NONBLOCKING (r = virConnectListStoragePools (conn, names, i)); -- CHECK_ERROR (r == -1, conn, "virConnectListStoragePools"); -+ CHECK_ERROR (r == -1, "virConnectListStoragePools"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -420,7 +420,7 @@ ocaml_libvirt_connect_num_of_defined_storage_pools (value connv) - int r; - - NONBLOCKING (r = virConnectNumOfDefinedStoragePools (conn)); -- CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedStoragePools"); -+ CHECK_ERROR (r == -1, "virConnectNumOfDefinedStoragePools"); - - CAMLreturn (Val_int (r)); - } -@@ -451,7 +451,7 @@ ocaml_libvirt_connect_list_defined_storage_pools (value connv, value iv) - } - - NONBLOCKING (r = virConnectListDefinedStoragePools (conn, names, i)); -- CHECK_ERROR (r == -1, conn, "virConnectListDefinedStoragePools"); -+ CHECK_ERROR (r == -1, "virConnectListDefinedStoragePools"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -477,7 +477,7 @@ ocaml_libvirt_connect_get_capabilities (value connv) - char *r; - - NONBLOCKING (r = virConnectGetCapabilities (conn)); -- CHECK_ERROR (!r, conn, "virConnectGetCapabilities"); -+ CHECK_ERROR (!r, "virConnectGetCapabilities"); - - rv = caml_copy_string (r); - free (r); -@@ -498,7 +498,7 @@ ocaml_libvirt_connect_domain_event_deregister_any (value connv, value iv) - int r; - - NONBLOCKING (r = virConnectDomainEventDeregisterAny (conn, i)); -- CHECK_ERROR (r == -1, conn, "virConnectDomainEventDeregisterAny"); -+ CHECK_ERROR (r == -1, "virConnectDomainEventDeregisterAny"); - - CAMLreturn (Val_unit); - } -@@ -518,7 +518,7 @@ ocaml_libvirt_domain_create_linux (value connv, value strv) - virDomainPtr r; - - NONBLOCKING (r = virDomainCreateLinux (conn, str, 0)); -- CHECK_ERROR (!r, conn, "virDomainCreateLinux"); -+ CHECK_ERROR (!r, "virDomainCreateLinux"); - - rv = Val_domain (r, connv); - -@@ -541,7 +541,7 @@ ocaml_libvirt_domain_create_xml (value connv, value strv, value uv) - virDomainPtr r; - - NONBLOCKING (r = virDomainCreateXML (conn, str, u)); -- CHECK_ERROR (!r, conn, "virDomainCreateXML"); -+ CHECK_ERROR (!r, "virDomainCreateXML"); - - rv = Val_domain (r, connv); - -@@ -558,11 +558,10 @@ ocaml_libvirt_domain_free (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainFree (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainFree"); -+ CHECK_ERROR (r == -1, "virDomainFree"); - - /* So that we don't double-free in the finalizer: */ - Domain_val (domv) = NULL; -@@ -580,11 +579,10 @@ ocaml_libvirt_domain_destroy (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainDestroy (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainDestroy"); -+ CHECK_ERROR (r == -1, "virDomainDestroy"); - - /* So that we don't double-free in the finalizer: */ - Domain_val (domv) = NULL; -@@ -607,7 +605,7 @@ ocaml_libvirt_domain_lookup_by_name (value connv, value strv) - virDomainPtr r; - - NONBLOCKING (r = virDomainLookupByName (conn, str)); -- CHECK_ERROR (!r, conn, "virDomainLookupByName"); -+ CHECK_ERROR (!r, "virDomainLookupByName"); - - rv = Val_domain (r, connv); - -@@ -629,7 +627,7 @@ ocaml_libvirt_domain_lookup_by_id (value connv, value iv) - virDomainPtr r; - - NONBLOCKING (r = virDomainLookupByID (conn, i)); -- CHECK_ERROR (!r, conn, "virDomainLookupByID"); -+ CHECK_ERROR (!r, "virDomainLookupByID"); - - rv = Val_domain (r, connv); - -@@ -651,7 +649,7 @@ ocaml_libvirt_domain_lookup_by_uuid (value connv, value uuidv) - virDomainPtr r; - - NONBLOCKING (r = virDomainLookupByUUID (conn, uuid)); -- CHECK_ERROR (!r, conn, "virDomainLookupByUUID"); -+ CHECK_ERROR (!r, "virDomainLookupByUUID"); - - rv = Val_domain (r, connv); - -@@ -673,7 +671,7 @@ ocaml_libvirt_domain_lookup_by_uuid_string (value connv, value strv) - virDomainPtr r; - - NONBLOCKING (r = virDomainLookupByUUIDString (conn, str)); -- CHECK_ERROR (!r, conn, "virDomainLookupByUUIDString"); -+ CHECK_ERROR (!r, "virDomainLookupByUUIDString"); - - rv = Val_domain (r, connv); - -@@ -691,11 +689,10 @@ ocaml_libvirt_domain_get_name (value domv) - - CAMLlocal1 (rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - const char *r; - - NONBLOCKING (r = virDomainGetName (dom)); -- CHECK_ERROR (!r, conn, "virDomainGetName"); -+ CHECK_ERROR (!r, "virDomainGetName"); - - rv = caml_copy_string (r); - CAMLreturn (rv); -@@ -712,11 +709,10 @@ ocaml_libvirt_domain_get_os_type (value domv) - - CAMLlocal1 (rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *r; - - NONBLOCKING (r = virDomainGetOSType (dom)); -- CHECK_ERROR (!r, conn, "virDomainGetOSType"); -+ CHECK_ERROR (!r, "virDomainGetOSType"); - - rv = caml_copy_string (r); - free (r); -@@ -734,11 +730,10 @@ ocaml_libvirt_domain_get_xml_desc (value domv) - - CAMLlocal1 (rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *r; - - NONBLOCKING (r = virDomainGetXMLDesc (dom, 0)); -- CHECK_ERROR (!r, conn, "virDomainGetXMLDesc"); -+ CHECK_ERROR (!r, "virDomainGetXMLDesc"); - - rv = caml_copy_string (r); - free (r); -@@ -756,12 +751,11 @@ ocaml_libvirt_domain_get_uuid (value domv) - - CAMLlocal1 (rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - unsigned char uuid[VIR_UUID_BUFLEN]; - int r; - - NONBLOCKING (r = virDomainGetUUID (dom, uuid)); -- CHECK_ERROR (r == -1, conn, "virDomainGetUUID"); -+ CHECK_ERROR (r == -1, "virDomainGetUUID"); - - /* UUIDs are byte arrays with a fixed length. */ - rv = caml_alloc_string (VIR_UUID_BUFLEN); -@@ -780,12 +774,11 @@ ocaml_libvirt_domain_get_uuid_string (value domv) - - CAMLlocal1 (rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char uuid[VIR_UUID_STRING_BUFLEN]; - int r; - - NONBLOCKING (r = virDomainGetUUIDString (dom, uuid)); -- CHECK_ERROR (r == -1, conn, "virDomainGetUUIDString"); -+ CHECK_ERROR (r == -1, "virDomainGetUUIDString"); - - rv = caml_copy_string (uuid); - CAMLreturn (rv); -@@ -801,11 +794,10 @@ ocaml_libvirt_domain_get_max_vcpus (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainGetMaxVcpus (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainGetMaxVcpus"); -+ CHECK_ERROR (r == -1, "virDomainGetMaxVcpus"); - - CAMLreturn (Val_int (r)); - } -@@ -820,12 +812,11 @@ ocaml_libvirt_domain_save (value domv, value strv) - CAMLparam2 (domv, strv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *str = String_val (strv); - int r; - - NONBLOCKING (r = virDomainSave (dom, str)); -- CHECK_ERROR (r == -1, conn, "virDomainSave"); -+ CHECK_ERROR (r == -1, "virDomainSave"); - - CAMLreturn (Val_unit); - } -@@ -844,7 +835,7 @@ ocaml_libvirt_domain_restore (value connv, value strv) - int r; - - NONBLOCKING (r = virDomainRestore (conn, str)); -- CHECK_ERROR (r == -1, conn, "virDomainRestore"); -+ CHECK_ERROR (r == -1, "virDomainRestore"); - - CAMLreturn (Val_unit); - } -@@ -860,12 +851,11 @@ ocaml_libvirt_domain_core_dump (value domv, value strv) - - CAMLlocal1 (rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *str = String_val (strv); - int r; - - NONBLOCKING (r = virDomainCoreDump (dom, str, 0)); -- CHECK_ERROR (!r, conn, "virDomainCoreDump"); -+ CHECK_ERROR (!r, "virDomainCoreDump"); - - CAMLreturn (Val_unit); - } -@@ -880,11 +870,10 @@ ocaml_libvirt_domain_suspend (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainSuspend (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainSuspend"); -+ CHECK_ERROR (r == -1, "virDomainSuspend"); - - CAMLreturn (Val_unit); - } -@@ -899,11 +888,10 @@ ocaml_libvirt_domain_resume (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainResume (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainResume"); -+ CHECK_ERROR (r == -1, "virDomainResume"); - - CAMLreturn (Val_unit); - } -@@ -918,11 +906,10 @@ ocaml_libvirt_domain_shutdown (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainShutdown (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainShutdown"); -+ CHECK_ERROR (r == -1, "virDomainShutdown"); - - CAMLreturn (Val_unit); - } -@@ -937,11 +924,10 @@ ocaml_libvirt_domain_reboot (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainReboot (dom, 0)); -- CHECK_ERROR (r == -1, conn, "virDomainReboot"); -+ CHECK_ERROR (r == -1, "virDomainReboot"); - - CAMLreturn (Val_unit); - } -@@ -961,7 +947,7 @@ ocaml_libvirt_domain_define_xml (value connv, value strv) - virDomainPtr r; - - NONBLOCKING (r = virDomainDefineXML (conn, str)); -- CHECK_ERROR (!r, conn, "virDomainDefineXML"); -+ CHECK_ERROR (!r, "virDomainDefineXML"); - - rv = Val_domain (r, connv); - -@@ -978,11 +964,10 @@ ocaml_libvirt_domain_undefine (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainUndefine (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainUndefine"); -+ CHECK_ERROR (r == -1, "virDomainUndefine"); - - CAMLreturn (Val_unit); - } -@@ -997,11 +982,10 @@ ocaml_libvirt_domain_create (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r; - - NONBLOCKING (r = virDomainCreate (dom)); -- CHECK_ERROR (r == -1, conn, "virDomainCreate"); -+ CHECK_ERROR (r == -1, "virDomainCreate"); - - CAMLreturn (Val_unit); - } -@@ -1016,12 +1000,11 @@ ocaml_libvirt_domain_attach_device (value domv, value strv) - CAMLparam2 (domv, strv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *str = String_val (strv); - int r; - - NONBLOCKING (r = virDomainAttachDevice (dom, str)); -- CHECK_ERROR (r == -1, conn, "virDomainAttachDevice"); -+ CHECK_ERROR (r == -1, "virDomainAttachDevice"); - - CAMLreturn (Val_unit); - } -@@ -1036,12 +1019,11 @@ ocaml_libvirt_domain_detach_device (value domv, value strv) - CAMLparam2 (domv, strv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *str = String_val (strv); - int r; - - NONBLOCKING (r = virDomainDetachDevice (dom, str)); -- CHECK_ERROR (r == -1, conn, "virDomainDetachDevice"); -+ CHECK_ERROR (r == -1, "virDomainDetachDevice"); - - CAMLreturn (Val_unit); - } -@@ -1056,11 +1038,10 @@ ocaml_libvirt_domain_get_autostart (value domv) - CAMLparam1 (domv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r, b; - - NONBLOCKING (r = virDomainGetAutostart (dom, &b)); -- CHECK_ERROR (r == -1, conn, "virDomainGetAutostart"); -+ CHECK_ERROR (r == -1, "virDomainGetAutostart"); - - CAMLreturn (b ? Val_true : Val_false); - } -@@ -1075,13 +1056,12 @@ ocaml_libvirt_domain_set_autostart (value domv, value bv) - CAMLparam2 (domv, bv); - - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r, b; - - b = bv == Val_true ? 1 : 0; - - NONBLOCKING (r = virDomainSetAutostart (dom, b)); -- CHECK_ERROR (r == -1, conn, "virDomainSetAutostart"); -+ CHECK_ERROR (r == -1, "virDomainSetAutostart"); - - CAMLreturn (Val_unit); - } -@@ -1096,11 +1076,10 @@ ocaml_libvirt_network_free (value netv) - CAMLparam1 (netv); - - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - int r; - - NONBLOCKING (r = virNetworkFree (net)); -- CHECK_ERROR (r == -1, conn, "virNetworkFree"); -+ CHECK_ERROR (r == -1, "virNetworkFree"); - - /* So that we don't double-free in the finalizer: */ - Network_val (netv) = NULL; -@@ -1118,11 +1097,10 @@ ocaml_libvirt_network_destroy (value netv) - CAMLparam1 (netv); - - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - int r; - - NONBLOCKING (r = virNetworkDestroy (net)); -- CHECK_ERROR (r == -1, conn, "virNetworkDestroy"); -+ CHECK_ERROR (r == -1, "virNetworkDestroy"); - - /* So that we don't double-free in the finalizer: */ - Network_val (netv) = NULL; -@@ -1145,7 +1123,7 @@ ocaml_libvirt_network_lookup_by_name (value connv, value strv) - virNetworkPtr r; - - NONBLOCKING (r = virNetworkLookupByName (conn, str)); -- CHECK_ERROR (!r, conn, "virNetworkLookupByName"); -+ CHECK_ERROR (!r, "virNetworkLookupByName"); - - rv = Val_network (r, connv); - -@@ -1167,7 +1145,7 @@ ocaml_libvirt_network_lookup_by_uuid (value connv, value uuidv) - virNetworkPtr r; - - NONBLOCKING (r = virNetworkLookupByUUID (conn, uuid)); -- CHECK_ERROR (!r, conn, "virNetworkLookupByUUID"); -+ CHECK_ERROR (!r, "virNetworkLookupByUUID"); - - rv = Val_network (r, connv); - -@@ -1189,7 +1167,7 @@ ocaml_libvirt_network_lookup_by_uuid_string (value connv, value strv) - virNetworkPtr r; - - NONBLOCKING (r = virNetworkLookupByUUIDString (conn, str)); -- CHECK_ERROR (!r, conn, "virNetworkLookupByUUIDString"); -+ CHECK_ERROR (!r, "virNetworkLookupByUUIDString"); - - rv = Val_network (r, connv); - -@@ -1207,11 +1185,10 @@ ocaml_libvirt_network_get_name (value netv) - - CAMLlocal1 (rv); - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - const char *r; - - NONBLOCKING (r = virNetworkGetName (net)); -- CHECK_ERROR (!r, conn, "virNetworkGetName"); -+ CHECK_ERROR (!r, "virNetworkGetName"); - - rv = caml_copy_string (r); - CAMLreturn (rv); -@@ -1228,11 +1205,10 @@ ocaml_libvirt_network_get_xml_desc (value netv) - - CAMLlocal1 (rv); - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - char *r; - - NONBLOCKING (r = virNetworkGetXMLDesc (net, 0)); -- CHECK_ERROR (!r, conn, "virNetworkGetXMLDesc"); -+ CHECK_ERROR (!r, "virNetworkGetXMLDesc"); - - rv = caml_copy_string (r); - free (r); -@@ -1250,11 +1226,10 @@ ocaml_libvirt_network_get_bridge_name (value netv) - - CAMLlocal1 (rv); - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - char *r; - - NONBLOCKING (r = virNetworkGetBridgeName (net)); -- CHECK_ERROR (!r, conn, "virNetworkGetBridgeName"); -+ CHECK_ERROR (!r, "virNetworkGetBridgeName"); - - rv = caml_copy_string (r); - free (r); -@@ -1272,12 +1247,11 @@ ocaml_libvirt_network_get_uuid (value netv) - - CAMLlocal1 (rv); - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - unsigned char uuid[VIR_UUID_BUFLEN]; - int r; - - NONBLOCKING (r = virNetworkGetUUID (net, uuid)); -- CHECK_ERROR (r == -1, conn, "virNetworkGetUUID"); -+ CHECK_ERROR (r == -1, "virNetworkGetUUID"); - - /* UUIDs are byte arrays with a fixed length. */ - rv = caml_alloc_string (VIR_UUID_BUFLEN); -@@ -1296,12 +1270,11 @@ ocaml_libvirt_network_get_uuid_string (value netv) - - CAMLlocal1 (rv); - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - char uuid[VIR_UUID_STRING_BUFLEN]; - int r; - - NONBLOCKING (r = virNetworkGetUUIDString (net, uuid)); -- CHECK_ERROR (r == -1, conn, "virNetworkGetUUIDString"); -+ CHECK_ERROR (r == -1, "virNetworkGetUUIDString"); - - rv = caml_copy_string (uuid); - CAMLreturn (rv); -@@ -1317,11 +1290,10 @@ ocaml_libvirt_network_undefine (value netv) - CAMLparam1 (netv); - - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - int r; - - NONBLOCKING (r = virNetworkUndefine (net)); -- CHECK_ERROR (r == -1, conn, "virNetworkUndefine"); -+ CHECK_ERROR (r == -1, "virNetworkUndefine"); - - CAMLreturn (Val_unit); - } -@@ -1341,7 +1313,7 @@ ocaml_libvirt_network_create_xml (value connv, value strv) - virNetworkPtr r; - - NONBLOCKING (r = virNetworkCreateXML (conn, str)); -- CHECK_ERROR (!r, conn, "virNetworkCreateXML"); -+ CHECK_ERROR (!r, "virNetworkCreateXML"); - - rv = Val_network (r, connv); - -@@ -1363,7 +1335,7 @@ ocaml_libvirt_network_define_xml (value connv, value strv) - virNetworkPtr r; - - NONBLOCKING (r = virNetworkDefineXML (conn, str)); -- CHECK_ERROR (!r, conn, "virNetworkDefineXML"); -+ CHECK_ERROR (!r, "virNetworkDefineXML"); - - rv = Val_network (r, connv); - -@@ -1380,11 +1352,10 @@ ocaml_libvirt_network_create (value netv) - CAMLparam1 (netv); - - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - int r; - - NONBLOCKING (r = virNetworkCreate (net)); -- CHECK_ERROR (r == -1, conn, "virNetworkCreate"); -+ CHECK_ERROR (r == -1, "virNetworkCreate"); - - CAMLreturn (Val_unit); - } -@@ -1399,11 +1370,10 @@ ocaml_libvirt_network_get_autostart (value netv) - CAMLparam1 (netv); - - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - int r, b; - - NONBLOCKING (r = virNetworkGetAutostart (net, &b)); -- CHECK_ERROR (r == -1, conn, "virNetworkGetAutostart"); -+ CHECK_ERROR (r == -1, "virNetworkGetAutostart"); - - CAMLreturn (b ? Val_true : Val_false); - } -@@ -1418,13 +1388,12 @@ ocaml_libvirt_network_set_autostart (value netv, value bv) - CAMLparam2 (netv, bv); - - virNetworkPtr net = Network_val (netv); -- virConnectPtr conn = Connect_netv (netv); - int r, b; - - b = bv == Val_true ? 1 : 0; - - NONBLOCKING (r = virNetworkSetAutostart (net, b)); -- CHECK_ERROR (r == -1, conn, "virNetworkSetAutostart"); -+ CHECK_ERROR (r == -1, "virNetworkSetAutostart"); - - CAMLreturn (Val_unit); - } -@@ -1439,11 +1408,10 @@ ocaml_libvirt_storage_pool_free (value poolv) - CAMLparam1 (poolv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r; - - NONBLOCKING (r = virStoragePoolFree (pool)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolFree"); -+ CHECK_ERROR (r == -1, "virStoragePoolFree"); - - /* So that we don't double-free in the finalizer: */ - Pool_val (poolv) = NULL; -@@ -1461,11 +1429,10 @@ ocaml_libvirt_storage_pool_destroy (value poolv) - CAMLparam1 (poolv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r; - - NONBLOCKING (r = virStoragePoolDestroy (pool)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolDestroy"); -+ CHECK_ERROR (r == -1, "virStoragePoolDestroy"); - - /* So that we don't double-free in the finalizer: */ - Pool_val (poolv) = NULL; -@@ -1488,7 +1455,7 @@ ocaml_libvirt_storage_pool_lookup_by_name (value connv, value strv) - virStoragePoolPtr r; - - NONBLOCKING (r = virStoragePoolLookupByName (conn, str)); -- CHECK_ERROR (!r, conn, "virStoragePoolLookupByName"); -+ CHECK_ERROR (!r, "virStoragePoolLookupByName"); - - rv = Val_pool (r, connv); - -@@ -1510,7 +1477,7 @@ ocaml_libvirt_storage_pool_lookup_by_uuid (value connv, value uuidv) - virStoragePoolPtr r; - - NONBLOCKING (r = virStoragePoolLookupByUUID (conn, uuid)); -- CHECK_ERROR (!r, conn, "virStoragePoolLookupByUUID"); -+ CHECK_ERROR (!r, "virStoragePoolLookupByUUID"); - - rv = Val_pool (r, connv); - -@@ -1532,7 +1499,7 @@ ocaml_libvirt_storage_pool_lookup_by_uuid_string (value connv, value strv) - virStoragePoolPtr r; - - NONBLOCKING (r = virStoragePoolLookupByUUIDString (conn, str)); -- CHECK_ERROR (!r, conn, "virStoragePoolLookupByUUIDString"); -+ CHECK_ERROR (!r, "virStoragePoolLookupByUUIDString"); - - rv = Val_pool (r, connv); - -@@ -1550,11 +1517,10 @@ ocaml_libvirt_storage_pool_get_name (value poolv) - - CAMLlocal1 (rv); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - const char *r; - - NONBLOCKING (r = virStoragePoolGetName (pool)); -- CHECK_ERROR (!r, conn, "virStoragePoolGetName"); -+ CHECK_ERROR (!r, "virStoragePoolGetName"); - - rv = caml_copy_string (r); - CAMLreturn (rv); -@@ -1571,11 +1537,10 @@ ocaml_libvirt_storage_pool_get_xml_desc (value poolv) - - CAMLlocal1 (rv); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - char *r; - - NONBLOCKING (r = virStoragePoolGetXMLDesc (pool, 0)); -- CHECK_ERROR (!r, conn, "virStoragePoolGetXMLDesc"); -+ CHECK_ERROR (!r, "virStoragePoolGetXMLDesc"); - - rv = caml_copy_string (r); - free (r); -@@ -1593,12 +1558,11 @@ ocaml_libvirt_storage_pool_get_uuid (value poolv) - - CAMLlocal1 (rv); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - unsigned char uuid[VIR_UUID_BUFLEN]; - int r; - - NONBLOCKING (r = virStoragePoolGetUUID (pool, uuid)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUID"); -+ CHECK_ERROR (r == -1, "virStoragePoolGetUUID"); - - /* UUIDs are byte arrays with a fixed length. */ - rv = caml_alloc_string (VIR_UUID_BUFLEN); -@@ -1617,12 +1581,11 @@ ocaml_libvirt_storage_pool_get_uuid_string (value poolv) - - CAMLlocal1 (rv); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - char uuid[VIR_UUID_STRING_BUFLEN]; - int r; - - NONBLOCKING (r = virStoragePoolGetUUIDString (pool, uuid)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUIDString"); -+ CHECK_ERROR (r == -1, "virStoragePoolGetUUIDString"); - - rv = caml_copy_string (uuid); - CAMLreturn (rv); -@@ -1643,7 +1606,7 @@ ocaml_libvirt_storage_pool_create_xml (value connv, value strv) - virStoragePoolPtr r; - - NONBLOCKING (r = virStoragePoolCreateXML (conn, str, 0)); -- CHECK_ERROR (!r, conn, "virStoragePoolCreateXML"); -+ CHECK_ERROR (!r, "virStoragePoolCreateXML"); - - rv = Val_pool (r, connv); - -@@ -1665,7 +1628,7 @@ ocaml_libvirt_storage_pool_define_xml (value connv, value strv) - virStoragePoolPtr r; - - NONBLOCKING (r = virStoragePoolDefineXML (conn, str, 0)); -- CHECK_ERROR (!r, conn, "virStoragePoolDefineXML"); -+ CHECK_ERROR (!r, "virStoragePoolDefineXML"); - - rv = Val_pool (r, connv); - -@@ -1682,12 +1645,11 @@ ocaml_libvirt_storage_pool_build (value poolv, value iv) - CAMLparam2 (poolv, iv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - unsigned int i = Int_val (iv); - int r; - - NONBLOCKING (r = virStoragePoolBuild (pool, i)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolBuild"); -+ CHECK_ERROR (r == -1, "virStoragePoolBuild"); - - CAMLreturn (Val_unit); - } -@@ -1702,11 +1664,10 @@ ocaml_libvirt_storage_pool_undefine (value poolv) - CAMLparam1 (poolv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r; - - NONBLOCKING (r = virStoragePoolUndefine (pool)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolUndefine"); -+ CHECK_ERROR (r == -1, "virStoragePoolUndefine"); - - CAMLreturn (Val_unit); - } -@@ -1721,11 +1682,10 @@ ocaml_libvirt_storage_pool_create (value poolv) - CAMLparam1 (poolv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r; - - NONBLOCKING (r = virStoragePoolCreate (pool, 0)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolCreate"); -+ CHECK_ERROR (r == -1, "virStoragePoolCreate"); - - CAMLreturn (Val_unit); - } -@@ -1740,12 +1700,11 @@ ocaml_libvirt_storage_pool_delete (value poolv, value iv) - CAMLparam2 (poolv, iv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - unsigned int i = Int_val (iv); - int r; - - NONBLOCKING (r = virStoragePoolDelete (pool, i)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolDelete"); -+ CHECK_ERROR (r == -1, "virStoragePoolDelete"); - - CAMLreturn (Val_unit); - } -@@ -1760,11 +1719,10 @@ ocaml_libvirt_storage_pool_refresh (value poolv) - CAMLparam1 (poolv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r; - - NONBLOCKING (r = virStoragePoolRefresh (pool, 0)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolRefresh"); -+ CHECK_ERROR (r == -1, "virStoragePoolRefresh"); - - CAMLreturn (Val_unit); - } -@@ -1779,11 +1737,10 @@ ocaml_libvirt_storage_pool_get_autostart (value poolv) - CAMLparam1 (poolv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r, b; - - NONBLOCKING (r = virStoragePoolGetAutostart (pool, &b)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolGetAutostart"); -+ CHECK_ERROR (r == -1, "virStoragePoolGetAutostart"); - - CAMLreturn (b ? Val_true : Val_false); - } -@@ -1798,13 +1755,12 @@ ocaml_libvirt_storage_pool_set_autostart (value poolv, value bv) - CAMLparam2 (poolv, bv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r, b; - - b = bv == Val_true ? 1 : 0; - - NONBLOCKING (r = virStoragePoolSetAutostart (pool, b)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolSetAutostart"); -+ CHECK_ERROR (r == -1, "virStoragePoolSetAutostart"); - - CAMLreturn (Val_unit); - } -@@ -1819,11 +1775,10 @@ ocaml_libvirt_storage_pool_num_of_volumes (value poolv) - CAMLparam1 (poolv); - - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int r; - - NONBLOCKING (r = virStoragePoolNumOfVolumes (pool)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolNumOfVolumes"); -+ CHECK_ERROR (r == -1, "virStoragePoolNumOfVolumes"); - - CAMLreturn (Val_int (r)); - } -@@ -1839,7 +1794,6 @@ ocaml_libvirt_storage_pool_list_volumes (value poolv, value iv) - - CAMLlocal2 (rv, strv); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - int i = Int_val (iv); - char *names[i]; - int r; -@@ -1855,7 +1809,7 @@ ocaml_libvirt_storage_pool_list_volumes (value poolv, value iv) - } - - NONBLOCKING (r = virStoragePoolListVolumes (pool, names, i)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolListVolumes"); -+ CHECK_ERROR (r == -1, "virStoragePoolListVolumes"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -1877,11 +1831,10 @@ ocaml_libvirt_storage_vol_free (value volv) - CAMLparam1 (volv); - - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - int r; - - NONBLOCKING (r = virStorageVolFree (vol)); -- CHECK_ERROR (r == -1, conn, "virStorageVolFree"); -+ CHECK_ERROR (r == -1, "virStorageVolFree"); - - /* So that we don't double-free in the finalizer: */ - Volume_val (volv) = NULL; -@@ -1899,12 +1852,11 @@ ocaml_libvirt_storage_vol_delete (value volv, value iv) - CAMLparam2 (volv, iv); - - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - unsigned int i = Int_val (iv); - int r; - - NONBLOCKING (r = virStorageVolDelete (vol, i)); -- CHECK_ERROR (r == -1, conn, "virStorageVolDelete"); -+ CHECK_ERROR (r == -1, "virStorageVolDelete"); - - CAMLreturn (Val_unit); - } -@@ -1920,12 +1872,11 @@ ocaml_libvirt_storage_vol_lookup_by_name (value poolv, value strv) - - CAMLlocal2 (rv, connv); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - char *str = String_val (strv); - virStorageVolPtr r; - - NONBLOCKING (r = virStorageVolLookupByName (pool, str)); -- CHECK_ERROR (!r, conn, "virStorageVolLookupByName"); -+ CHECK_ERROR (!r, "virStorageVolLookupByName"); - - connv = Field (poolv, 1); - rv = Val_volume (r, connv); -@@ -1948,7 +1899,7 @@ ocaml_libvirt_storage_vol_lookup_by_key (value connv, value strv) - virStorageVolPtr r; - - NONBLOCKING (r = virStorageVolLookupByKey (conn, str)); -- CHECK_ERROR (!r, conn, "virStorageVolLookupByKey"); -+ CHECK_ERROR (!r, "virStorageVolLookupByKey"); - - rv = Val_volume (r, connv); - -@@ -1970,7 +1921,7 @@ ocaml_libvirt_storage_vol_lookup_by_path (value connv, value strv) - virStorageVolPtr r; - - NONBLOCKING (r = virStorageVolLookupByPath (conn, str)); -- CHECK_ERROR (!r, conn, "virStorageVolLookupByPath"); -+ CHECK_ERROR (!r, "virStorageVolLookupByPath"); - - rv = Val_volume (r, connv); - -@@ -1988,12 +1939,11 @@ ocaml_libvirt_storage_vol_create_xml (value poolv, value strv) - - CAMLlocal2 (rv, connv); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - char *str = String_val (strv); - virStorageVolPtr r; - - NONBLOCKING (r = virStorageVolCreateXML (pool, str, 0)); -- CHECK_ERROR (!r, conn, "virStorageVolCreateXML"); -+ CHECK_ERROR (!r, "virStorageVolCreateXML"); - - connv = Field (poolv, 1); - rv = Val_volume (r, connv); -@@ -2012,11 +1962,10 @@ ocaml_libvirt_storage_vol_get_xml_desc (value volv) - - CAMLlocal1 (rv); - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - char *r; - - NONBLOCKING (r = virStorageVolGetXMLDesc (vol, 0)); -- CHECK_ERROR (!r, conn, "virStorageVolGetXMLDesc"); -+ CHECK_ERROR (!r, "virStorageVolGetXMLDesc"); - - rv = caml_copy_string (r); - free (r); -@@ -2034,11 +1983,10 @@ ocaml_libvirt_storage_vol_get_path (value volv) - - CAMLlocal1 (rv); - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - char *r; - - NONBLOCKING (r = virStorageVolGetPath (vol)); -- CHECK_ERROR (!r, conn, "virStorageVolGetPath"); -+ CHECK_ERROR (!r, "virStorageVolGetPath"); - - rv = caml_copy_string (r); - free (r); -@@ -2056,11 +2004,10 @@ ocaml_libvirt_storage_vol_get_key (value volv) - - CAMLlocal1 (rv); - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - const char *r; - - NONBLOCKING (r = virStorageVolGetKey (vol)); -- CHECK_ERROR (!r, conn, "virStorageVolGetKey"); -+ CHECK_ERROR (!r, "virStorageVolGetKey"); - - rv = caml_copy_string (r); - CAMLreturn (rv); -@@ -2077,11 +2024,10 @@ ocaml_libvirt_storage_vol_get_name (value volv) - - CAMLlocal1 (rv); - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - const char *r; - - NONBLOCKING (r = virStorageVolGetName (vol)); -- CHECK_ERROR (!r, conn, "virStorageVolGetName"); -+ CHECK_ERROR (!r, "virStorageVolGetName"); - - rv = caml_copy_string (r); - CAMLreturn (rv); -@@ -2098,11 +2044,10 @@ ocaml_libvirt_storage_pool_lookup_by_volume (value volv) - - CAMLlocal2 (rv, connv); - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - virStoragePoolPtr r; - - NONBLOCKING (r = virStoragePoolLookupByVolume (vol)); -- CHECK_ERROR (!r, conn, "virStoragePoolLookupByVolume"); -+ CHECK_ERROR (!r, "virStoragePoolLookupByVolume"); - - connv = Field (volv, 1); - rv = Val_pool (r, connv); -diff --git a/libvirt/libvirt_c_epilogue.c b/libvirt/libvirt_c_epilogue.c -index 4649724..4972e50 100644 ---- a/libvirt/libvirt_c_epilogue.c -+++ b/libvirt/libvirt_c_epilogue.c -@@ -57,14 +57,14 @@ option_default (value option, value deflt) - #endif - - static void --_raise_virterror (virConnectPtr conn, const char *fn) -+_raise_virterror (const char *fn) - { - CAMLparam0 (); - CAMLlocal1 (rv); - virErrorPtr errp; - struct _virError err; - -- errp = conn ? virConnGetLastError (conn) : virGetLastError (); -+ errp = virGetLastError (); - - if (!errp) { - /* Fake a _virError structure. */ -diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c -index 06b3852..32e5a4b 100644 ---- a/libvirt/libvirt_c_oneoffs.c -+++ b/libvirt/libvirt_c_oneoffs.c -@@ -32,7 +32,7 @@ ocaml_libvirt_get_version (value driverv, value unit) - - typeVer_ptr = driver ? &typeVer : NULL; - NONBLOCKING (r = virGetVersion (&libVer, driver, typeVer_ptr)); -- CHECK_ERROR (r == -1, NULL, "virGetVersion"); -+ CHECK_ERROR (r == -1, "virGetVersion"); - - rv = caml_alloc_tuple (2); - Store_field (rv, 0, Val_int (libVer)); -@@ -53,7 +53,7 @@ ocaml_libvirt_connect_open (value namev, value unit) - virConnectPtr conn; - - NONBLOCKING (conn = virConnectOpen (name)); -- CHECK_ERROR (!conn, NULL, "virConnectOpen"); -+ CHECK_ERROR (!conn, "virConnectOpen"); - - rv = Val_connect (conn); - -@@ -69,7 +69,7 @@ ocaml_libvirt_connect_open_readonly (value namev, value unit) - virConnectPtr conn; - - NONBLOCKING (conn = virConnectOpenReadOnly (name)); -- CHECK_ERROR (!conn, NULL, "virConnectOpen"); -+ CHECK_ERROR (!conn, "virConnectOpen"); - - rv = Val_connect (conn); - -@@ -85,7 +85,7 @@ ocaml_libvirt_connect_get_version (value connv) - int r; - - NONBLOCKING (r = virConnectGetVersion (conn, &hvVer)); -- CHECK_ERROR (r == -1, conn, "virConnectGetVersion"); -+ CHECK_ERROR (r == -1, "virConnectGetVersion"); - - CAMLreturn (Val_int (hvVer)); - } -@@ -99,7 +99,7 @@ ocaml_libvirt_connect_get_max_vcpus (value connv, value typev) - int r; - - NONBLOCKING (r = virConnectGetMaxVcpus (conn, type)); -- CHECK_ERROR (r == -1, conn, "virConnectGetMaxVcpus"); -+ CHECK_ERROR (r == -1, "virConnectGetMaxVcpus"); - - CAMLreturn (Val_int (r)); - } -@@ -114,7 +114,7 @@ ocaml_libvirt_connect_get_node_info (value connv) - int r; - - NONBLOCKING (r = virNodeGetInfo (conn, &info)); -- CHECK_ERROR (r == -1, conn, "virNodeGetInfo"); -+ CHECK_ERROR (r == -1, "virNodeGetInfo"); - - rv = caml_alloc (8, 0); - v = caml_copy_string (info.model); Store_field (rv, 0, v); -@@ -138,7 +138,7 @@ ocaml_libvirt_connect_node_get_free_memory (value connv) - unsigned long long r; - - NONBLOCKING (r = virNodeGetFreeMemory (conn)); -- CHECK_ERROR (r == 0, conn, "virNodeGetFreeMemory"); -+ CHECK_ERROR (r == 0, "virNodeGetFreeMemory"); - - rv = caml_copy_int64 ((int64_t) r); - CAMLreturn (rv); -@@ -157,7 +157,7 @@ ocaml_libvirt_connect_node_get_cells_free_memory (value connv, - unsigned long long freemems[max]; - - NONBLOCKING (r = virNodeGetCellsFreeMemory (conn, freemems, start, max)); -- CHECK_ERROR (r == -1, conn, "virNodeGetCellsFreeMemory"); -+ CHECK_ERROR (r == -1, "virNodeGetCellsFreeMemory"); - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -@@ -179,7 +179,7 @@ ocaml_libvirt_connect_set_keep_alive(value connv, - int r; - - NONBLOCKING(r = virConnectSetKeepAlive(conn, interval, count)); -- CHECK_ERROR (r == -1, conn, "virConnectSetKeepAlive"); -+ CHECK_ERROR (r == -1, "virConnectSetKeepAlive"); - - CAMLreturn(Val_unit); - } -@@ -190,7 +190,6 @@ ocaml_libvirt_domain_get_id (value domv) - { - CAMLparam1 (domv); - virDomainPtr dom = Domain_val (domv); -- /*virConnectPtr conn = Connect_domv (domv);*/ - unsigned int r; - - NONBLOCKING (r = virDomainGetID (dom)); -@@ -208,11 +207,10 @@ ocaml_libvirt_domain_get_max_memory (value domv) - CAMLparam1 (domv); - CAMLlocal1 (rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - unsigned long r; - - NONBLOCKING (r = virDomainGetMaxMemory (dom)); -- CHECK_ERROR (r == 0 /* [sic] */, conn, "virDomainGetMaxMemory"); -+ CHECK_ERROR (r == 0 /* [sic] */, "virDomainGetMaxMemory"); - - rv = caml_copy_int64 (r); - CAMLreturn (rv); -@@ -223,12 +221,11 @@ ocaml_libvirt_domain_set_max_memory (value domv, value memv) - { - CAMLparam2 (domv, memv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - unsigned long mem = Int64_val (memv); - int r; - - NONBLOCKING (r = virDomainSetMaxMemory (dom, mem)); -- CHECK_ERROR (r == -1, conn, "virDomainSetMaxMemory"); -+ CHECK_ERROR (r == -1, "virDomainSetMaxMemory"); - - CAMLreturn (Val_unit); - } -@@ -238,12 +235,11 @@ ocaml_libvirt_domain_set_memory (value domv, value memv) - { - CAMLparam2 (domv, memv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - unsigned long mem = Int64_val (memv); - int r; - - NONBLOCKING (r = virDomainSetMemory (dom, mem)); -- CHECK_ERROR (r == -1, conn, "virDomainSetMemory"); -+ CHECK_ERROR (r == -1, "virDomainSetMemory"); - - CAMLreturn (Val_unit); - } -@@ -254,12 +250,11 @@ ocaml_libvirt_domain_get_info (value domv) - CAMLparam1 (domv); - CAMLlocal2 (rv, v); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - virDomainInfo info; - int r; - - NONBLOCKING (r = virDomainGetInfo (dom, &info)); -- CHECK_ERROR (r == -1, conn, "virDomainGetInfo"); -+ CHECK_ERROR (r == -1, "virDomainGetInfo"); - - rv = caml_alloc (5, 0); - Store_field (rv, 0, Val_int (info.state)); // These flags are compatible. -@@ -277,12 +272,11 @@ ocaml_libvirt_domain_get_scheduler_type (value domv) - CAMLparam1 (domv); - CAMLlocal2 (rv, strv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *r; - int nparams; - - NONBLOCKING (r = virDomainGetSchedulerType (dom, &nparams)); -- CHECK_ERROR (!r, conn, "virDomainGetSchedulerType"); -+ CHECK_ERROR (!r, "virDomainGetSchedulerType"); - - rv = caml_alloc_tuple (2); - strv = caml_copy_string (r); Store_field (rv, 0, strv); -@@ -297,13 +291,12 @@ ocaml_libvirt_domain_get_scheduler_parameters (value domv, value nparamsv) - CAMLparam2 (domv, nparamsv); - CAMLlocal4 (rv, v, v2, v3); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int nparams = Int_val (nparamsv); - virSchedParameter params[nparams]; - int r, i; - - NONBLOCKING (r = virDomainGetSchedulerParameters (dom, params, &nparams)); -- CHECK_ERROR (r == -1, conn, "virDomainGetSchedulerParameters"); -+ CHECK_ERROR (r == -1, "virDomainGetSchedulerParameters"); - - rv = caml_alloc (nparams, 0); - for (i = 0; i < nparams; ++i) { -@@ -348,7 +341,6 @@ ocaml_libvirt_domain_set_scheduler_parameters (value domv, value paramsv) - CAMLparam2 (domv, paramsv); - CAMLlocal1 (v); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int nparams = Wosize_val (paramsv); - virSchedParameter params[nparams]; - int r, i; -@@ -391,7 +383,7 @@ ocaml_libvirt_domain_set_scheduler_parameters (value domv, value paramsv) - } - - NONBLOCKING (r = virDomainSetSchedulerParameters (dom, params, nparams)); -- CHECK_ERROR (r == -1, conn, "virDomainSetSchedulerParameters"); -+ CHECK_ERROR (r == -1, "virDomainSetSchedulerParameters"); - - CAMLreturn (Val_unit); - } -@@ -401,11 +393,10 @@ ocaml_libvirt_domain_set_vcpus (value domv, value nvcpusv) - { - CAMLparam2 (domv, nvcpusv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int r, nvcpus = Int_val (nvcpusv); - - NONBLOCKING (r = virDomainSetVcpus (dom, nvcpus)); -- CHECK_ERROR (r == -1, conn, "virDomainSetVcpus"); -+ CHECK_ERROR (r == -1, "virDomainSetVcpus"); - - CAMLreturn (Val_unit); - } -@@ -415,14 +406,13 @@ ocaml_libvirt_domain_pin_vcpu (value domv, value vcpuv, value cpumapv) - { - CAMLparam3 (domv, vcpuv, cpumapv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int maplen = caml_string_length (cpumapv); - unsigned char *cpumap = (unsigned char *) String_val (cpumapv); - int vcpu = Int_val (vcpuv); - int r; - - NONBLOCKING (r = virDomainPinVcpu (dom, vcpu, cpumap, maplen)); -- CHECK_ERROR (r == -1, conn, "virDomainPinVcpu"); -+ CHECK_ERROR (r == -1, "virDomainPinVcpu"); - - CAMLreturn (Val_unit); - } -@@ -433,7 +423,6 @@ ocaml_libvirt_domain_get_vcpus (value domv, value maxinfov, value maplenv) - CAMLparam3 (domv, maxinfov, maplenv); - CAMLlocal5 (rv, infov, strv, v, v2); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int maxinfo = Int_val (maxinfov); - int maplen = Int_val (maplenv); - virVcpuInfo info[maxinfo]; -@@ -444,7 +433,7 @@ ocaml_libvirt_domain_get_vcpus (value domv, value maxinfov, value maplenv) - memset (cpumaps, 0, maxinfo * maplen); - - NONBLOCKING (r = virDomainGetVcpus (dom, info, maxinfo, cpumaps, maplen)); -- CHECK_ERROR (r == -1, conn, "virDomainPinVcpu"); -+ CHECK_ERROR (r == -1, "virDomainPinVcpu"); - - /* Copy the virVcpuInfo structures. */ - infov = caml_alloc (maxinfo, 0); -@@ -476,18 +465,17 @@ ocaml_libvirt_domain_get_cpu_stats (value domv) - CAMLlocal5 (cpustats, param_head, param_node, typed_param, typed_param_value); - CAMLlocal1 (v); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - virTypedParameterPtr params; - int r, cpu, ncpus, nparams, i, j, pos; - int nr_pcpus; - - /* get number of pcpus */ - NONBLOCKING (nr_pcpus = virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0)); -- CHECK_ERROR (nr_pcpus < 0, conn, "virDomainGetCPUStats"); -+ CHECK_ERROR (nr_pcpus < 0, "virDomainGetCPUStats"); - - /* get percpu information */ - NONBLOCKING (nparams = virDomainGetCPUStats(dom, NULL, 0, 0, 1, 0)); -- CHECK_ERROR (nparams < 0, conn, "virDomainGetCPUStats"); -+ CHECK_ERROR (nparams < 0, "virDomainGetCPUStats"); - - if ((params = malloc(sizeof(*params) * nparams * 128)) == NULL) - caml_failwith ("virDomainGetCPUStats: malloc"); -@@ -498,7 +486,7 @@ ocaml_libvirt_domain_get_cpu_stats (value domv) - ncpus = nr_pcpus - cpu > 128 ? 128 : nr_pcpus - cpu; - - NONBLOCKING (r = virDomainGetCPUStats(dom, params, nparams, cpu, ncpus, 0)); -- CHECK_ERROR (r < 0, conn, "virDomainGetCPUStats"); -+ CHECK_ERROR (r < 0, "virDomainGetCPUStats"); - - for (i = 0; i < ncpus; i++) { - /* list of typed_param: single linked list of param_nodes */ -@@ -579,7 +567,6 @@ ocaml_libvirt_domain_migrate_native (value domv, value dconnv, value flagsv, val - CAMLxparam2 (optbandwidthv, unitv); - CAMLlocal2 (flagv, rv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - virConnectPtr dconn = Connect_val (dconnv); - int flags = 0; - const char *dname = Optstring_val (optdnamev); -@@ -601,7 +588,7 @@ ocaml_libvirt_domain_migrate_native (value domv, value dconnv, value flagsv, val - bandwidth = Int_val (Field (optbandwidthv, 0)); - - NONBLOCKING (r = virDomainMigrate (dom, dconn, flags, dname, uri, bandwidth)); -- CHECK_ERROR (!r, conn, "virDomainMigrate"); -+ CHECK_ERROR (!r, "virDomainMigrate"); - - rv = Val_domain (r, dconnv); - -@@ -622,13 +609,12 @@ ocaml_libvirt_domain_block_stats (value domv, value pathv) - CAMLparam2 (domv, pathv); - CAMLlocal2 (rv,v); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *path = String_val (pathv); - struct _virDomainBlockStats stats; - int r; - - NONBLOCKING (r = virDomainBlockStats (dom, path, &stats, sizeof stats)); -- CHECK_ERROR (r == -1, conn, "virDomainBlockStats"); -+ CHECK_ERROR (r == -1, "virDomainBlockStats"); - - rv = caml_alloc (5, 0); - v = caml_copy_int64 (stats.rd_req); Store_field (rv, 0, v); -@@ -646,13 +632,12 @@ ocaml_libvirt_domain_interface_stats (value domv, value pathv) - CAMLparam2 (domv, pathv); - CAMLlocal2 (rv,v); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - char *path = String_val (pathv); - struct _virDomainInterfaceStats stats; - int r; - - NONBLOCKING (r = virDomainInterfaceStats (dom, path, &stats, sizeof stats)); -- CHECK_ERROR (r == -1, conn, "virDomainInterfaceStats"); -+ CHECK_ERROR (r == -1, "virDomainInterfaceStats"); - - rv = caml_alloc (8, 0); - v = caml_copy_int64 (stats.rx_bytes); Store_field (rv, 0, v); -@@ -673,7 +658,6 @@ ocaml_libvirt_domain_block_peek_native (value domv, value pathv, value offsetv, - CAMLparam5 (domv, pathv, offsetv, sizev, bufferv); - CAMLxparam1 (boffv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - const char *path = String_val (pathv); - unsigned long long offset = Int64_val (offsetv); - size_t size = Int_val (sizev); -@@ -687,7 +671,7 @@ ocaml_libvirt_domain_block_peek_native (value domv, value pathv, value offsetv, - - /* NB. not NONBLOCKING because buffer might move (XXX) */ - r = virDomainBlockPeek (dom, path, offset, size, buffer+boff, 0); -- CHECK_ERROR (r == -1, conn, "virDomainBlockPeek"); -+ CHECK_ERROR (r == -1, "virDomainBlockPeek"); - - CAMLreturn (Val_unit); - } -@@ -706,7 +690,6 @@ ocaml_libvirt_domain_memory_peek_native (value domv, value flagsv, value offsetv - CAMLxparam1 (boffv); - CAMLlocal1 (flagv); - virDomainPtr dom = Domain_val (domv); -- virConnectPtr conn = Connect_domv (domv); - int flags = 0; - unsigned long long offset = Int64_val (offsetv); - size_t size = Int_val (sizev); -@@ -728,7 +711,7 @@ ocaml_libvirt_domain_memory_peek_native (value domv, value flagsv, value offsetv - - /* NB. not NONBLOCKING because buffer might move (XXX) */ - r = virDomainMemoryPeek (dom, offset, size, buffer+boff, flags); -- CHECK_ERROR (r == -1, conn, "virDomainMemoryPeek"); -+ CHECK_ERROR (r == -1, "virDomainMemoryPeek"); - - CAMLreturn (Val_unit); - } -@@ -1042,7 +1025,6 @@ CAMLprim value - ocaml_libvirt_event_add_timeout (value connv, value ms, value callback_id) - { - CAMLparam3 (connv, ms, callback_id); -- virConnectPtr conn = Connect_val (connv); - void *opaque; - virFreeCallback freecb = free; - virEventTimeoutCallback cb = timeout_callback; -@@ -1055,7 +1037,7 @@ ocaml_libvirt_event_add_timeout (value connv, value ms, value callback_id) - caml_failwith ("virEventAddTimeout: malloc"); - *((long*)opaque) = Int64_val(callback_id); - NONBLOCKING(r = virEventAddTimeout(Int_val(ms), cb, opaque, freecb)); -- CHECK_ERROR(r == -1, conn, "virEventAddTimeout"); -+ CHECK_ERROR(r == -1, "virEventAddTimeout"); - - CAMLreturn(Val_int(r)); - } -@@ -1064,11 +1046,10 @@ CAMLprim value - ocaml_libvirt_event_remove_timeout (value connv, value timer_id) - { - CAMLparam2 (connv, timer_id); -- virConnectPtr conn = Connect_val (connv); - int r; - - NONBLOCKING(r = virEventRemoveTimeout(Int_val(timer_id))); -- CHECK_ERROR(r == -1, conn, "virEventRemoveTimeout"); -+ CHECK_ERROR(r == -1, "virEventRemoveTimeout"); - - CAMLreturn(Val_int(r)); - } -@@ -1146,7 +1127,7 @@ ocaml_libvirt_connect_domain_event_register_any(value connv, value domv, value c - caml_failwith ("virConnectDomainEventRegisterAny: malloc"); - *((long*)opaque) = Int64_val(callback_id); - NONBLOCKING(r = virConnectDomainEventRegisterAny(conn, dom, eventID, cb, opaque, freecb)); -- CHECK_ERROR(r == -1, conn, "virConnectDomainEventRegisterAny"); -+ CHECK_ERROR(r == -1, "virConnectDomainEventRegisterAny"); - - CAMLreturn(Val_int(r)); - } -@@ -1157,12 +1138,11 @@ ocaml_libvirt_storage_pool_get_info (value poolv) - CAMLparam1 (poolv); - CAMLlocal2 (rv, v); - virStoragePoolPtr pool = Pool_val (poolv); -- virConnectPtr conn = Connect_polv (poolv); - virStoragePoolInfo info; - int r; - - NONBLOCKING (r = virStoragePoolGetInfo (pool, &info)); -- CHECK_ERROR (r == -1, conn, "virStoragePoolGetInfo"); -+ CHECK_ERROR (r == -1, "virStoragePoolGetInfo"); - - rv = caml_alloc (4, 0); - Store_field (rv, 0, Val_int (info.state)); -@@ -1179,12 +1159,11 @@ ocaml_libvirt_storage_vol_get_info (value volv) - CAMLparam1 (volv); - CAMLlocal2 (rv, v); - virStorageVolPtr vol = Volume_val (volv); -- virConnectPtr conn = Connect_volv (volv); - virStorageVolInfo info; - int r; - - NONBLOCKING (r = virStorageVolGetInfo (vol, &info)); -- CHECK_ERROR (r == -1, conn, "virStorageVolGetInfo"); -+ CHECK_ERROR (r == -1, "virStorageVolGetInfo"); - - rv = caml_alloc (3, 0); - Store_field (rv, 0, Val_int (info.type)); -@@ -1239,6 +1218,12 @@ ocaml_libvirt_virterror_reset_last_conn_error (value connv) - - /*----------------------------------------------------------------------*/ - -+static void -+ignore_errors (void *user_data, virErrorPtr error) -+{ -+ /* do nothing */ -+} -+ - /* Initialise the library. */ - CAMLprim value - ocaml_libvirt_init (value unit) -@@ -1247,8 +1232,9 @@ ocaml_libvirt_init (value unit) - CAMLlocal1 (rv); - int r; - -+ virSetErrorFunc (NULL, ignore_errors); - r = virInitialize (); -- CHECK_ERROR (r == -1, NULL, "virInitialize"); -+ CHECK_ERROR (r == -1, "virInitialize"); - - CAMLreturn (Val_unit); - } -diff --git a/libvirt/libvirt_c_prologue.c b/libvirt/libvirt_c_prologue.c -index 7d9c0f5..bf972e9 100644 ---- a/libvirt/libvirt_c_prologue.c -+++ b/libvirt/libvirt_c_prologue.c -@@ -24,7 +24,7 @@ static char *Optstring_val (value strv); - typedef value (*Val_ptr_t) (void *); - static value Val_opt (void *ptr, Val_ptr_t Val_ptr); - /*static value option_default (value option, value deflt);*/ --static void _raise_virterror (virConnectPtr conn, const char *fn) Noreturn; -+static void _raise_virterror (const char *fn) Noreturn; - static void not_supported (const char *fn) Noreturn; - static value Val_virterror (virErrorPtr err); - -@@ -43,8 +43,8 @@ static value Val_virterror (virErrorPtr err); - /* Check error condition from a libvirt function, and automatically raise - * an exception if one is found. - */ --#define CHECK_ERROR(cond, conn, fn) \ -- do { if (cond) _raise_virterror (conn, fn); } while (0) -+#define CHECK_ERROR(cond, fn) \ -+ do { if (cond) _raise_virterror (fn); } while (0) - - /*----------------------------------------------------------------------*/ - --- -2.3.1 - diff --git a/0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch b/0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch deleted file mode 100644 index c00a75a..0000000 --- a/0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 21ac993da0a187821e812fe7b5b31a426121a546 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sat, 30 Aug 2014 19:10:19 +0100 -Subject: [PATCH] Use C99 standard int64_t instead of OCaml defined (and soon - to go) int64. - ---- - libvirt/libvirt_c_oneoffs.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c -index 3bb572f..06b3852 100644 ---- a/libvirt/libvirt_c_oneoffs.c -+++ b/libvirt/libvirt_c_oneoffs.c -@@ -140,7 +140,7 @@ ocaml_libvirt_connect_node_get_free_memory (value connv) - NONBLOCKING (r = virNodeGetFreeMemory (conn)); - CHECK_ERROR (r == 0, conn, "virNodeGetFreeMemory"); - -- rv = caml_copy_int64 ((int64) r); -+ rv = caml_copy_int64 ((int64_t) r); - CAMLreturn (rv); - } - -@@ -161,7 +161,7 @@ ocaml_libvirt_connect_node_get_cells_free_memory (value connv, - - rv = caml_alloc (r, 0); - for (i = 0; i < r; ++i) { -- iv = caml_copy_int64 ((int64) freemems[i]); -+ iv = caml_copy_int64 ((int64_t) freemems[i]); - Store_field (rv, i, iv); - } - --- -2.0.4 - diff --git a/0001-Use-g-warn-error.patch b/0001-Use-g-warn-error.patch deleted file mode 100644 index 7c6bf35..0000000 --- a/0001-Use-g-warn-error.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 2ba6898b4dc121b00078e36d5416b3caadd5d05e Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 27 Mar 2017 14:12:50 +0100 -Subject: [PATCH 1/5] Use -g -warn-error. - -Use -g for ocamlopt. ocamlopt has supported generating DWARF -information for quite a long time. - -Also use -warn-error with the same set of warnings as is used -by libguestfs. - -Fix a warning in examples/get_cpu_stats.ml found by enabling --warn-error. ---- - examples/Makefile.in | 4 ++-- - examples/get_cpu_stats.ml | 2 ++ - libvirt/Makefile.in | 6 +++--- - 3 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/examples/Makefile.in b/examples/Makefile.in -index 041e382..46006a0 100644 ---- a/examples/Makefile.in -+++ b/examples/Makefile.in -@@ -18,10 +18,10 @@ - OCAMLFIND = @OCAMLFIND@ - - OCAMLCPACKAGES := -package unix -I ../libvirt --OCAMLCFLAGS := -g -+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 - OCAMLCLIBS := -linkpkg - OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) --OCAMLOPTFLAGS := -+OCAMLOPTFLAGS := -g -warn-error CDEFLMPSUVYZX-3 - OCAMLOPTLIBS := $(OCAMLCLIBS) - - export LIBRARY_PATH=../libvirt -diff --git a/examples/get_cpu_stats.ml b/examples/get_cpu_stats.ml -index d7a8d0c..814c85e 100644 ---- a/examples/get_cpu_stats.ml -+++ b/examples/get_cpu_stats.ml -@@ -19,9 +19,11 @@ let () = - - let conn = C.connect_readonly () in - -+ (* - let nr_pcpus = - let info = C.get_node_info conn in - C.maxcpus_of_node_info info in -+ *) - - let stats = - let dom = D.lookup_by_name conn domname in -diff --git a/libvirt/Makefile.in b/libvirt/Makefile.in -index f7c04bb..cf614fc 100644 ---- a/libvirt/Makefile.in -+++ b/libvirt/Makefile.in -@@ -31,15 +31,15 @@ OCAMLMKLIB = @OCAMLMKLIB@ - - ifneq ($(OCAMLFIND),) - OCAMLCPACKAGES := -package unix --OCAMLCFLAGS := -g -+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 - OCAMLCLIBS := -linkpkg - else - OCAMLCINCS := --OCAMLCFLAGS := -g -+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 - OCAMLCLIBS := unix.cma - endif - --OCAMLOPTFLAGS := -+OCAMLOPTFLAGS := $(OCAMLCFLAGS) - ifneq ($(OCAMLFIND),) - OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) - OCAMLOPTLIBS := $(OCAMLCLIBS) --- -2.9.3 - diff --git a/0001-Use-safe-string-and-fix-the-library.patch b/0001-Use-safe-string-and-fix-the-library.patch deleted file mode 100644 index 448b08b..0000000 --- a/0001-Use-safe-string-and-fix-the-library.patch +++ /dev/null @@ -1,76 +0,0 @@ -From bab7f84ade84ceaddb08b6948792d49b3d04b897 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 8 Nov 2017 16:52:58 +0000 -Subject: [PATCH] Use -safe-string and fix the library. - -Note this changes the type of the cpumap from string to bytes, -since (by the design of the API) it must be mutated. ---- - libvirt/Makefile.in | 4 ++-- - libvirt/libvirt.ml | 10 +++++----- - libvirt/libvirt.mli | 6 +++--- - 3 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/libvirt/Makefile.in b/libvirt/Makefile.in -index cf614fc..1eb846b 100644 ---- a/libvirt/Makefile.in -+++ b/libvirt/Makefile.in -@@ -31,11 +31,11 @@ OCAMLMKLIB = @OCAMLMKLIB@ - - ifneq ($(OCAMLFIND),) - OCAMLCPACKAGES := -package unix --OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 -+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 -safe-string - OCAMLCLIBS := -linkpkg - else - OCAMLCINCS := --OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 -+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 -safe-string - OCAMLCLIBS := unix.cma - endif - -diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml -index d03a127..7e1e470 100644 ---- a/libvirt/libvirt.ml -+++ b/libvirt/libvirt.ml -@@ -92,13 +92,13 @@ struct - - (* See VIR_USE_CPU, VIR_UNUSE_CPU, VIR_CPU_USABLE macros defined in . *) - let use_cpu cpumap cpu = -- cpumap.[cpu/8] <- -- Char.chr (Char.code cpumap.[cpu/8] lor (1 lsl (cpu mod 8))) -+ Bytes.set cpumap (cpu/8) -+ (Char.chr (Char.code (Bytes.get cpumap (cpu/8)) lor (1 lsl (cpu mod 8)))) - let unuse_cpu cpumap cpu = -- cpumap.[cpu/8] <- -- Char.chr (Char.code cpumap.[cpu/8] land (lnot (1 lsl (cpu mod 8)))) -+ Bytes.set cpumap (cpu/8) -+ (Char.chr (Char.code (Bytes.get cpumap (cpu/8)) land (lnot (1 lsl (cpu mod 8))))) - let cpu_usable cpumaps maplen vcpu cpu = -- Char.code cpumaps.[vcpu*maplen + cpu/8] land (1 lsl (cpu mod 8)) <> 0 -+ Char.code (Bytes.get cpumaps (vcpu*maplen + cpu/8)) land (1 lsl (cpu mod 8)) <> 0 - - external set_keep_alive : [>`R] t -> int -> int -> unit = "ocaml_libvirt_connect_set_keep_alive" - -diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli -index dc0033b..87f50f5 100644 ---- a/libvirt/libvirt.mli -+++ b/libvirt/libvirt.mli -@@ -376,11 +376,11 @@ sig - CPU map between a single virtual and all physical CPUs of a domain. - *) - -- val use_cpu : string -> int -> unit -+ val use_cpu : bytes -> int -> unit - (** [use_cpu cpumap cpu] marks [cpu] as usable in [cpumap]. *) -- val unuse_cpu : string -> int -> unit -+ val unuse_cpu : bytes -> int -> unit - (** [unuse_cpu cpumap cpu] marks [cpu] as not usable in [cpumap]. *) -- val cpu_usable : string -> int -> int -> int -> bool -+ val cpu_usable : bytes -> int -> int -> int -> bool - (** [cpu_usable cpumaps maplen vcpu cpu] checks returns true iff the - [cpu] is usable by [vcpu]. *) - --- -2.13.1 - diff --git a/0001-block_peek-memory_peek-Use-bytes-for-return-buffer.patch b/0001-block_peek-memory_peek-Use-bytes-for-return-buffer.patch new file mode 100644 index 0000000..f3b93af --- /dev/null +++ b/0001-block_peek-memory_peek-Use-bytes-for-return-buffer.patch @@ -0,0 +1,74 @@ +From 29709872404fad20a9822c43a831f30b7b09f34a Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 19 Jan 2020 12:58:17 +0000 +Subject: [PATCH 1/3] block_peek, memory_peek: Use bytes for return buffer. + +Strings are immutable in modern OCaml. +--- + libvirt/libvirt.ml | 4 ++-- + libvirt/libvirt.mli | 4 ++-- + libvirt/libvirt_c_oneoffs.c | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml +index 7f9d0e4..bdb9460 100644 +--- a/libvirt/libvirt.ml ++++ b/libvirt/libvirt.ml +@@ -731,8 +731,8 @@ struct + external migrate : [>`W] t -> [>`W] Connect.t -> migrate_flag list -> ?dname:string -> ?uri:string -> ?bandwidth:int -> unit -> rw t = "ocaml_libvirt_domain_migrate_bytecode" "ocaml_libvirt_domain_migrate_native" + external block_stats : [>`R] t -> string -> block_stats = "ocaml_libvirt_domain_block_stats" + external interface_stats : [>`R] t -> string -> interface_stats = "ocaml_libvirt_domain_interface_stats" +- external block_peek : [>`W] t -> string -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_block_peek_bytecode" "ocaml_libvirt_domain_block_peek_native" +- external memory_peek : [>`W] t -> memory_flag list -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_memory_peek_bytecode" "ocaml_libvirt_domain_memory_peek_native" ++ external block_peek : [>`W] t -> string -> int64 -> int -> bytes -> int -> unit = "ocaml_libvirt_domain_block_peek_bytecode" "ocaml_libvirt_domain_block_peek_native" ++ external memory_peek : [>`W] t -> memory_flag list -> int64 -> int -> bytes -> int -> unit = "ocaml_libvirt_domain_memory_peek_bytecode" "ocaml_libvirt_domain_memory_peek_native" + + external get_all_domain_stats : [>`R] Connect.t -> stats_type list -> get_all_domain_stats_flag list -> domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats" + +diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli +index 0d74199..7900392 100644 +--- a/libvirt/libvirt.mli ++++ b/libvirt/libvirt.mli +@@ -708,7 +708,7 @@ sig + val interface_stats : [>`R] t -> string -> interface_stats + (** Returns network interface stats. *) + +- val block_peek : [>`W] t -> string -> int64 -> int -> string -> int -> unit ++ val block_peek : [>`W] t -> string -> int64 -> int -> bytes -> int -> unit + (** [block_peek dom path offset size buf boff] reads [size] bytes at + [offset] in the domain's [path] block device. + +@@ -717,7 +717,7 @@ sig + + See also {!max_peek}. *) + val memory_peek : [>`W] t -> memory_flag list -> int64 -> int -> +- string -> int -> unit ++ bytes -> int -> unit + (** [memory_peek dom Virtual offset size] reads [size] bytes + at [offset] in the domain's virtual memory. + +diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c +index 40384e8..8468c73 100644 +--- a/libvirt/libvirt_c_oneoffs.c ++++ b/libvirt/libvirt_c_oneoffs.c +@@ -1057,7 +1057,7 @@ ocaml_libvirt_domain_block_peek_native (value domv, value pathv, value offsetv, + const char *path = String_val (pathv); + unsigned long long offset = Int64_val (offsetv); + size_t size = Int_val (sizev); +- char *buffer = String_val (bufferv); ++ unsigned char *buffer = Bytes_val (bufferv); + int boff = Int_val (boffv); + int r; + +@@ -1089,7 +1089,7 @@ ocaml_libvirt_domain_memory_peek_native (value domv, value flagsv, value offsetv + int flags = 0; + unsigned long long offset = Int64_val (offsetv); + size_t size = Int_val (sizev); +- char *buffer = String_val (bufferv); ++ unsigned char *buffer = Bytes_val (bufferv); + int boff = Int_val (boffv); + int r; + +-- +2.24.1 + diff --git a/0002-Don-t-bother-checking-return-from-virInitialize.patch b/0002-Don-t-bother-checking-return-from-virInitialize.patch deleted file mode 100644 index bbf01a6..0000000 --- a/0002-Don-t-bother-checking-return-from-virInitialize.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 06b24089986523806d386b9e3cfa4fcf5eeb87e6 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 17 Mar 2015 12:53:29 +0000 -Subject: [PATCH 2/2] Don't bother checking return from virInitialize. - -The Perl bindings don't do this, and it seems that the call can never -fail, or if it does we don't care. ---- - libvirt/libvirt_c_oneoffs.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c -index 32e5a4b..5d82194 100644 ---- a/libvirt/libvirt_c_oneoffs.c -+++ b/libvirt/libvirt_c_oneoffs.c -@@ -1229,12 +1229,9 @@ CAMLprim value - ocaml_libvirt_init (value unit) - { - CAMLparam1 (unit); -- CAMLlocal1 (rv); -- int r; - - virSetErrorFunc (NULL, ignore_errors); -- r = virInitialize (); -- CHECK_ERROR (r == -1, "virInitialize"); -+ virInitialize (); - - CAMLreturn (Val_unit); - } --- -2.3.1 - diff --git a/0002-String_val-returns-const-char-in-OCaml-4.10.patch b/0002-String_val-returns-const-char-in-OCaml-4.10.patch new file mode 100644 index 0000000..4f547cb --- /dev/null +++ b/0002-String_val-returns-const-char-in-OCaml-4.10.patch @@ -0,0 +1,113 @@ +From 3705b9bdcd04dc86474c62e1c8dd8759669842bc Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 19 Jan 2020 12:59:09 +0000 +Subject: [PATCH 2/3] String_val returns const char * in OCaml 4.10. + +This should be compatible with earlier versions of OCaml +too since we are just assigning a char * to a const char *. +--- + libvirt/generator.pl | 14 +++++++------- + libvirt/libvirt_c_oneoffs.c | 6 +++--- + 2 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/libvirt/generator.pl b/libvirt/generator.pl +index ac3dd65..aff371b 100755 +--- a/libvirt/generator.pl ++++ b/libvirt/generator.pl +@@ -593,7 +593,7 @@ sub gen_c_code + } elsif ($sig =~ /^(\w+), string : unit$/) { + "\ + " . gen_unpack_args ($1) . " +- char *str = String_val (strv); ++ const char *str = String_val (strv); + int r; + + NONBLOCKING (r = $c_name ($1, str)); +@@ -605,7 +605,7 @@ sub gen_c_code + "\ + CAMLlocal1 (rv); + " . gen_unpack_args ($1) . " +- char *str = String_val (strv); ++ const char *str = String_val (strv); + int r; + + NONBLOCKING (r = $c_name ($1, str, 0)); +@@ -618,7 +618,7 @@ sub gen_c_code + "\ + CAMLlocal1 (rv); + " . gen_unpack_args ($1) . " +- char *str = String_val (strv); ++ const char *str = String_val (strv); + $c_ret_type r; + + NONBLOCKING (r = $c_name ($1, str)); +@@ -633,7 +633,7 @@ sub gen_c_code + "\ + CAMLlocal1 (rv); + " . gen_unpack_args ($1) . " +- char *str = String_val (strv); ++ const char *str = String_val (strv); + $c_ret_type r; + + NONBLOCKING (r = $c_name ($1, str, 0)); +@@ -648,7 +648,7 @@ sub gen_c_code + "\ + CAMLlocal1 (rv); + " . gen_unpack_args ($1) . " +- char *str = String_val (strv); ++ const char *str = String_val (strv); + unsigned int u = Int_val (uv); + $c_ret_type r; + +@@ -735,7 +735,7 @@ sub gen_c_code + "\ + CAMLlocal2 (rv, connv); + " . gen_unpack_args ($1) . " +- char *str = String_val (strv); ++ const char *str = String_val (strv); + $c_ret_type r; + + NONBLOCKING (r = $c_name ($1, str)); +@@ -751,7 +751,7 @@ sub gen_c_code + "\ + CAMLlocal2 (rv, connv); + " . gen_unpack_args ($1) . " +- char *str = String_val (strv); ++ const char *str = String_val (strv); + $c_ret_type r; + + NONBLOCKING (r = $c_name ($1, str, 0)); +diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c +index 8468c73..fc2ac13 100644 +--- a/libvirt/libvirt_c_oneoffs.c ++++ b/libvirt/libvirt_c_oneoffs.c +@@ -601,7 +601,7 @@ ocaml_libvirt_domain_set_scheduler_parameters (value domv, value paramsv) + int nparams = Wosize_val (paramsv); + virSchedParameterPtr params; + int r, i; +- char *name; ++ const char *name; + + params = malloc (sizeof (*params) * nparams); + if (params == NULL) +@@ -1005,7 +1005,7 @@ ocaml_libvirt_domain_block_stats (value domv, value pathv) + CAMLparam2 (domv, pathv); + CAMLlocal2 (rv,v); + virDomainPtr dom = Domain_val (domv); +- char *path = String_val (pathv); ++ const char *path = String_val (pathv); + struct _virDomainBlockStats stats; + int r; + +@@ -1028,7 +1028,7 @@ ocaml_libvirt_domain_interface_stats (value domv, value pathv) + CAMLparam2 (domv, pathv); + CAMLlocal2 (rv,v); + virDomainPtr dom = Domain_val (domv); +- char *path = String_val (pathv); ++ const char *path = String_val (pathv); + struct _virDomainInterfaceStats stats; + int r; + +-- +2.24.1 + diff --git a/0002-Update-dependencies.patch b/0002-Update-dependencies.patch deleted file mode 100644 index 1ba95ea..0000000 --- a/0002-Update-dependencies.patch +++ /dev/null @@ -1,44 +0,0 @@ -From ca9a3227f9937f9cdeb84126f1c74502c9a25047 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 27 Mar 2017 14:13:47 +0100 -Subject: [PATCH 2/5] Update dependencies. - ---- - examples/.depend | 8 ++++---- - libvirt/.depend | 6 +++--- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/examples/.depend b/examples/.depend -index b305b76..b5379d8 100644 ---- a/examples/.depend -+++ b/examples/.depend -@@ -1,8 +1,8 @@ --node_info.cmo : ../libvirt/libvirt.cmi --node_info.cmx : ../libvirt/libvirt.cmx --get_cpu_stats.cmo : ../libvirt/libvirt.cmi --get_cpu_stats.cmx : ../libvirt/libvirt.cmx - domain_events.cmo : ../libvirt/libvirt.cmi - domain_events.cmx : ../libvirt/libvirt.cmx -+get_cpu_stats.cmo : ../libvirt/libvirt.cmi -+get_cpu_stats.cmx : ../libvirt/libvirt.cmx - list_domains.cmo : ../libvirt/libvirt.cmi - list_domains.cmx : ../libvirt/libvirt.cmx -+node_info.cmo : ../libvirt/libvirt.cmi -+node_info.cmx : ../libvirt/libvirt.cmx -diff --git a/libvirt/.depend b/libvirt/.depend -index 7d32e13..ee1180c 100644 ---- a/libvirt/.depend -+++ b/libvirt/.depend -@@ -1,6 +1,6 @@ --libvirt_version.cmi : -+libvirt.cmo : libvirt.cmi -+libvirt.cmx : libvirt.cmi - libvirt.cmi : - libvirt_version.cmo : libvirt_version.cmi - libvirt_version.cmx : libvirt_version.cmi --libvirt.cmo : libvirt.cmi --libvirt.cmx : libvirt.cmi -+libvirt_version.cmi : --- -2.9.3 - diff --git a/0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch b/0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch deleted file mode 100644 index 0eb1b28..0000000 --- a/0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch +++ /dev/null @@ -1,393 +0,0 @@ -From 380f1e05b244ae4750ca5101b5b5a182dcd0d1fd Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 28 Mar 2017 10:08:06 +0100 -Subject: [PATCH 3/5] Add a binding for virConnectGetAllDomainStats - (RHBZ#1390171). - ---- - .gitignore | 2 + - Makefile.in | 1 + - examples/.depend | 2 + - examples/Makefile.in | 13 ++++- - examples/get_all_domain_stats.ml | 65 +++++++++++++++++++++ - libvirt/libvirt.ml | 23 ++++++++ - libvirt/libvirt.mli | 28 +++++++++ - libvirt/libvirt_c_oneoffs.c | 119 ++++++++++++++++++++++++++++++++++++++- - 8 files changed, 250 insertions(+), 3 deletions(-) - create mode 100644 examples/get_all_domain_stats.ml - -diff --git a/.gitignore b/.gitignore -index 71a245e..366eb29 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -1,3 +1,4 @@ -+.gdb_history - META - ocaml-libvirt-*.tar.gz - ocaml-libvirt-*.exe -@@ -27,6 +28,7 @@ core.* - *~ - libvirt/libvirt_version.ml - examples/domain_events -+examples/get_all_domain_stats - examples/get_cpu_stats - examples/list_domains - examples/node_info -diff --git a/Makefile.in b/Makefile.in -index 3b8b7ec..2605ddd 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -41,6 +41,7 @@ clean: - rm -f examples/node_info - rm -f examples/get_cpu_stats - rm -f examples/domain_events -+ rm -f examples/get_all_domain_stats - - distclean: clean - rm -f config.h config.log config.status configure -diff --git a/examples/.depend b/examples/.depend -index b5379d8..11f2c7c 100644 ---- a/examples/.depend -+++ b/examples/.depend -@@ -1,5 +1,7 @@ - domain_events.cmo : ../libvirt/libvirt.cmi - domain_events.cmx : ../libvirt/libvirt.cmx -+get_all_domain_stats.cmo : ../libvirt/libvirt.cmi -+get_all_domain_stats.cmx : ../libvirt/libvirt.cmx - get_cpu_stats.cmo : ../libvirt/libvirt.cmi - get_cpu_stats.cmx : ../libvirt/libvirt.cmx - list_domains.cmo : ../libvirt/libvirt.cmi -diff --git a/examples/Makefile.in b/examples/Makefile.in -index 46006a0..8530edc 100644 ---- a/examples/Makefile.in -+++ b/examples/Makefile.in -@@ -27,7 +27,8 @@ OCAMLOPTLIBS := $(OCAMLCLIBS) - export LIBRARY_PATH=../libvirt - export LD_LIBRARY_PATH=../libvirt - --BYTE_TARGETS := list_domains node_info get_cpu_stats domain_events -+BYTE_TARGETS := list_domains node_info get_cpu_stats \ -+ get_all_domain_stats domain_events - OPT_TARGETS := $(BYTE_TARGETS:%=%.opt) - - all: $(BYTE_TARGETS) -@@ -64,6 +65,16 @@ get_cpu_stats.opt: get_cpu_stats.cmx - $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \ - ../libvirt/mllibvirt.cmxa -o $@ $< - -+get_all_domain_stats: get_all_domain_stats.cmo -+ $(OCAMLFIND) ocamlc \ -+ $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \ -+ ../libvirt/mllibvirt.cma -o $@ $< -+ -+get_all_domain_stats.opt: get_all_domain_stats.cmx -+ $(OCAMLFIND) ocamlopt \ -+ $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \ -+ ../libvirt/mllibvirt.cmxa -o $@ $< -+ - domain_events: domain_events.cmo - $(OCAMLFIND) ocamlc \ - $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \ -diff --git a/examples/get_all_domain_stats.ml b/examples/get_all_domain_stats.ml -new file mode 100644 -index 0000000..4375639 ---- /dev/null -+++ b/examples/get_all_domain_stats.ml -@@ -0,0 +1,65 @@ -+(* Example of using Domain.get_all_domain_stats (virConnectGetAllDomainStats). -+ * Usage: get_all_domain_stats -+ * http://libvirt.org/ -+ *) -+ -+open Printf -+ -+module C = Libvirt.Connect -+module D = Libvirt.Domain -+ -+let print_stats stats = -+ try -+ Array.iter ( -+ fun { D.dom = dom; D.params = params } -> -+ printf "domain %s:\n" (D.get_name dom); -+ Array.iteri ( -+ fun i (field, value) -> -+ printf "\t%-20s = " field; -+ (match value with -+ | D.TypedFieldInt32 i -> printf "%ld" i -+ | D.TypedFieldUInt32 i -> printf "%ld" i -+ | D.TypedFieldInt64 i -> printf "%Ld" i -+ | D.TypedFieldUInt64 i -> printf "%Ld" i -+ | D.TypedFieldFloat f -> printf "%g" f -+ | D.TypedFieldBool b -> printf "%b" b -+ | D.TypedFieldString s -> printf "%S" s); -+ printf "\n"; -+ ) params; -+ printf "\n" -+ ) stats -+ with -+ Libvirt.Virterror err -> -+ eprintf "error: %s\n" (Libvirt.Virterror.to_string err) -+ -+let () = -+ if Array.length Sys.argv <> 1 then ( -+ eprintf "error: get_all_domain_stats\n"; -+ exit 1 -+ ); -+ -+ let conn = C.connect_readonly () in -+ -+ let what_stats = [D.StatsCpuTotal; D.StatsInterface; D.StatsBlock] in -+ let flags = [D.GetAllDomainsStatsActive; D.GetAllDomainsStatsInactive] in -+ -+ let quit = ref false in -+ -+ while not !quit do -+ let stats = D.get_all_domain_stats conn what_stats flags in -+ -+ if stats <> [||] then print_stats stats -+ else ( -+ printf "no guests found\n"; -+ quit := true -+ ); -+ flush stdout; -+ -+ (* Run the garbage collector which is a good way to check for -+ * memory corruption errors and reference counting issues in -+ * libvirt. You shouldn't do this in ordinary programs. -+ *) -+ Gc.compact (); -+ -+ if not !quit then Unix.sleep 3 -+ done -diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml -index 1be023d..ce1878a 100644 ---- a/libvirt/libvirt.ml -+++ b/libvirt/libvirt.ml -@@ -392,6 +392,27 @@ struct - tx_drop : int64; - } - -+ type get_all_domain_stats_flag = -+ | GetAllDomainsStatsActive -+ | GetAllDomainsStatsInactive -+ | GetAllDomainsStatsOther -+ | GetAllDomainsStatsPaused -+ | GetAllDomainsStatsPersistent -+ | GetAllDomainsStatsRunning -+ | GetAllDomainsStatsShutoff -+ | GetAllDomainsStatsTransient -+ | GetAllDomainsStatsBacking -+ | GetAllDomainsStatsEnforceStats -+ -+ type stats_type = -+ | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu -+ | StatsInterface | StatsBlock | StatsPerf -+ -+ type 'a domain_stats_record = { -+ dom : 'a t; -+ params : typed_param array; -+ } -+ - (* The maximum size for Domain.memory_peek and Domain.block_peek - * supported by libvirt. This may change with different versions - * of libvirt in the future, hence it's a function. -@@ -446,6 +467,8 @@ struct - external block_peek : [>`W] t -> string -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_block_peek_bytecode" "ocaml_libvirt_domain_block_peek_native" - external memory_peek : [>`W] t -> memory_flag list -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_memory_peek_bytecode" "ocaml_libvirt_domain_memory_peek_native" - -+ external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats" -+ - external const : [>`R] t -> ro t = "%identity" - - let get_domains conn flags = -diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli -index 8cfcae2..d1b5992 100644 ---- a/libvirt/libvirt.mli -+++ b/libvirt/libvirt.mli -@@ -478,6 +478,27 @@ sig - tx_drop : int64; - } - -+ type get_all_domain_stats_flag = -+ | GetAllDomainsStatsActive -+ | GetAllDomainsStatsInactive -+ | GetAllDomainsStatsOther -+ | GetAllDomainsStatsPaused -+ | GetAllDomainsStatsPersistent -+ | GetAllDomainsStatsRunning -+ | GetAllDomainsStatsShutoff -+ | GetAllDomainsStatsTransient -+ | GetAllDomainsStatsBacking -+ | GetAllDomainsStatsEnforceStats -+ -+ type stats_type = -+ | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu -+ | StatsInterface | StatsBlock | StatsPerf -+ -+ type 'a domain_stats_record = { -+ dom : 'a t; -+ params : typed_param array; -+ } -+ - val max_peek : [>`R] t -> int - (** Maximum size supported by the {!block_peek} and {!memory_peek} - functions. If you want to peek more than this then you must -@@ -615,6 +636,13 @@ sig - - See also {!max_peek}. *) - -+ external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats" -+ (** [get_all_domain_stats conn stats flags] allows you to read -+ all stats across multiple/all domains in a single call. -+ -+ See the libvirt documentation for -+ [virConnectGetAllDomainStats]. *) -+ - external const : [>`R] t -> ro t = "%identity" - (** [const dom] turns a read/write domain handle into a read-only - domain handle. Note that the opposite operation is impossible. -diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c -index 5d82194..17412f5 100644 ---- a/libvirt/libvirt_c_oneoffs.c -+++ b/libvirt/libvirt_c_oneoffs.c -@@ -1,5 +1,5 @@ - /* OCaml bindings for libvirt. -- * (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc. -+ * (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc. - * http://libvirt.org/ - * - * This library is free software; you can redistribute it and/or -@@ -184,7 +184,6 @@ ocaml_libvirt_connect_set_keep_alive(value connv, - CAMLreturn(Val_unit); - } - -- - CAMLprim value - ocaml_libvirt_domain_get_id (value domv) - { -@@ -560,6 +559,122 @@ ocaml_libvirt_domain_get_cpu_stats (value domv) - CAMLreturn (cpustats); - } - -+value -+ocaml_libvirt_domain_get_all_domain_stats (value connv, -+ value statsv, value flagsv) -+{ -+ CAMLparam3 (connv, statsv, flagsv); -+ CAMLlocal5 (rv, dsv, tpv, v, v1); -+ CAMLlocal1 (v2); -+ virConnectPtr conn = Connect_val (connv); -+ virDomainStatsRecordPtr *rstats; -+ unsigned int stats = 0, flags = 0; -+ int i, j, r; -+ -+ /* Get stats and flags. */ -+ for (; statsv != Val_int (0); statsv = Field (statsv, 1)) { -+ v = Field (statsv, 0); -+ if (v == Val_int (0)) -+ stats |= VIR_DOMAIN_STATS_STATE; -+ else if (v == Val_int (1)) -+ stats |= VIR_DOMAIN_STATS_CPU_TOTAL; -+ else if (v == Val_int (2)) -+ stats |= VIR_DOMAIN_STATS_BALLOON; -+ else if (v == Val_int (3)) -+ stats |= VIR_DOMAIN_STATS_VCPU; -+ else if (v == Val_int (4)) -+ stats |= VIR_DOMAIN_STATS_INTERFACE; -+ else if (v == Val_int (5)) -+ stats |= VIR_DOMAIN_STATS_BLOCK; -+ else if (v == Val_int (6)) -+ stats |= VIR_DOMAIN_STATS_PERF; -+ } -+ for (; flagsv != Val_int (0); flagsv = Field (flagsv, 1)) { -+ v = Field (flagsv, 0); -+ if (v == Val_int (0)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE; -+ else if (v == Val_int (1)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_INACTIVE; -+ else if (v == Val_int (2)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_OTHER; -+ else if (v == Val_int (3)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_PAUSED; -+ else if (v == Val_int (4)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT; -+ else if (v == Val_int (5)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_RUNNING; -+ else if (v == Val_int (6)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_SHUTOFF; -+ else if (v == Val_int (7)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_TRANSIENT; -+ else if (v == Val_int (8)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING; -+ else if (v == Val_int (9)) -+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS; -+ } -+ -+ NONBLOCKING (r = virConnectGetAllDomainStats (conn, stats, &rstats, flags)); -+ CHECK_ERROR (r == -1, "virConnectGetAllDomainStats"); -+ -+ rv = caml_alloc (r, 0); /* domain_stats_record array. */ -+ for (i = 0; i < r; ++i) { -+ dsv = caml_alloc (2, 0); /* domain_stats_record */ -+ virDomainRef (rstats[i]->dom); -+ Store_field (dsv, 0, Val_domain (rstats[i]->dom, connv)); -+ -+ tpv = caml_alloc (rstats[i]->nparams, 0); /* typed_param array */ -+ for (j = 0; j < rstats[i]->nparams; ++j) { -+ v2 = caml_alloc (2, 0); /* typed_param: field name, value */ -+ Store_field (v2, 0, caml_copy_string (rstats[i]->params[j].field)); -+ -+ switch (rstats[i]->params[j].type) { -+ case VIR_TYPED_PARAM_INT: -+ v1 = caml_alloc (1, 0); -+ v = caml_copy_int32 (rstats[i]->params[j].value.i); -+ break; -+ case VIR_TYPED_PARAM_UINT: -+ v1 = caml_alloc (1, 1); -+ v = caml_copy_int32 (rstats[i]->params[j].value.ui); -+ break; -+ case VIR_TYPED_PARAM_LLONG: -+ v1 = caml_alloc (1, 2); -+ v = caml_copy_int64 (rstats[i]->params[j].value.l); -+ break; -+ case VIR_TYPED_PARAM_ULLONG: -+ v1 = caml_alloc (1, 3); -+ v = caml_copy_int64 (rstats[i]->params[j].value.ul); -+ break; -+ case VIR_TYPED_PARAM_DOUBLE: -+ v1 = caml_alloc (1, 4); -+ v = caml_copy_double (rstats[i]->params[j].value.d); -+ break; -+ case VIR_TYPED_PARAM_BOOLEAN: -+ v1 = caml_alloc (1, 5); -+ v = Val_bool (rstats[i]->params[j].value.b); -+ break; -+ case VIR_TYPED_PARAM_STRING: -+ v1 = caml_alloc (1, 6); -+ v = caml_copy_string (rstats[i]->params[j].value.s); -+ break; -+ default: -+ virDomainStatsRecordListFree (rstats); -+ caml_failwith ("virConnectGetAllDomainStats: " -+ "unknown parameter type returned"); -+ } -+ Store_field (v1, 0, v); -+ -+ Store_field (v2, 1, v1); -+ Store_field (tpv, j, v2); -+ } -+ -+ Store_field (dsv, 1, tpv); -+ Store_field (rv, i, dsv); -+ } -+ -+ virDomainStatsRecordListFree (rstats); -+ CAMLreturn (rv); -+} -+ - CAMLprim value - ocaml_libvirt_domain_migrate_native (value domv, value dconnv, value flagsv, value optdnamev, value opturiv, value optbandwidthv, value unitv) - { --- -2.9.3 - diff --git a/0003-Don-t-try-to-memcpy-into-a-String_val.patch b/0003-Don-t-try-to-memcpy-into-a-String_val.patch new file mode 100644 index 0000000..720787f --- /dev/null +++ b/0003-Don-t-try-to-memcpy-into-a-String_val.patch @@ -0,0 +1,68 @@ +From 3d3d6af425d369200a7a62a127adf640d94a38a3 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 19 Jan 2020 13:02:16 +0000 +Subject: [PATCH 3/3] Don't try to memcpy into a String_val. + +In OCaml 4.10 String_val returns const char *, so we cannot use it as +the destination for memcpy. Use Bytes_val instead. +--- + libvirt/generator.pl | 2 +- + libvirt/libvirt_c_oneoffs.c | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/libvirt/generator.pl b/libvirt/generator.pl +index aff371b..463a19b 100755 +--- a/libvirt/generator.pl ++++ b/libvirt/generator.pl +@@ -440,7 +440,7 @@ sub gen_c_code + + /* UUIDs are byte arrays with a fixed length. */ + rv = caml_alloc_string (VIR_UUID_BUFLEN); +- memcpy (String_val (rv), uuid, VIR_UUID_BUFLEN); ++ memcpy (Bytes_val (rv), uuid, VIR_UUID_BUFLEN); + CAMLreturn (rv); + " + } elsif ($sig =~ /^(\w+) : uuid string$/) { +diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c +index fc2ac13..e8472b7 100644 +--- a/libvirt/libvirt_c_oneoffs.c ++++ b/libvirt/libvirt_c_oneoffs.c +@@ -394,7 +394,7 @@ ocaml_libvirt_connect_call_auth_default_callback (value listv) + elemv = caml_alloc (2, 0); + if (cred->result != NULL && cred->resultlen > 0) { + v = caml_alloc_string (cred->resultlen); +- memcpy (String_val (v), cred->result, cred->resultlen); ++ memcpy (Bytes_val (v), cred->result, cred->resultlen); + optv = caml_alloc (1, 0); + Store_field (optv, 0, v); + } else +@@ -715,7 +715,7 @@ ocaml_libvirt_domain_get_vcpus (value domv, value maxinfov, value maplenv) + + /* Copy the bitmap. */ + strv = caml_alloc_string (maxinfo * maplen); +- memcpy (String_val (strv), cpumaps, maxinfo * maplen); ++ memcpy (Bytes_val (strv), cpumaps, maxinfo * maplen); + + /* Allocate the tuple and return it. */ + rv = caml_alloc_tuple (3); +@@ -900,7 +900,7 @@ ocaml_libvirt_domain_get_all_domain_stats (value connv, + */ + v = caml_alloc_string (VIR_UUID_BUFLEN); + virDomainGetUUID (rstats[i]->dom, uuid); +- memcpy (String_val (v), uuid, VIR_UUID_BUFLEN); ++ memcpy (Bytes_val (v), uuid, VIR_UUID_BUFLEN); + Store_field (dsv, 0, v); + + tpv = caml_alloc (rstats[i]->nparams, 0); /* typed_param array */ +@@ -1646,7 +1646,7 @@ ocaml_libvirt_secret_get_value (value secv) + CHECK_ERROR (secval == NULL, "virSecretGetValue"); + + rv = caml_alloc_string (size); +- memcpy (String_val (rv), secval, size); ++ memcpy (Bytes_val (rv), secval, size); + free (secval); + + CAMLreturn (rv); +-- +2.24.1 + diff --git a/0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch b/0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch deleted file mode 100644 index a4baded..0000000 --- a/0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 2bb6200934090f34f81d1badb9a55f5a86a7fb32 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 28 Mar 2017 13:11:09 +0100 -Subject: [PATCH 4/5] examples: Print more stats in the get_all_domain_stats.ml - example. - -Updates commit 380f1e05b244ae4750ca5101b5b5a182dcd0d1fd. ---- - examples/get_all_domain_stats.ml | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/examples/get_all_domain_stats.ml b/examples/get_all_domain_stats.ml -index 4375639..cc86da6 100644 ---- a/examples/get_all_domain_stats.ml -+++ b/examples/get_all_domain_stats.ml -@@ -40,13 +40,20 @@ let () = - - let conn = C.connect_readonly () in - -- let what_stats = [D.StatsCpuTotal; D.StatsInterface; D.StatsBlock] in -- let flags = [D.GetAllDomainsStatsActive; D.GetAllDomainsStatsInactive] in -+ let what = [ -+ D.StatsState; -+ D.StatsCpuTotal; -+ D.StatsBalloon; -+ D.StatsVcpu; -+ D.StatsInterface; -+ D.StatsBlock; -+ ] in -+ let who = [] in (* empty list means returns all domains *) - - let quit = ref false in - - while not !quit do -- let stats = D.get_all_domain_stats conn what_stats flags in -+ let stats = D.get_all_domain_stats conn what who in - - if stats <> [||] then print_stats stats - else ( --- -2.9.3 - diff --git a/0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch b/0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch deleted file mode 100644 index 955a4ca..0000000 --- a/0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 3169af3337938e18bf9ecc6ce936d644e14ff3de Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 28 Mar 2017 13:52:51 +0100 -Subject: [PATCH 5/5] Change binding of virConnectGetAllDomainStats to return - dom UUID. - -The virDomainPtr object returned by this binding isn't a reliable -virDomainPtr object. The only thing we can safely do with it is to -get its UUID. Modify the API correspondingly. - -Updates commit 380f1e05b244ae4750ca5101b5b5a182dcd0d1fd. ---- - examples/get_all_domain_stats.ml | 7 ++++--- - libvirt/libvirt.ml | 6 +++--- - libvirt/libvirt.mli | 6 +++--- - libvirt/libvirt_c_oneoffs.c | 13 +++++++++++-- - 4 files changed, 21 insertions(+), 11 deletions(-) - -diff --git a/examples/get_all_domain_stats.ml b/examples/get_all_domain_stats.ml -index cc86da6..be91f77 100644 ---- a/examples/get_all_domain_stats.ml -+++ b/examples/get_all_domain_stats.ml -@@ -8,10 +8,11 @@ open Printf - module C = Libvirt.Connect - module D = Libvirt.Domain - --let print_stats stats = -+let print_stats conn stats = - try - Array.iter ( -- fun { D.dom = dom; D.params = params } -> -+ fun { D.dom_uuid = uuid; D.params = params } -> -+ let dom = D.lookup_by_uuid conn uuid in - printf "domain %s:\n" (D.get_name dom); - Array.iteri ( - fun i (field, value) -> -@@ -55,7 +56,7 @@ let () = - while not !quit do - let stats = D.get_all_domain_stats conn what who in - -- if stats <> [||] then print_stats stats -+ if stats <> [||] then print_stats conn stats - else ( - printf "no guests found\n"; - quit := true -diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml -index ce1878a..d03a127 100644 ---- a/libvirt/libvirt.ml -+++ b/libvirt/libvirt.ml -@@ -408,8 +408,8 @@ struct - | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu - | StatsInterface | StatsBlock | StatsPerf - -- type 'a domain_stats_record = { -- dom : 'a t; -+ type domain_stats_record = { -+ dom_uuid : uuid; - params : typed_param array; - } - -@@ -467,7 +467,7 @@ struct - external block_peek : [>`W] t -> string -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_block_peek_bytecode" "ocaml_libvirt_domain_block_peek_native" - external memory_peek : [>`W] t -> memory_flag list -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_memory_peek_bytecode" "ocaml_libvirt_domain_memory_peek_native" - -- external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats" -+ external get_all_domain_stats : [>`R] Connect.t -> stats_type list -> get_all_domain_stats_flag list -> domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats" - - external const : [>`R] t -> ro t = "%identity" - -diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli -index d1b5992..dc0033b 100644 ---- a/libvirt/libvirt.mli -+++ b/libvirt/libvirt.mli -@@ -494,8 +494,8 @@ sig - | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu - | StatsInterface | StatsBlock | StatsPerf - -- type 'a domain_stats_record = { -- dom : 'a t; -+ type domain_stats_record = { -+ dom_uuid : uuid; - params : typed_param array; - } - -@@ -636,7 +636,7 @@ sig - - See also {!max_peek}. *) - -- external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats" -+ external get_all_domain_stats : [>`R] Connect.t -> stats_type list -> get_all_domain_stats_flag list -> domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats" - (** [get_all_domain_stats conn stats flags] allows you to read - all stats across multiple/all domains in a single call. - -diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c -index 17412f5..958ba69 100644 ---- a/libvirt/libvirt_c_oneoffs.c -+++ b/libvirt/libvirt_c_oneoffs.c -@@ -570,6 +570,7 @@ ocaml_libvirt_domain_get_all_domain_stats (value connv, - virDomainStatsRecordPtr *rstats; - unsigned int stats = 0, flags = 0; - int i, j, r; -+ unsigned char uuid[VIR_UUID_BUFLEN]; - - /* Get stats and flags. */ - for (; statsv != Val_int (0); statsv = Field (statsv, 1)) { -@@ -619,8 +620,16 @@ ocaml_libvirt_domain_get_all_domain_stats (value connv, - rv = caml_alloc (r, 0); /* domain_stats_record array. */ - for (i = 0; i < r; ++i) { - dsv = caml_alloc (2, 0); /* domain_stats_record */ -- virDomainRef (rstats[i]->dom); -- Store_field (dsv, 0, Val_domain (rstats[i]->dom, connv)); -+ -+ /* Libvirt returns something superficially resembling a -+ * virDomainPtr, but it's not a real virDomainPtr object -+ * (eg. dom->id == -1, and its refcount is wrong). The only thing -+ * we can safely get from it is the UUID. -+ */ -+ v = caml_alloc_string (VIR_UUID_BUFLEN); -+ virDomainGetUUID (rstats[i]->dom, uuid); -+ memcpy (String_val (v), uuid, VIR_UUID_BUFLEN); -+ Store_field (dsv, 0, v); - - tpv = caml_alloc (rstats[i]->nparams, 0); /* typed_param array */ - for (j = 0; j < rstats[i]->nparams; ++j) { --- -2.9.3 - diff --git a/ocaml-libvirt-0.6.1.4.tar.gz b/ocaml-libvirt-0.6.1.4.tar.gz deleted file mode 100644 index 75ea1ec67e6f6b7735aece7102121b6fb7815e90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136023 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
Fy4bdaBSYd+}+cWuh3Rvu~c%A|q?V(>Rbby-A z+q;wN!k$8%EPfX=c;Il?*HbwhAz*inN*IvLPbbG#AkmAGvF3GjjGZ}x?J2psQ34un zMCJL+bE9NECIaCWJ%vhIN}BtQR6?%lOdwqdyRDNkBTOglZ|P?}D}EIeQP}ICwohMp zVSVmP?U;(!R$48!DZ7XkBCcUy>O+|*r+k9P+_z2%>XBXkNhXBR8GP#O zCM+ngA{2veH^W=%@k;{>Ws*DBS#}VTf4Tx33I%6U7wR%N(7}0!eZ}T4Ct?I*4ve^# zCGD|mjf+f=-OPl+D&=59b%o5RWptAL4O0||5_YzOjGXapf-l`e>ijL}W-zAs{ZB|z zin6e!hJSUoD!n-V>GyeC~Sm}&f&nruW* z!c6(t6UQl`Me2lI`F)wdTrr#AK9YiyGpw&BK-_T`Y?4@FNp0`_2oFx{ps7pOdi!P2j14UfaHI9!!<1t=^iWqY#F>2TDO}DK-~h z>c}y{9Q`v#7ckg2=*a%P^>~do%E9QnD?XC;b%@RVI~rLMNIk=n8-hx0M;zwLSw^qN z`sOua(pl=-9HS!8qIQyhxzL;?2Q==9X=pL1)>8$v|kk zbB)fTP_IL0b~Ll~)wIO&MCI#<%OQ;H_$zCQ`QL`o( zMFztx#7guNSukl@-Pudx#6;wDTvzd$17Lx8pE&JC+Zu8AtKyxE?t)voibzhr9CxG< z_#<*>?O83bm~zLsq=jKhMt%Rz@1tEBSCKm?kz3QFi>|P;_c(v-2g6-RG|5aa1IDvi z`lW>vhL5o5teXwofD>;S1OI0BC_jG@|Vb_l-kb&6WP|Kpa7-?!0uH9H) z^)Ci5=_Vc-F8iKY(@zFTwXV>-7A@gmBuHIMMtmxJVs?Ft;l!Y7+{b}Y2cSW1M}+7U zw##;aC()k@Flq#8%mZ@kb=l9j=CfOoGls?(Wi298&^_v}PXUE)*OTb}KDZ0W4i%FC|C-x@NGPmC+-x_!)qVR(DvN>TZbO#_^)}@IETQ~&y zw`s-dt?b8k1c-{zC5@!KStj2cOlRZLY`T9B54kQhuH%Wxn6}$UUdFJ-_BLMR| z{7C@PQ{+&jftl0byr(C=S+^Yt9( zRhlEEJuSlg%{NK2Xus=KQWJgYTQ553iIa2LVPq{DBC?3IB7fZu0u4DGx=z& z_4uY2R`{%4uJ8 z9HVjYXgEL4g6sR#Dd;l~1w(8xtvAsaFTa_vU%p<<`Wgx9JIO@6ikm~Iq`MX7?Py$( zl9RrNpp+q+e~z?NPz=o`n+<1XS(+u&lrBd3jZ#Y3s76aB&5Qat7hqUGz%*a?|Y&uoQmhjXS&>DP&fP1nK{wMEoD!BA%A^a)(rzl2{S=a97U)FM| z`nxP}#X@~TqIvFXG7^2JYI&k!hEL2CA2Vp5CO`^J&JrP0+5R0W!GH3qCN0daYpR3) z*(;m1h|Ai><`}dn(K;~dLpSuiaW<+jx+)QKRdcb!*y-9H=Y8v}(>y!tocxqZXdRz7 z&yM#F@#W+!_3`+mbJRRKIr}-A-o7|JJvlp1eGuc+&byO#`V+wHpBx`I_tPI*$M5$J zTL<*D;M2j$(O#?Q2lLscT2*-uQH--*DS0t%zDa!G8`6<^V- zD(E&_s*FRB8+zhlhsiFNu7q-SwHMnAZ4JCTZ;+8OQj|qJa_{W8b(~(OnJ+!5f0DkL z(j}%Oa@c&|Jhb}dIN(OFke8K^r&&m$z>52VTe>SP&h|uNs&C9jwIOCv4pa2*In}o+ z=LrbFequqW>w_Tb#&!Av07Jf;4Bb%;Wmi%kN@fjg)!(ic#$e=b(7B<2MnO5PWDll0 z$b?(}O1O=$frBw^u=ZhNT{X%EK&On?UT8wBKLz58-c0O`)SYMJFg0Z(@1%|7MNNc? zI~q_Wz^lDRu7QBDeI2+_tgoUebGBG|D4h@YIXW}%kZgOh1kT?3BD6HlMJMRjgP@D9 z4@2|DAyE$Q4Ow{wJ3pM5{XimL@;!CDFU{+fjvWJ=JGw`W&hp7ME}3cCdr01!Q4J#Q znq;e!HVq-S3Hco(o845dS>2M386lnW&+3nC;MnW{r!)x^_|zMY<438Ln%#4ip64xj zh7lkQgqRCzl1;Xmz@GF=JudNec_=2yEB3UZ>ql%uh!&)3?6o3*Hq?DDh8|_>)`SN; z=PLYkGDWPmuaIdYLH+uBqc&VUZFim>hq)ZkT6i{hH`oCyVvXo4Pk z%=5|d5#DDe*9;+rvP6qdrD}1}+#F550_oPrY>93^aoPp4L4;{*_4Rr~jGYrdqQCCm z#PN7{byaZGgYbIw=1%HVzln!~FSB!$4Bf^>><>`ktS1HQGsw@YJMOT1jgIhxU2;r` zD${O7G^g5~XO}Ojld>lZdF4DrpNLKj?bGGer^FehC-FcrN;>3~rc)onf261y__r{A z7|pCs?%tVT#N7mdK_O_d9R~N%?^$~Mk`UaA!B?;VaUz169m2v3ltc_sF3;s8i7%UC zW6e66p}%3C3_02rOnY=LOF>ohyjQXq$T9`$+nlAo9|6gDZn)&Q(c`EGtr@XNw~m6) z(@K2_WY#$$L2XmNM4h-}d$<{x+U( zt(m{@wEq10^X=a?)*GAan;RROThD)oU)LMIbJo6BBd7hF;IXOW{4V@kF!G|}e6zm) zFZ~C5k&}HO0jKLzG-N)FQ{#>_zr2smbjOdRs&>}b)}A|OFrD16?|i5q)t$d!zpQ{D z(Rbbfi)f8{1eU`fX(H1+Rx2Y;X|kjWu40hMy_dAA<6;Vo0iIh}L|eh;A!{ho&bmt9~W6Xjn+eC*S4 zL0hWgya@om%U6zh1wweWa;&S;1R;4#S$1QN|HpD?g%={%SaDVmhj#hHJrDfq7FkxZ zGAEwzfg9HAtNSOXKf`Xae%N|l&+WvduQUU_3C5zqhn`Y*HJDRUCD2srL+kwA$;G*| zcl@&hJJz$k_>af+Ipk0R%>jmH5})ny+;xQ?XJm0=at@b zQyLz;rIK{Wwj^Dj98pjcA=X{zM^=a!p&XR#%|TM|?<=QFt3gMp91IlYQfUCvDH-}e znb**qS59L)Nfgb2{#JLf@@lg{v^}R$T3P@#*610SI^gaFShF5h=eSZqWJRnJzo6&eD>St z51%9@;FM4L*hsnGc~yeSPI__4GLlel=v~RSF#vEP z!gnXIPl$(W9%qi&4b+dRKqF=xkt`(&Tn8__mU9qxu$Slp)fCLZEX*2GsAq+E6jTOPGObggkEWv1GdYC~eclyapqP$PL1s`+LjUR504Rf~AV|=U z*e#s`W;V4DjnFE}bfur|Rr%p4O@-J^92Ro1wJStlh|vbj^bJ}ub#Ytidnv5EQcURu z6EwH3cI<$!sI!eAr?Y33kg^J#)$dcvlPam}BTsLPg3Pv}80XWfpIbtzE5E+}X$-}q z@x9tJwM3~E88<$?F=9c&;MtZGV0~Kki_1v$=vTHufzN2mj8eXCNK$2{nMxx4Sml{Q z(GU%FId4G$8Wts7l8D#nj{a2y##j9NQj3eP z)YHq-!UCS2DzWhu|Gv~h<1792MPx)qS=G3z0$No$Q!Rp4Kx0l1o5%CE1scME6P;1m zp_Q9UURJOFFYFOIzWWW9t=b0o$Y3hfS_UG`kug)?#r|9sH4ca61n#DFEGN<*%=&kL} zD-@q*ip@5j@>iHal83I0jbM7a_a8IC|CkB>$4u})W`h4Q6D<7tKJzhUZzZcv$|UcV zKA+2QSLE2`5Gn zoCYu#C=0~=kTbBr*wcdwN$HGgIkU2=#7yV%B4_t0r{z?DSH5%|I5j6bE{N&On3gv) zXqC)N3`)((&WmR{JE!Jk$2B#b8PjsIp0v{$Pue-zc@NKF&1$P#7NIj%26KE)2W$CsYTzel1eR}w=4@3%v=7L16(xUi>A6ELRcV1dS<8!*7;o63bWb1hx{Ix^}LVq@_nUlj|Tao4xv5 zshR9V2XmNRYE2cQIwsHk}?^Q%ItiYlF5dIXJ^Bd zOtxb~&{GMSOh}z}E=k_Ci5v zQ#&*NY7!-+Zy`})(LE#jXx}5Eq}Pz-IkouCn@Izm$D?KV@-AwtShAp{v^Q&mF zxoLWVRL#;&dZnM#2@vAxPOjj~>&exX7uLnQSYv(15ueBM0X;=aaR^Wref_ReemN!E za!MzJe=5@e%JUMT;(Lltiop8H=2ez4O)bEo*PPYmSZ+Tris2_v|JIQ z*V9FBVSh3vjU|NeKs&|^LMnKvIJCtXRbFBUDkJd#<7Gp=NM@Svubj2c;3dy=dWK0( zr&n{_KAL@jhpaL~ua|ST~ zX5*VO>$HHa`it*2qj;l$UE{_0n64aEInNFiqZ;-*V>fh%+71~_43gvyh2JbWbn_>Z zu7|gcU*7oMpx?r!Ph=K&Fh5<`-||4WH{~-tq(O~u8PGR_z@?i}SM*?hdQDy>uh_$% zmNVc_PQ#64tKpe+-EeeQR?zU|Q+~rOP`lwaXtv?W_e{f+PgcXzaBY!h62>DvGxV=9 zn1Wa*JBMf#tiRD5QJ;`!Ox(c?qvj`=8WR?ZYDg3v={XSgVcGb*P0^4>PTK6$`!Jgm z(sFVFUyJf5FkY$-uiT!OuEj$h9!Mo0n{hThT?8fe!(ePD#<_Uo0=#h^-Z+c*ix}yk zcPwCd{%|s6=XiK8L*n4bc#b{qmdIR^c?d8Skyniion3u5Q{CRg>!lJbj<4NrJAR zz`49<&rwpwOuf+kaUn8+u(0I&pDRRx*)8}aUgNyA5Qwy7JsIZsVJ<|%0Cr8>yA%d} zxoBpU+&eE_pBOJ~pfc!a_W;|+ zuz1i5E;Aa~Z6s65AYt93_+q){_r}hrz=%Az)C6s2EQ`xlBbzOBo>87z_!ELIOj#in z4hwa0RD?oI3Z$GB(Vl>X0W#w|CA81f0n~7rQJceK`_$1X#%x@E`(P8_Or+UsZe#dz z$Gi9}zSL#9BFqX$_EKW@nqKCz1-c1@a|#bs1kxZg#!Zh1z&ksJFd0oBwGK6&s@t zV@4k<>Sz#a#~-kvky)Xn(j3lrxwJrsG0;_tRiti0Qx^eZ%IDL4HI>u4kWKm0IrosM zqxUnS8BD|P*)xY_OY?%LDwtd9U7>!#LlA)0EmZxT+eSSYvs#(D;cT@Q8DqA+c@S9` zyXBlZv+cB{a)b^2U9;K%}vZmQg%NHZnC(cr*ftk`X%;&O=hOp?jOTMTE%L5NE2@4N6Nl{ee?;U4RLVyn9c3G-Iwq zqoKQ9h2)!~5>L7_v?N|-}bzPfo*Vl9-MIoH06JG~`MXg6HsQ1mD zA=R&u@+J(1?U6f8a;Te`0opqs@)DUe@a_%^hD4!mzuOcx%{FsNx4C{{qB5R$H zJ8-l2+@-u=3DHW-iR8FOXtmZV5TUvtn+ zzkUUD(RMA7=MD7KQ^`h1WIhVfc6vCvZR4Od-3rQ}-^!Ur(RX=%0)hB+5D<$4ZrI#Fmk9h7rv|I!@|zonXvODHoq#?hMgUVS7YtX>e16A$U@(dRU3;a z{)sEJ>fi_Aul$BXwyZl`BY3Ff_5FjrsbyeeG;+b!z%a0SBTzk1`GC5Y1XRB>aMEeH z;A%i0l!!}j1gZzPpu#-Xs>1vx6_&Bj2b{6OnFG(r%@iuYCWeCHn1jRn|Djxh+ZemQJhp37v&06ihoREfBhWZR@SrZZOrTxyKTL&2BK+3gw3@-zU} z7+hUV7n8e_>+C%G8m&^!a+p*y+0K_!^;Mk6GbKk=bq14{a<(DGax*kbcse{iRVKNY z@t{+WVDvnVUHrU=ia+@fXUvW zuSqv5_^ukpzbZBK+z3;1K)&R01+0+Whl0p)%D*PPsOk#2{}8=Q>L%}c?D2)GKrhah zvPQRT3+S=NSt-t<%gM>3DK3^Vo`Q#~R7o!-ss<}bgI1(1E7FXLF<{A%;oOtQm-?gG zDf&72toz6&J$v|^r1$tCGjv$<4xaE)wrNeM=(Ex}T8o69J=Ir$!z7NCEC1)89R)7`Cr+1rWyDBPuyKGmA_XNkSk56Sa z=}xM1#WF01lM7i6@45Z~Yl*qbVxD7l=(j?uOA@gP-I{(Y&4kRxo$m`gwF zN}-qLG=oXQ1Xq;JS@y1-)~O>sLs5vZiyfLo8e`;zXxo=T%8{Ar8=aG{%1u$kdcJ?^ zAk!tB#}|i(6@~9b7QCc5>l5{ zz{1?NMU@J`m7P!N&CWxDTq7Wh4%+f^kV=^5(gpFO?gIMxV$hpyrt%OK^ZK0e9pAW- zXR~-Ql`&W=Y~y@bRQ_Rzmj`~-OXtgQ{HL&dRgo;mSJ9J5r_Rsiyvi~6*RSQg$|}8R zFN5bv>p`7rn^^`Zb*A8%?q694vYouHRHx~lo^Jt=I?_+V{uR|!t8|Z*yItaz88LS? z10MuEcd(mX3FDUr7Rp5221Z*66dFb74TIP#z@boZCZ{(bQ@sohcM{*wU6L$|NpN5$ zoOnHoi{@~4wyvUMmt<99ez%+9fLNs*YyhiRO4gh85ZZ1Rr(*I+~tQq z$4qJ3ERa!hcV|(mbPHv+*OQ9Y2_l7EMk0$|f0!RXgQN;D#xkcA`)h9RD6Vc~O%;(W zXleAxm;6>}LNHn(X+{~aG!?A}mukjQ-@cUYd}+4&rLNy6ULC$kG1jujKf zilb|ln)2{&F(R&xIh`R#X4I%yuCg_43-e05vhx%7K}K8cDQBWnT}|lZrASl(rWuF9 zpinm0#Z8-G5lMW}&-%eTe$Hmc1DBIO!bq+j~?F!4vJbo;vt1e&g@u^F# z9)xk8z_Q&JB#I{Y@LwSlf8L#wxPs>Y(x@Hu%7F)Q8O zjXa|P8UIYjZ;1BK?EU%VuD&1L7VMCalw-YhQ|;s5Cu#C<0m5=*cciyTdf2CKln^qr zRU#IVyNS}&6w8ogwz7zD#lek>WJq-fs?Fdh=?2=;s3A=E2(evrj8%s0vVe94#b-lW z;bz)t_)!F{IvLSX-qRPq{Ynhcygb21dPdOm^<2K~+q zjW)2tSy^T&y;TDXl%qxBb&xYR%nGxhmz@Juj1}n~J#p#3iSt+0fNDlHy0M!(kaYrU#54Ki? zEBXzK=J|Q(K0a-ppNu_o&BMsJ-*vJhewyMZ5*gSmiPuIIjrS>2-e~AIPI;>Xc4!+EnUP(!lCzTRiO|#|pCa}z*02!IH_mx)TI>}mbm5%KDOLnl*R zzpAG>d?NI7*X`XJ4jPpO8UBM-EnnhYdGP~C0+`N{xc99Hv{)|5zg%d}k^>s|_Ia?2 zLAA|N7F^pG6@#lRSzvXiW(u%A+Rp&%gMeaSt>P{!`HU&+i6x8vM(UmmY^iv%7-(Pk zm!LbP?uO1F4UM97GG@8ZrnH@b$8~uIyt#B|;7^b67TU#lO6?QQn*%LIdsCqmFUxiv zb112Qe%Dz{Y)TEtx_m|rc%mCP(o?uYuHZCJq$Bjui*7nr2F)8r-UBnID`)Lc3Al7t zhG%4^Wb8$g0cQO@foM^f-gXtMjV8Sw=SbFbgi}=^JB*k@+LF6mzSEslhd;e?-nr3D z+#P5~_S@#=ea)@RCS7|YFZ6rJ=cHu+N~1xK0F2rIQ9EY506~YV^%5I za-tb9Q31?ss64pYrRA50snHyeQ7-H}rRJ6EcdlLhFX~)RFWkzQU@2LCD4D>}!-5Ml zs^bsGgPCsp$^N^O3!6ee8GRMz6j(u>-O=Mxj>lJc*IZ6E9+0Z1jq%)JXSca7x>T%b z@&1!)G8AoBs_)IJ)>MB)xuw}SweO%{5<r#GEtCP31R{u;+{)(FsLLI%EGK zC^csI`m$DMbOF^!jQTaaaiu2_@U9X*@93(z{l38s5VP`#@nB}B#e$NT6LFBm&1Bn{ zk_rpUn>?X35g!YS(o$q`>ok9ytGqMw>{sOg>nkmjnNvnm$nS5)WBDI8R z8%yRiRm-|lnwsH!^Hf1g$VHuO3(7N^{*;of#^;r6N!j0phHas|s9Y_ZPigGaW@;kJ z7nNy9^i#X|Y4l}o0*XpD_5xGeJAbL>)}g3Wy@U8JQ#aXc6ql#=9N()zwLdAOB5RxS zotR>3V>7e0w7>bzE$01De$nt*#rujKYX!C?09t9Sg%&c&I;v_IdgFoH^YWK;_%C^r zcwhR4tt}gf3oW$;OYKpLu+tuemULrBmMc@x2Brv&22aaCRH-Dd-FrzFpg*A^aI*Y`&Zol6V98=_U%du#|KE=S4-lAZ? z&r!;LZdcT536Fc+z(Oaw8rmi zTxqUncgeh5&%&I?^Kv>e#qmrO8Zqh3=6|Osm8{xAJRj_*Hn`HeGg476M!HbLfd|G{*M<1Db%^~Et48c#7B4R z_V5Cg6(|n3a&ouBPQP>g0j+515OUvd#X>K8F3=m*^q;qE6%_MNTf3%|_uUsTtE_*< zDrOZ>u#^#H+jBTW@rCo*Du5uqdYQCPedAi0)3IN>V5Yh-yK3@G{|ZzH_Eqbzg(tHJ zhaPP=5Ybcc2w35IK65Fuu+3c4XDsO%Wb>@+Pp{(CfM^nSOJg;e^(@3Q18_|j7Bct> zB>-nYn7;;V6`rxKXRvD#Wx99*C2~*>Bus@n9GmvX0qeE@5_zvrZM9jK`@ybQ$v55=nI9wtc;Q23Ud|k9mI~i zJgMUejB&Z@=)3*Ia3}yxf(eGpk7ru4V5V{jwTsK_{3oN)?syM9Z>$Y;Q}FnQ&Tz}l z@_Y4cJl03b_tb>7R`QIA++uq*9-^TN;HS-t#tv9x|Hh)}A|Oe(%N&`_6~@QQi3q_RETM2K4pLjbWDc2<#?~$GfYFg6ctd zy$Z?rg<`%#dgz9a4m=Voh=Qy5-VME%&SNkEX<-CgioTD$yE}<7v^xfuUqyHMRW!f% zuO2ZCcWfcu=!TgwjFbnBx5pRGp%+E)?Jb&P!UR8^bO(M9p%49@H;O#RjhrzilBe+Q zBLTj_sZ&;!tbP;AsH4xZx-@OcZaZ&I&YV5xbnooEwSRHAcjla4 zoSmMun{~%&d!8C68j-xA(&L2mIK*(`>=ZRp?f)6*B!Wr~`pyjoFAu$*=cDI#7uJRG zTMfwNj&5OOopucQ0mmEv z3h=)H*(zLdUc(**vmfm_!0sArwZ_I;!*MR!dw_7YRDyYVI`Ghs1T4i~W1G+7>yjH0! zKxyPc5-{=^SUd?wSUqv2_xFwtDVpmVtXMB4fm~#)JIjCriWp-HUzVhW2$GOl=EGTTU=?{gGN!&!#WN=U(#Gf>ohxn^7rLg)g&m9Pqf|#qaYkQL zEwKgCZG?AGix1r>=A6qMKW-O4+8+{H z`#qwm$i5eP=nYyIxkhnZ{v_n-in)f~5Iy`Z{}DimicpOY%nDwG*x;$&V~29@TW6i- z*;%J`eBL}e-aEvXld~inn-)vPH)khDo#T_^X7YUi418eVNr4Z6F}ieHZkfBgqEG*& zfBs1QC3|u`JB$IO4j`!#=M;}GGSZG4UOUTGN+lmG9VXZ1LXo(#;;3o7T0K5F2VS@T zu6aP+hEo~DSoC}2Ma1EUAdmu22NsMcDAK#cPAXg#*eNya(5sO&3?3Bw!9_~@#sMtf(1*6v5B;di`~DpX(*z`$ zm=;1s<;UbTaz($hr9Mh*I_Z!I(Hl*M5w4iPmjdQr6t)rN&aT%ZZ^eN4(LwR+&JBGK zH8A)h%Sn|)^zjIl!hpHQs5g`~Upa#TsRRT|#t0%Mjxie`vJiFyVk}HYcNDRZbnlVi z*-Kgo)nSjAC|-epfewYR>IlxFo37+Cqmvdm5h_T65X4jH)CvlJkIofv5VHv|_PyIj zt~m&o9@61GnzBGeut_Ku0=Yp?x#HzU$(}5Hsb)guSxCc`=N|tHJvFc(4qan(%^1Y4 z7WabPAL3uCF}$U`+?6|1Ov&5wC-k>gZ5 z%J0%LBBb#HndO|nP2lY^$SwT85*_|)-9r+t2Mw)eK#d4F<<1*7Ne9#@NwCBK9$z1SsHG?zD}lkm<7PowXF}zO)5M zQ|O!3ksDl16z$+ggzr*LKfF-ef}$pxECQZuKP1h~fHV>iHCqUTUkZTMS4s;ad+Y5I zL5bA1;wJ5Y9ho)DCxPvU6Fy=EUE~U)cC4eY)!$q{#6*ar(oRpDvZxp zjGREv8|#7*o*M-)J5ylRE7{Foif7Pf7)cXwj@X+nZ}}jXnFYvZMvjpe&&V-Gh5FPS zcey!K7TH+!CQ%Hv3C1WvfM~*DygS)sJ{&CPe=V<|@M|`l5;z-5G9V7AU9j=x#*J=r zk|Pkh2uaSjzL)u0`Z7nWu*(Y@mHUy}WRBFovPpBb35lezO}QVbO(t#qPa7tr>cS@F zexxRuli`0_lkTQ9Dfc5a>F(d(q-4ETe!p|nJ@cz~QcJY7+gbi&K2L!KVF8u|(XQAf zS7;S)a7l7Yn>3eDlqiK%C5l+JZX4Y)1MDpJVzVISJG3g7sbm|ai#6K>iDr8M)!fY) zc|1&V4FTH&N#CJ8xeO)So}^r}L6B-T2yo5aAeh^PxXmZYcs`Deg5>Yes9ctkZIoTM z*|1YUU^EQy&E2p&yJ7FSU3cH5UAcUvuwCyn&3bP)>#n$2t8$WcAG+hnnT$zAu?!T; zLVCp^bLVB{{GpP+Au#r!);v^7a+3E`{nB6!?_K6l0VTQoZ9ylVj0aG?b=Eh_=88A~ zPWqzl!d>C6z^=f2eKW$tB(ra1$`p2v*uUpY>wii25Jy2C@~`P0m_l~4qFNqc8^$)<+7Q7N&hgD`zQ2|sou}qa+%G_N-gNm$&?$C zvQRz49V|NZ1el$Y^4Clqa`tq{z>*qRd=1LiYdqyrMI#$BN@gHBuoe!LDmG`Mh>RgA z)@B%V4Mo~a*;KhWzm0MQiVNnspDH+K|A~_>DL6YJp>VxiQdU(s&L5+21ClGi^D9+> zob4@Ab*2Id!6Qkk^6$*@?{dq3uZq8u;{V;YK6(H0?Z3p_Ip__sh>Gc=NU+dOWb?HxL&7q1Un`wslSdE9Q67PMMT**&c| zf0>Ltr}5%N1K4fYCW3duiz#&tIFVPLV-771 z2(KqD8f?K>kX_oeqVQWu)wx!KED{qYlrv4$9A&hJ4TWxjI!1W#8Af%7gpN{yDVIA& zBeDn!r~Z-STHBr~p_HY_=)n;mgpMAa04?#HaTr{KpyAx#;G&A5Zh{b%j}-7E4oZ`V zhYzZ>OlB(#Rz#In<9Y#*3t0u0vho3**u_gz}+=9sdz zVu|eMu%!ld7;}fGOs0O$vd~U=O{7qw`J}=g!n%l-ocDfoQ(4hPDJwldG6{PgpIza3 zGj!NBdaj5|3J{1EUJXz>n`cV3s1d;N)E(;B<60t;5gv1MeO14|WFk`N=r~*9?FVw) z4{aD-M>IO;0fNS;x1#YQE*Gt+b8p?3A>PmPd#slu^w1eykT8H)kv(B&dLx?ZQV3&m z`AgsrR#8;ADpnk<^M7ExFo@E4^B4@Pqpb563NzEWH_*yb35Af^(N$7e+ zH$W1QXQ+sQjEa>72@woD`C&;74bEXNk4nUr^d81E_Quh!v)riAy2MMR-RnS>CD`^r z|G_*LGBH*rHp9R^is<9OyT&^{xZ*{$BFmDuVvaCdORHft%cENF4I=0v91G9I5hL~q z{8pNRSY7s&!URvVQ4zclT!}i|Q>!r9VuLU>>PLDgn4OM-#B3Ogq}ExBO=6s4vSF&c z&(_%yuy8Dej;^t4V~`Nw6Ur0!UP-t`WKs}RSB4C2dlYf7v9PS^WHbXqg4=)2Wn^5sBEA8W8|%9^lXiBMVna)}tlJFrLJ$KI55$pE2Gn7Gkm| ztWtbKH*t_rlZhEL3YHLRy)2Gn{2b#t3v`FPl{g3;*J1g6i^E~Pq0!>&?QE~g=l$Z1r4w~pv@l5Hd=>n5;X7&%a8|B^kZF^Cb>GIVJ70C z9v`}WGUM+JJXdN6T_6qO>DSdVRG&#xNNY*N4dn8WjQy_jxg?m?l?*n<@z*n#)~5hk z$XxS^44cM}(1MkOeF?3XnA+qv;#GjsUcL1Hm1YXa@b$cTcGPzEjt`vuljDQddF$ku z?cZe|wc;GK+UIAj*BAJSG9H~AwBEG#_b>q~zgA~;O^&D}b}%ywYt#&K72hd(C!sD1wxv0(uXDEkOQml1!vnu3nq_YzXI$Xv9hb zn41oO-y9dJfq1XnRyO)3DfMD<6#!32eObq8bMgGei%M%j=c?JFt}$ClOrVxxXc zE25Jjw2~@$8Q7qQJ|dA9!Jq@j!pe0$Z^VoX+L=@1O1<=f1sq2cSx6@Nh%3TU)ViY^ z*$+Hk2^w`4V%*1hHmpik6EsVaDaYXOn!+`T&18T3=nP>Mn1CP#lMmRum&m`U^o+)S zZxT$R0hbOuhj=;AE~LoiC~O4D2vSKiS1Flk!g-_-y@87^(6G{K<$vkidfphP1X6%V zcO?dk)QW}j4_&e`IU(=-C>C%x@ zhDwhT?{r9b6*&eYH$O%`26JV)=Ehg{u4R=gr>DbuMbXcB9;8KE%vyxVzgXGt*v+-yobe^zLEeI z#(G(&w1}5FY*&f}%D@s1f+MjzxWY}4B~iI(?$4#T*b9oDafzbY=!boc1qrA~5>QJ& zH@{a=qPy;Twa|~qUj(ocyu!x18QLA7dMadhSc6AtJTO{du*RN{yAo-XK9WZdz^%A2 z&Ilwu0yhwnkSNz5S;rLiVWka`ThPYPp~y(sYcMDvC?P>JJ&i`e1h@+-0c8=UNnvq3 zCzs>7gg_FC_dd%g(+=>as7PR%K4cbfJv2ZiQCN_6jb^-cEtWWt^fnC_VMtFHSw_9V zK&@Yh&Y{h2;N1D%eTpX%mPEo^ZmN5!ySTtwOLiQ2gDa(TRAT^jBNVvS(UPtyfjghI z1S6}tc^$JMtN^e4Whpbc}ot&&DnqH~QWO~qMw8Z`c zu6%N67I~t0p$@|BB!RFnR5&$PXk9|xLsx|Y18k(qMbRiE2{Dm7FmvSL@oCKBY$WpD z5c>EI_hEGH!kmLVvMBM;6kS0*7U`;!c4DkSU45ELDTYM)4mU~_jY{W9tN}_XqND3A z8ZBO>mg_f)#qid|kE}(dlwMSbv6=#>ELx01Z3+cSaiNmk1FQf})FHgjVhc=XAl#n^0)q>R_kU*PHZdT}ByI~&|0~&t-a_(`NX64v90InFv1aw)Nq)*K- zrJraqLcz$;|B;{?#U)d91lf3Z7vhNqNC8w?Rs=x4mkx~54Q(8fqG)?l@*cd9x4%kp zCO301ctCDv8ylz~1aWSF+6=XwigHB(Xme|XTMM60bB4(2-0N%XC52Y@JlqcKl{`eH zw5&x8k`kv#A{Bgh9WhJ*YH%I#5h6T2X&=kJ2^Z>yivJn4W41{&jk}cGRc>RtsGe>@ zy7st**jzhXz;%kB!jW&j1xl5GVENW>5xS41Ee32GFug96$}(}5ldMsmWXb_lrod7+ZErQ=L` zU6JdU*!P4X-Q$*D1AB0+aUj8u7vTBEpt%3JC0{WHy&~#Dw@4ri&@?ditR$bx!b}6i zYk%q-s-VdzqmcH@9gsgC;$R}i$gwS}2d+qcI6_GjIVCzdN~=4R8UYtQx*(E3#hK9I^32+zl5ybaoUrvS{=IF`yjfY!=OGA`I9wSMu9R#%S{p1DHlt|>SqErM3QgMq)p zPDk0U6pcL^aqVPfCDR^ry3i3Ht{S3`!_z!E9Mq~FE!3J|%eZZ4b)jH}KI+mAq=e&C zNoK;({ToRDL!fAqPM6hX>=ox0$k-dOXc8eCuSg3^VvdUw;4zBPCH_bluibv!DM7DJ zMkKdTopn(q5!+pvp`>WGdk+@*tBkZ@U`G+lm;rcNBYH9-bc~=2*r{kS$RO$1m7{2) z22xXtRI8vI6xV?@V=Yq%GSsKUZ4yQ~=1LE?04V22r983H;*#RpCYW5`7`)w=6LVH_ z4#%)*GK@+LBq?=~(HVGZ;5eI!%s}_fNfE^A8rc7l5?y-@%9kZdOsPn{-UHp(rwx=W z^@^Pvq6(g7qJjyiVjP!9#*Bsq>#d$7nyrKCEXCejge3u3mq`6v_T{!V<7k%KK$eFcvD=E3DkX1IM1G8ZO@zrLHx`F$u7EOpO{xWoGo0 zgFUXXu6`-iiK#7)m^y6N`5Xmfbcld5P1K*!;@C85NKGIie%vCf*{E1rNgX817q%4P zNo?y9jRSsFFPPoLi()*^_6iO|l?jEgCm&V@(Oh0lLOQRq3{GSZmMGPi9KG2T<|+(; z=o-4>hK{)EC3_}`g$heau(O4~JshWG2Fj6=!H%gNsU6w#y3@Mig`LzXFh%vr04@Ts zYyaD%e@(hP7E+AeDW5r)KoZ3j$5WZEWIWaR0mThm=F{e(FSdnpUJcWA;zgB}l0k(e z3{yW6At3E6i~S2WifctKL7?KWT~-AroVudcX*BhNX%dU1uZu{{krh5}1u8$W zT)i|F!?MYR*gqk-snZWc8jsLw2gob(hm!$JQ;!de_y7aekZX}E6Ruw}k8KQVJrBl` z)b9qEEd7~5MA2IjX2IN(WB;sWlB-5nThEY(I7G!ZqD~k*!ZzWtMkWQuOK5GK<9%)Rv`k8&5*wU^zNB z7@3Kz&-BK#-mpH260-_a^aH6riuR1ub;?jrbakva@W}-tAt7xx=X_}we&foH23u#; zP@VFLB@H(EIuwktm|-RxY-@;F=wH$L)e<^pBu>Ih{Fu!%6!niuC668EI7c*&UVyi3 zv`J2hod3YIX09W}=&krY9^r>7V12eqUcaQMomiLbNyr*e_<1m5g?B`Zlk8f0#-7au zVTpiViV_vCD#>v#8BwkFgAorvA6B0}S(cKil@r~t%Osx;HcGa#K-X2(FJVSfNj5*x z_7cJdWhG=rd=vO26P~ALjY+0t5{DJVQc$~322S^~N$f&5cy~Mjx?Xm*;#D<@Gwhi* z5j%BtxR%yatculZieveaVLpM!2g*2ycmT10A?^b$|8ntR1xMmP^D5Z%JE}2 z=x3}9NO*ZsCrg+@Q*`VpWqlEPcRroo@{prZvp4~ZO3K4&f!|b;0Z@v?=>)&%coo}b z;-JZcgb6FWkIWtF9*zBw%+{5fDZ+`X+}G0e2&^HD-|=JwZe4vkkhf}w|#EGp4@pp}e~ zws@9n8n}p2zbk*tK=S>hE@(1-9k>IU-8A>YJ4JRZ768kcusQEwU?>47N!{?V?#(c! zU>N89cpsb>G(wZhNkgv)ScJO{k@BJ(>Z_FbWYDs-k$9p zIjy#`ial`NoHd)y$s1??-QL;T<_hLJYhn%)7uv`g2q4!9y*EFeH;>Pq)8^Sx>--$B zz5dzRJ3R&Dd#?|h&f(q%=*{NG{pRVp^Wk0dxO9T(KeV7e?ejeZXdOEr&RXZKA6^`gA@FO!aC~wO{RAz8dY+$9*QmS-J5&bn zm(uRF(Q*=v`iWB>bNPa}ff1sq3v$NMx;se#1iIzOLW;Hm-b zK0Lq-C6xg?s_7gw-!%8nTkm0bAtw~mzBp=1f49%6gANa!hh*@71~NKvj`n_L!|b1hJfND|a@(c~Ac}-K_gNwN=Xv|6)nc(D^B~gx!=ME_zt88V|~cI0<-A9FK`qgL6A6mFr3&l zq(d1poP$Vf$BIUv?DV``PRdTvAJWC)NgIg`3OV0%sK)U7x{0~Zn#a&zG@bVL_b<+1 zYGDq9fZDV#V6wH2X;4boUYgCVvja7ssGprTd#%HZvkZ+v$tTc-h>~bc4~QbNc4dWV zz-hgKqW0g(=sDJ`{n>d3L-D!^+4c_Jw~+I2IVG42?UwY(iC~a^B*sQ}O`(01KgWO{ zZT~ULJ2sQrqunTLSkGzwhs2+e;bL4yS>+<6U|AXa=u$5jv+vgAMwBZTj^xIQSn0`P zc}@2}qPPTm5LS~-BEA0b)=qZZxMe_P0_mi0aErl058JuZ8sx_%doAEKP+!=|1X(by zg6hL!r9MLm~jHsX+O#EWi1Yr9rD-7o5FEGJ0LQ} zAxl1L=!6d)=yoHn>(EJJ1oV zxY8G@A0GifA;2}CM4lhGRN9pq*N2`INJBKoY(F_Ql19;GUORqCq6u1(wKXyWr3uD;zb_eG?!WQK{3Ccof5GaGyEZ%)=%E)@9KN+3mLlA& z5BOAL#J1~rtc+LY5;a_M*`}P_Nl~(fe^nacrTB>NX1)`fbQdiq#sgR)$X<$IkWBez z#m~WG(0?3xYDVMw*L~Clu_aJa0h%EwjR?b)!U54|gU*+fe|(&c5ntYo9I;73lb5KX z)n`!HU$8dLJGXc1g~agw#6}}{%^RrX{1IkaF#2J|X@Fc7`UCPif&vPESV7+$k*{uZ zy$1>s9c}@W)fyE!BTBRxNI&NIvipDI&Z~AWpbykSlNGsm92*9B8ttjDLRuYDQkLL! z7ZaI0uS|5%$Td-+q0ABu9eSiKP)dSasf(B?+$)1nb%DDN!kfA)ljGN-l<(IftH%6y z`>pxUzwh%e-~SWP<&}SpQES|_V3_*V{P+4 z{-6F8|DHJ(1(cqpWEhP1SA#!0R)D{ioDhJeX8`^sEdd-mjzeAx7F4#;PW;5WqMd-k2f@s;|c0qS?y7L{C=ph|%+6-?p) zc_m*&BR3&@#LL`MOqp@Fv)^eQx6YTX$+jZww!&rX-*`Pf#^|~c^!C2vjUZbvq8n|9 z0u^JO{eAt|I&Pou9Udm1PEV;QdObfm|M|4pE|JYb`C;**?EL-}Jd`nJ2xK~HzvU=6 z%lj$@6iPsQ$L*Fj$BHW@qg=py!c}e4evCwHs3u1Owl3@3pvDGw4^;2{z2lSP*8bjM z=iN#Byi_`9zP@<-s$9D+mw>vDTgPwP@b&=(%i0GH23FdCbGY}m-Fb7`+J|pf@B^7! z#~bUfMnMUWXPxpQmQv;mwAEU*h8HXDs~q_x!Mms)0rx1VO-5)}US?H`Sq3L@5s$#m zyvXfg<=Ypp+vm$v7`SI^8>e_i5#_4I2&$gH7jhWF+tD5R#uNfaemgaSB}^hC6ql zsN*GDEG_8nfga=sr`A%LSH&p4O!*EER7QDnYKJ-}6pOj8{L;cF>X!X?&HbM`hppGk z)TqQg>dDv}VckA)LlgSE)c32UHM;wRFMO&PnBO(`4w?XzieX&8`Se8O=Gcs3E8<>z zSP+fm2aor5C`$iHm87H6)Ng($u8)!Hd)6q;Jvcm>K~v5jVGu@rz?JZl6ZDL$-`=#2 z4`5tMC4)LB2Yx6!CVAjgu`A8xNeOI+!e-Mj>M;0J#|u1ZL=K4A$eEol)?nJkTACF( z^?E(sFrA6ZQd#RsUsG*6r$4=2o{ap5irJ9y?R5teh0bAy7q?}fW5rSJ@(XpA5Z98? zwxpUYA;7W*oV4vM(~wO30pBKfJ^<3-KGG92tkenqU^BO2 zKtl&s_Ekhpd+l5fp}u2VFOg`eZg}>9HOs5kr;4V|ONvE^D1i4ulS@Z?KQ$4- zs}hjQ`_|cc=im^!9k>srd^|WyB^({D8z~?GoFBH$g!7+_rzE{}SsF%{d8$zYJ=SZuudJihM(@Bhrs4T5ps%K4@A z$s%~&Rw0y8kfIZ;8qJqw)eS4C)Ig9G=&s8I!|oz6WL}VrA{3lGr4$p8<1%aLK*AGC z8F5dljarFD6~cP+V^fMlvc%tK`Xe2|c(`bjLpPE;W$?p^7-Y+(F-;DFLK6i$_>xeQ z4mg55&Ts6;b6VCo{PeoBGYhOkFRUAe&jSJJ+r3biEn|xMjKe6wLDzrRAfXd zStYI3>x`bAJ&e3$bd%9aQ-8X{vkOaRCiDz`Y>gz+iZREeCU#-w;5@x78S%LaGKcUh zO4773v#``KKe4R0qX|Ise3@C2K?K=ijFl7R;Z!l_KNXZATxCD;<%-fOog1rVh!U88 zq*s76{S;*~$GtF*Ib^w+Qe8d0e}11ChYUI+e{l}|6*>$4(|ZZU%8l(sx;N}kW*?-! zm@PLxrP^zLF{++Q<|N)3PKHC&LYIg~muuhfuPivuflhAOjt*#JGzeT2rOLQS?Ei!j zVp-PtE+wkXKJDa{(>c7K%tGeL@tf9Lk?7k%?zGVdIlf|iebYK@!ndR5`Ce%uwF&7c zUD0q*S~vo!0dezF9T(v!fk?i}^_Iv;`ecc=i9GT9v_N6kDYHVe{0jL_F3wLc&i|v; z|9|dZzW!fPTHPOghcc$?|JUG=;y-MzZ*FXCZaqi+|JwF{^#A{ofAi@7|D*cy$JQ4~`*W!zih24f&wozTCYY+8A(@m`2PgYV zqK2<3>CgHj=~WkYUpcj#csOus5p2LqB@n?5T4!x6N9hQav{0g}s~88FJvy*KpfZ$N(^=&#Gq_=Cy#8{q@C ztNQ)r!74Du>TH5M4HmZyMC#1c6$%6uFJeXoPIX_+tA7|3!w>EKO_EF9zO zkPCDe1Y`o-db$`mQu&qWs2&EvwR)5r9{LoCLBcC`AFvsF^`6_i(am8&lb@%Fo0410 zkjc9eJ#8H6oLMmx=Gy^lq`gqb&tXG8bc2J0x{Bs6d@(u*A1ifKwT-;LJIjm9in1#! zl@b8&>SiKbX<>MayCHtA_4K}WPI3C)8>l z`o{EXeXl#Y#`8BPb+)y76AZmomcmvknjq1iac!*5vu#%t3x~lqQVKJ#9x4lKLwDqp z4Z0$=+(A>cSMU+V#ai#msX4WCSTv4XZ<_6M=QoGa_w%8g+5-S!b!12(W$1w9yJhrd zF61f~_>W#eW$W;@e*KT4%1&>m4Dl4aFs@e5!7RN-tF)-b-jRQEa3OMjaO!qGnx^zg z_Yma4Ys7XIyxQl~CaF(ZY~kH2SZWA_xzQ|uUvS?HHCqa1rAU}}LyC&aO)FpHVakhQ_lD|XN$>9GjI2C$#z>vrqB2@5|kJCLbCrd*ZUL}~mRyQsiV{Gfy_7p;Wn<;$D?a|O$oy5 z-Bq9lclG}Me$`0jB8{S;_n;@??~@R$BA9_i288M;&re1vBZcUua+EB-t9Y#N2`*zW z)SAh@?u?}~J4&#W>4D;ESZm#!CDSUiTPoF0-<=%)yzAtPyE3!17-sNWOiL{c#9w5d zr{-vS3d$%VFCpY`hrY}UTL3{vtu-^$njG}gD*x6|=Iw>LKb6aVvH^6%O2 zomH5!tI-Wi36ah)n2Sq9ZqVON`nyGcw~J$m5*mspTB6(cG3-%ZEg?*8?Rjl& zeW|1rGi0>)m6zo3qRg}Ja7FIfceo(;>}mR_ufH8fUi_c^`}I-(EJakowYX>BbSZ8= z4HWDh3RF;lAW=feRXJ?e9^E8Kd$3h?C~l65)(9vpPiksHSf2Y8t!O876n?}7ShZ+M zs8q6Q)rKFWXx$S_*u>R{mqx_A%AW%pkXG4LO%U67SilfozsV)}hgM`HR*ibbm z-?}4?Pw0xTPzh=wSMA7qlx_1I8H5+06`S@|W4M1}`y;6>TML(l-mA}ilDoK8#{DJW zuX)Z=v{J9GuB^h5U&gID|UfTauDxL75Eng5csa9RYG&<;) z&x=EEiHsE|c=;5HKVkRE=!GfhGbpaV6IRrTZIlhkz_`@tIS* zj-53}Y~;uuezBoqNmDRwH#az`ea9^^70BbCX^mx4sm8^GOV;FQa(3=~Zi zEcAv-yvab)^ev~soQlI{LG3sgE6-bFzIK7W-vmc=0}JO%ryF9#Yz6F87M_uDF>pGc zy|Ime3Fsj6cJ6AXMnhmC+6N|=yx3U8hLoKj{l8xsKmO{*g`tl-|qnBbzWbz4iB&w z)qPs_p0C0)$~_e4IEa$~Rmy)LFYp3}-Z^}d4~0j9c$N4)#7n?1i`;9D*WhdC*b%Po zu&M=g_^D&B;SxbEO~`@Wii%T+s|U_Xjuk3?AF&!Y80n&SBQdjKHKdgYhm?Gna(D$7 zXn=V2Gv}R;v0vDq@{04>?2IK9KL9I%yua^!#@i>I{r#mn+V4j(y1sixy`aC~szsp* zF!&@M$8z2J9tM`hc2KdWsxC3iFMYbfO{Jc~$ckZd0==iN33(*HM0kSK>%f%n&=UA+ ziO08$_-e1p;P7hjVuT}xz3nV$eVyC?NygV7AQ#RQ5V|9kNNE~=HQ(k0% z)!y|-`d6-)<$T86Y^XXy=7elXr}S0IOXrL8+iz5s&I%iogOel94HZa=SzN5iNBowq z7b*GypkgAm;A@ME(*d!&X-a=^LyS$gD};a{c0mO1QEYP0q!gOpMu7%L5DQA4H9+>s zq)O-v4{Eu33X$SW4h}(oG8{g>!n&=}BaXa`H5%<=QoZNML!cf)Zy=A*zkI=J(VR~! zi!w)6Aek1Lm6b}uLs33?c!@^%x`dZ}-rK|a_Il1W{J*#J!s)$u!OIq(AuliXoErQW zWNOr_I0<0@k^B)GnAj&n>h6kF_& zvma`aUs^y$zp_%Tr0akkL*J_O(f%gAhZ%5=bVf%a{EZ&&zgtLy|w`#7Qw5WHhlZ%_IdLt0gqDP3B2UA!PSwehQBK+UgcEq z(EYgL?y}c+x`5$dk4Wqvp%Q>LDLB)*AZ(Jnt~}+7SF1bR5y@r8U#%|sva1rf&dIy< zL6RV~`chWnVRiS|i-AsdtGm@o2}CD;b(Tlns9(W@%xe#$HnSdOnLS{M(+ODhDj>4J zR)S-Tg$Pd~tZc2~$r!B!cIigu$cq7`H@K><81F9ZMyo3bXyoYyS65ZqyCjKK@#3j! zBvFEUASewU5k3O>pm)QQqDe_@WiI*G!m`Dm$-+EhN57IG<@N@QXstZq2; zx)l`+?G?S&1PO9em8ojw$>fM`HoQTSCAt~pX6c$)GC7Pga%*h?&{kl9H7F-KYExTz zNLK-76?G6{tZ)Q#@*J;-8*wmwYuaDo5cGUigniSYZ=Cx4U0VIk-`LsyZMeO2``akm zSik)ZT3`Jw0^;lacIQ3-Us&J^bm?UZK0qC5C_5dfRHp;myhVE-(gfyaj{Ps_NcJ~$ zZ#dRK$!GY;i^>A;08d5~Uuob>Vw`a3wORB{&Ha-%Z-7rFEQ8!7xpkZ$%L#X>)HSj* z4|-a^#W}FqgUCxK0}F#BT>KXjS`axT1)drDwmLe*lmoBp zLtEY+U#!Zs7lMk!J7MDOn4aVN|Os{RfX|3SuWv%n6US0jAzPj`|)%$IV%d~%b(LqlLwWGb` zi#L1w=ND(qv)WJ1v*YGrjXjXIj^D~My35>NRNt_LLmd;vgEqR0T_^{5jhm(|0p%By z#!mqbBHTtUh|vG5jQ^L~;;%vUW${;O`IoX-uqbuIF5Zt%R_#14jSO5=rqDBzzrIR6 zWA$S$)2amk05qKL>~uZ6+uIWI(GC4@jv8k16xMGZgzjK`n#1sy5hx+FM2*yx9TRddNQibFPW*eM=>l(#t9tsAL9Of#aRExQHV2!ma(pf z{{8P%LOH0hA~&NcVgzfwSfG96sK5a2tiin9J3M{2 z*HP2m>_63N>OtaABVkg1CG9egy7S9&z4}W<={AF~UR_-MrLj6*0w`UZL^`s|OIT^S z`F_(`UT>^zZ&u0)iKs19nF=dw(FL>Dx1IuUxW6X_Y_H`evQE`U1SF9sX;+zj0FIpLmLa8%m*^mf@LZF5QMGupMCDyP1)|61UtR1n~H(r|l+ z0{8l9aQhzx?%+vqFZKj%72aMgy;lL{1r=*u|$(g4Bx^B9M%0L3EWbI+;hRtAD*beSiM(6G#YXz#KYDd$0Eons45| zYyIV?!=vMq)BiqepI^NH@bTyWv*awf-Cp0jy1w!Mb~_l3g7M$OD4yKiKRo_}1Po(& z+rz>51(r>*3hW%8D_sM+Q|}X_#nlqz&ZWp{p$}32K?2*er&e-@jur-f&pAD5w?5)c z0_OHVl5oe`iF;+iYip2fZ&Y%T7nnHrop`mRy}29+b2ynE*PPCN2R};x5@ppuV(__| zc2kL;8tvTOTHD>ISfDr__x@-UZ`8L^{WSEi-RkbeaqDA;H-??}yRhOXQU-3&63OQ= zy4y@kCYO8eCq#335`4OBN1x`BQCx%wq71I1;in)R-#iJ|5FxU-PTH#*FV;*9{>JmQ zn%^Cgpy~0!YZ~ewtM89Ym z{c^3b{s}PrhKZpc_524TRS#r1thpfajB1=^hIA*Wf@oJ^#^O%eyD5~a3pulmqZn`0ecW>&>-mO8=gHCf0v|PS9iqu-^WAQHG6Fh; z9l>s@-Z$<5w^lCD;`;1e_h0Lus(nu$eJ%_8VtOn)20ZliZ@yi=`B!n_BUVu_Li zXU?MyG|^{0n`Z(%Eufe(c$C9#(#Dft`!=_k7gR#BSug7OjqlMh#$L9ZkS?huYPX-0 zy-VA}2z=Gw+MCs!&8<3SNpCv;;*Q-BMkG0e1%HBG*mM{>(VeBjpiw7$-mEw38@0b2 zF6Fd+G76%Z4X>?s@>;!Nw>nv_HRkE71Y|)51T&sA3tFd>9Cu+A8h>|Iy|}kJ4B~!j zV~zq*94;?ztu$6PDqogt23lHB{y|c;5I;V6ZfzI1kqn(0He<}N#TCV5XSGu+^N>0; zRI1|(z<9W=^>h;5jI*81=-}hndzh!gSsxqu@r2DZ$fCtr3TPEMv2v42)4wMzcA37bIddJU|(V##_yr@(`%1OmWT2XhTP@ zSkxP~{8R9$g3IS8?XuJNpp_JkQNHQc10&;ZO1c5719)G9P_705UHjm1n?7sf&_94% z!hHJbL{e~|SpcFyUB6GDqD-=>m-OeQ2ZAf&6=}vy#x~_7pDW6;#7LrY%7(sW;~7F9 z=Bs84uFfuWVXo42)l3oi${hg3+QlY`M!`wqcW5h`C8r8iNoJ8MZAyuhW&ZZwxP4eR ztb$dNS+Gi*QZQwCLPy&@Y!^4RphPV^XHf{Xi)<(MMp^p6)AgEsojypi3CcsI_D4^^ z#`~os$ZFNeA4jymMI0RvwKwYubCFhg=I7we`)7j#{T}nhTPEjSnJ3UT~Bu zM>T(4Ko!iN{^T@I-Z(!f`=`<~|Elj@Ih{^#Jb+aW{troVt>RB;>l)N=esG-CDhEGB zq2OwnG|O>7YU}DMY`4%r0WV-K@}7<;xDn2BndpQ5@aFgr z5$^SV!5F<%fySqb>~ogaDj+rF)tms#b)q?w~w z`4vvFTx;OhFD0Ot(n9L+T^Z0NmUw^sBSO*}l%nrfWaL79Y5^qq%kt$~?Zv0+FBLpp z#p8+3f`?Bs$q&w}&sI@@TxD_+vqmGoSbe{AzL;FV=#J?V?Fi^Pgzd`iDe|wQy^kGx z1yyWqDEVrXFmxXZ(4g?Wv3q*BQ_G+LN{1R1AUMWb4xM)(i_L_b_>Qo&yD41MF+lhSB|+qlgqJ z*c6>@Oo2+R4twu?|KxbLe?57y*Ux9p!CR=e6O#ExBpHd%p=Ai}O?*6}o1pEv0%F=Z zJv+gGvnOY-agwHp1s-IZ+>||IOqjzp*OgCVD!J})7V+C4_F#zG__#Vt^Mm7BF)Yik|zv> zn3=oV%b8*bKngMf($b5+wX-HTOw_x#UWy((Y0UmK^mG%t#O^!Yy2qx zcK2Ezf84!ntbeLEcGoL3BO%FIudmk|xOwH52E4$=?CgB?bRUzHiUl^IW7596&|IF+ z%J!H1n9~W^j&lPWcRHlU!*xGtpkx1gmRwxfl~rX)X^EoGOJza1gmqeCbzpU88=GJs zKL9;Tol?p}cYD*wO;ft|;Arj+#Z?g&)8^cXa=pmZPYbB|66(T&A&@>s zt4!3rt7{B_0bfy?Tt@xR!ms!TEzN)5>Ckf38TXbe^od%uOcKq)!gvx#%VqNb2b#YD zRJT>;43v3|pG5#dymJUad6LWL#Q1O_M_x(H0fnw3RMlJ661zZeVDDA@SBRyoQY)WwEF z)JGygq|r@M1^=el=dRKW+f0@A*_(M7s=4qsFBS7C=Gkb0O4g;B5;BGZ z2n+Hu+l4asb^ClnrHFB-*?36Tly`MGR6ME-xWitbwDWqbJ3&{KL6qvVgVT?z>p!lo z?Y^#`)Z6ups)WFD*60_2bM>?#&q1Z9Pb&M99IlUVtkz zVhVQq`3{1=JFQ))*1tQw_{iit*P%@Pa_zM`n#sQ{lBn^i)Q!fEjztykPI;cOdRg1u z7|k>C8<}rYS+OmN_)}rlY){r}FQ&VYpY&Ws@Tf;VHPwam&zbD)ec~!IN$r!4JYoZc zZ1UXc`f-$xkd1&r@IG(PMyNX0u4!_sCi`z|eWRi~tIUVNKg<^_^gQI5&ThfE}k*;x`zUnTYB*9W54}G#d5wjRHJn zK=fY+d)(PmF(#eB__R7wuI3${Zg0}vydsiHUDB&KzX2u46+Hnq@8}UR@dB7#r7f+a z^?7@g4G0Yik6Z}`?Bz~N~l`*cWQpk-KYApNRT z-_{b%`XP}vr!U2pb?d#iZt&oI44L)#i5S*Xby%NShrHEdDu^iI>4z3LqZ9Q|n!PB9 zd3%{btkFm|Wr9$UGdXUY|3EQUmqurQ3v(U(6;vr_hx|O*S{r-rogXiszxZT+$QVKA z?BE5|L}-Jp<$_gT{P<&a_vo~_>MQGk>IR@P({k_($6i{`b2G-~sC$2Cy)u@T=(L=6 z1kqI*&5nU4r|1j>DZ~u`Yg^8@{~jY{2=>Wxv@+fLA4+NrZ!?ESQ}bulmSePv>Q#3S z(SLb0+bHUW0Xa9f;PxBU-Th#6=RNR|6ZB}0UXxVJlGt}NYW$rB*%HhY#`W14*L5GF zTZ+esZ~a|4QO_N?VaM(DSW4oq=z#!Z6iPiMU+fPOelb&{jm_Cr!aPYUH#TQBb7N-? zq&pVUota4IsHj!X+0{JT`?>ma?dWvZB8tc1xYi5ZN1!S{$7;a3zg3P2dKrHi@(4Q_JXVqv>p8LoA2hSnWfOf!mP26 zzY)9LAFCv1r^|!BD-hN#Xov0WH6IWwC9_k$)UGCf^W$hzOVXh=Uy?V#{H2`BOSaZB zy}ntuj86VX_Rn`KJhywjNXltMNiD0J=DSY}QX54$RqpwDg zae^udjqjnfIeeciqwfcRH)0;|vsx>8@OuuI^rLY;J9TN=#g~__CYaRGv<)&7WQ@5dCY!Mg8B=6)VqjkM*NbaEBMwt$@E|>$-Q*RXeli@$}=6NdyQ77X2egnU! z{H2dWueM%aOYWovSI*w~AJ3f&pyYaTUma0A{jNGDAdmPlf21@0axr`QOfr*)m`5`A zs6&|!%)|l;$(xPioS7`990PAUWay1^uZ(8Fzx8Hkb@%P@g}&je;wkWeOQD~0J264M za#>pip02I^sA| zJB(WS>*ZfpKarDt5j$uH0}{riTl>eSrO!{`?AZ7mdEv;%Thp_7bDE&hVcqT_`Wc&R zrPdzFQdsUnWbEIJrw7!Q#e%6d_W}M)0lV8+&xeE$Q-QC-I}bm%V2VW(qV`B2GrVosVQ zl@_4XSGoY!pXHSEI=`IPIpw_0mh;*uN0)*LnY$&V`K4|wf6kl~<()bj*G0tt=U)Nw zDk}1$U1xXq8Xm@?*k1Zvmix#Lu%m-)U&`nd{{c10T3<}**^xJO$HwrdY5Kbo!1iY9 z^`A}zQpCT245)4Ymk>e_<}p-Eoy9@WIba4b?HjNdHjkqUv>_7}Ekxw~&xB`ZAF3Bu z|B45J0qQ!{cspP8%qe!H+zMxN(ImD+xuWZJ3b7Kfh6Ov5hTQ3l<=0j-XmT5TNq zcW&&}(77I3zDmG5Wt}|e*Q21`unxPmkDA3F(fn&o4n&;8*6aOOWfZ&`6!`>I`J9HY z#b*2&f>`_&!O}N&=@cX(3_2eg+m!OmIShhZb#UvDO|zmOHnv9Mx%?}NY}MT*n^ID< zwl~433LxM)wX1bSMW=hutKwBgoxNmguP9(|$IOZcqeWS(Nvr@m4b9J&)dg^un6phf zC2sDnDRYjz&m%I ze!?5s1qfs}nZc3TOBM;TxQDPO1DZm-esh3Mh;Lz!gy0c7&B2YF9K`2%V0Zio{YoH; zD?dcX8=fb=x5>>;?4keZsP6Ro%3($r1hEl?BSz;F7#WJ(@Q5D@*`4u*O#;?McwI`t zu`_Fmn)Z1BQ%{^JkKOo&{Qb4P*g4$q>>VDy+Q%ZiQH1eB27OTsM9$EQFn|)qIC7e! zYm6=lkb{0FnvBu9-s^Y7U;eAlQ2EuD2|mCg@tG)=19|1vi#P1xRy7Lca({RA_kFse zLxi<@=`4K0|5sO?)oUZYUd=)}un{z}ICb-VY$&3|!Z@!5%52>mT)~Qt`VUk?o;Q!r z_s(1Io3Ao%vZISP9JW-A%6H1%wp??>uHab>EC+Xj8CUxbJyS~K9q*{rYe3{uxfm3bQmS0Em) z0fk3Xcm<#dHyrp$s9g@(f;<`eYcl5GixRA31OmM1a4Dh)xzc}(_~sPkQ{UC4S>jKT z_xA~`DS21ysXc}R!J|{WY-HYsmJuM<9Z4SoACZk#EmGyePZe(pa?vR+!IEefh84>X&UjMMjL~BV=Ksj;@o|;hn zmzMLlNffiUD_HE%%XgiE0fxiKEQVtHVTaV$C-+bT_6X(1oLFVFxFp7fPI1u%pu&*8 z@t12VwYsi_jMf#N8r)MD9Pvv_5j_s*s^~0ruF97u z$~}(ICTP8GoF7Zt2D)JVlud_uo4(Smg+|CR%Yz7^svgWfgdRryAnO0^I_*7`5wPKa zs+!n2YIB0bkKc5w2QmmaI$h)=33Yw=IJiUE)4D#4GC}(Guo0WjyhNNckT5OzBBW7| zFD2_{anW?KA<|ZR(ivO3bnh=YFvVH$0ol;=`ojvwz8N9cBA$mYZ7)Q}blY|9C{=v9E_(5q`$7r3w2aBBnFO58m;!ab?hoV>;|_T`U)?}VPvRj4Hpz4Y~mMmPf9m*oyniru{ZMEjYxc!7GI;Uaq1f<22xfj^OIeYGJg?ecz7sW-Q7QLeZ=Lqx+NrtE=&EZ5D2VX(l_qc8f$D<9A2x| zr;zo~#UlCCV#d4$On0j>v~KNB#c%|r{J6GzP(vJB^^Mex|Gw{bYyHeI_R+R@HF|%! zMJpzOF_RA+9N_ocJH`fQiCtux9*vgtHb>u7B0HKNe^|T2wH#ArX^x&$><35cZ>mP{XTL# z=nu(MHx{_dzdE0)4*wNjb@V6kSBJ+W2_{%nEKgvm?JmtbYjI&)>trx+WvPvNp=={I z7JubheK9tk(@J3H16Yi3_9;be%__q#JK0ACr-rAWM3Ld}FH9;Y3t7syFwjSP8;!fEP{*`@5Xd3@fwIO6#!LICWTAhYv% zA7tY26!zTCyQ5PF_DsNr*Oo|=0y{;=y8_`UHs+=I?-__dfa6bRKKg0x*N^J2-4JAu zKlge^u0N>n<5@yfe|z#iaTt-Xn+erG+LI?6Wx~`{ci)_Ukho-?aAmT6Wiq?=e~&N+aV)`yrS4=A$a8V5)UjE^-@jXa}i(C_Y!T0 zX))>JcwU_v}#Aofp5q8@+^GE|bbo;a&dF`z@r>FZARl* zT=cNXBQzO%;Vha1EL#Owww{D#y8z4f{8(sxg|+O)9Y;a`G0#+pyEv2_v+jrFVal+G zr=dJ>!+T$Och7jhO~MB0DD}x#6{p^cKAL#ERa!R{u{#4VeNdz!(-~Eh`c&0f4Z`jH zC=L|EsP6vv@yA^Z$b}aap6|T)G^?qm`A#Yq$3EHFE~jLG1P$)>Gopd=JXqAc%n(BT zYkwcjpe}A1dRk5^8UWPJdfaZ-e%w7iIYzC&c)KxaXcT$1*d6t~VQmy;?p&sEoz1`% z&W#HehhWr>gK=t>5sM|>@%P#&7~wHQ+HB@^dmVW`-LSBvy>5gbYLV{^L1M|-d>^z| z)56HK>6FsJ)@HTnbl{F&=!Lkf)K_JRrMB53@fLnB zKBl9NkZ9)l`2Sf894sHCzkD;8z9gxN^eOk%;PDA}K{8_b`y(S*%G{fGTD3DktpEE(Y@?ptO#cp0WOM`8bf>H1P5vp5N*CvvN-j8Di-5 zg6on053gUZEIExI{DQ7K_5-&)6+1~8*^_%FwB@>Y@f4%n zjrwKt3SXIbOXWJqmL5rXlv|>HbyYCi{t8d&meVJ*37mX&w0mIRc6Kxo+J$ix5i58I zTM^m*x$(GS$Q~mTBoxan*~}A*(Knrip=N|LCF^2Oa|E<0yhCCZ*}K z1J;n&?E@qq1G8FL=A}=uCrkAcTd=0lD%-RE+R8^tn*wHe0c6CeA1h zC%xDa-VAGxxO=5VX!(zmk@EkFqz#!zz2O){h`P|$ic@~S4#c-!abCT0)-cx9LVlaa z@xyw$o{0C$4D1aHJF@?eA3vhp|GuG23V$Tec!k9_ii<6TNrU9~C5SH-T;)vO#G%qK z*~woS*q&DBr-&raxC_u*J2Z52Lzum;o|2O|09$K^wm?;L-V26IC zr#O?H>fCRJZ$D_}-Z&Txf=C;|N|+nj9aEAwy7R+e1iSmVUMlgauc&!lf;NsD7k_QF zPf>q_>9BQ|z-nKtGTFOWVvrg%4J*sv8~TCAhJ9Af(0h#nPjmJ~@b!O^_c*(hjYO}MatN2ow^QWf&CX|_E5=6K z2dD~5=6_rlnS60=7Y9O&XF0^RK^djeIXP14h5k5RaRwL(cNhRQ`!Ew0V}A%V;tt0v zWVn3g`UBRc=#58-JZGeoCeC9pA-fa_=i7?OEV_T^qX0!T0y#<;cyw;hFoL@7?$A zqSb2e#_Qd}&Z#PneeEA{^NWrgz8}tL(k+!*Tz%CV?3i!@Tbo5#v#?JFA?!~cjfSr{ zW3tXGMZi=D_6jH9J@zhqciF}A2+f)KK9xd?R$I5u5aZXucBTYF0waPpMu7NFT&3EW zt+oFwP5J@(0=u)NJ5|A*-}l&n-t+oizhstyR^m`L&=HgtYS%j@vj-hbFwQH3dP*g2 ziT29TdWK=ewuJbNCzmKZJ}a2egbC+^iAQi2U^eIzC{i&!h6+kGbF!_`RnO!e5 zWad-4Lv0U0uQH06lBE|hGH5-XsYr2*45C^oS$Y)XyS6)LOJzF; zPin~Whuz28AJ*1~_@|%B1ndWL5NHz~OTYWizwi1F27NfF4g4-fv#+hyx9g4i=Biv$ zsYN&6qYT&~u04Ogg};sGTWjVo{M%@3udV&AvEFEGZ9i{3Z$LVvG`4={tbLEdXZ@QX zp*qg*!oLM0FDlMA>-+!Gf6sm|-VjI|N~7-7^pmUZFt2FY4DT|70DwH8RN_RXq*{mF zT&=NIYi!mVTgXyKs0%{>+8=>T!Sa&xvC%l&a+ZgFygG^f!Kw&TistIkO=ZQozwv>Q z-@6fD831euvK|Q}eH0cD#kRBj&{MJwAuqsXh5 zp3x3MeOlhH;Kp>*`H0(!C}lS=$ujP^;aD9eu!cs+Fo6Q z`~-pu%10moMJPXZW7j9+3YV$@=t!hQp*OgS$zp^=swfJ2zKf@Y{h&9&EfUK;*x!+} zj8aj#EfD1j76YjI9&m2iT&a)L1!!ay0{ad9UQGH5-tw#4e0<#)MnYsO>M!bs2rvyzlP=ynUqO>^K;E68#28^B_2~+>WiYkZ`Ht4TP5Vp;g_2hep?D&6guOZw($!*-bNyX?~Np{D@18{ByY z9gKn)YRvV(u^1;qET5tqoCjS`DNB(40GVsFDkT4av5RJG0|zg#EBAk93z*K%-!+}~ z$(!>JduL6j)pkzLPTsc;ng>pKuMO|z73V|i{N2gLxdS=Q_Kwegc23?nd&fUJKedhz zR-ER?)3au~?VOwevewb*VXFzLt>gW}i-XqjTjw=E9-o{$hpnU5IiNj1p&|uYtJy|$ zN6oYScksIRx^>t(|9J&ay=k2vBi=VBXU?8;x_5To+P^s5J9ADi&Q4E20NFb}0K~_w z<2PqePV=aFd|r2;U`TYD@8Qj9zuP-J#L@sA%$<|t_Q@IAIXbVKP@TQkhfT%~ZP`EE zYaOjP2YW|*Z?Q^e&I!PsQ8uoU^Wj~Sl3K^8Q#f|^_Rmp_f!YJ+^D}r|fySMkYv2#9 zc5}tqJ8QMEAKsjuKmpi~0C9q75bn6SU&BE_OxVx%a6mSEzi2m;8XYwE4gp^q5tx~I zG@B1SZye(t2p~3`;LM(gl$d^2cppOtW=szzTM_DltbnYG8&yUCdsN&vMP!T>vT49Q z>{?}iG~{5o81rTTC7@bEAGZi!Z`E+0;RdwgW@KT8v6ebP7})9Q#GxT zL^c^xn~_%9Z{(ON;#mhJkY^2=r{d3ocmd2&JVFx|i>fPVP@L@aokY&yJF?!D7l!By z6YmEm{Cvf9w(-pQJalipCC49*p$uRg;bfo|mmX|nV`j5dC2_T()-%fEBaVAiu+Xh; zHtTSX04IXTJT)sB8CGz5Wg#V|!mAcXyu$>Gmg-q#S!8zF3vtT}+tktE)lzAx)Oyo? zRd&kdg~idJTp~6ZI|nDNbKnPW$?XU3^RRPKIcD@2<~^VzK^*nnngcWfTxzqvA%Q&g z{d8cHgFz(chXeoCqs!6#z>m>uhAOM}rCieY3^7O)W>5wtj)QL<@4@T6!apTZdM2rq zozy+BJmUQ=Af|2<3}8Lr{zuA>Q00rd0j>*Q_P+7Zoi1@EKP-{keU9*5c2U44=cH`gV3iAHpG|4sZK@s2lLpLFp3 zI@g1s`%0ea(<>TmFY<9lpffP?0jsW$J4~#Y{%Y;{7RX!F!rrj|YEgFqw-(d5Ve~|m zrKfO+KjlTPwo|);y54aT_c$~-?7b@WqZt19VFyGTdZXV_AZ}VZ+9?iHd4kSqUX?HK zXV+O=b1qL#k>P&AkPaV!c$mcHW+yT$}>v zq9*MW5fK-sT#$e0z=UZ!oL{IYFF)pj>;W#9XOdkeR$g|@1=%CrkVQR{(%B)KIh>lu z`XjqjYv&pnhZRPT7Z~m;M1CXVMcU28X%j%P|0DbdvMXI2CH6|G#6KU9Pu6NmSE{qA z1XA=QIZI8OU9t9rRs4S`@UM~!Bq+A{qlx!Y4pD3UilgQ^#s||G zXMkN-9L-$Q{f9YT78eu#o}w zn(*hcF@L_g*P@D}nR_z9=7o-7?3uMge=bPZsUA#cKCd`={GW)X5J*ibJ+N!Q2TT=0 z&KTD!3LQsFQ|Z;pLUugZ!2yg&Lxw{S1>5RX97kc1qbiU|ypk4y)cnB%NJA##8L`N{ zlSoI;oDV2P0(2_EJes90yA+&H9( z#$JyO#u)TOZ4MZSj?PrM2$sSGo3=A=h`V6u7!pnw|BQ&xCKFVp+yf)*fmF-! z-!p(zCehw-96#J?nUb^+<{3pb#=DCW;HjzRdMK! zouy@&Phu&sV;690WCriV#d9;(HM{ zzSegEUL4B^@0&Zm&lNbOEET>qSa2XQnKahlc(?*z6R@ zAM=PqsOt9SCh*O1hid(*v9X~HaX|<+KCG|nS%0}!d;UooNn4$!xTQ9spLE89Nz@7N zUrBbhb4-$#{@|>ytu4t{eN9Xk``LRKhtTay&hzKbotiZ44^CrkZOvJ#EIErB*JoAn z?^Lyw$$y3Sg%zWUB!wp&5Ge^~KS=r|n)}bt=Lp`ql---{0PJ&ZDH%0@(ZU5VSKKVr zS1C2YUrO_m?DWI^1wyG8-25PGpm${-Ld*ibl#N^+s9QXVUM>EpED?o(KDa(r85>6O z9Z*~s86ma{B+c$4F-E)r!AmaI84HMqb9mJh4@ZMtnkjv)vQ~z?9`O#~ z1CLJERj8mNsHA1qIKoVlGAjw=1OcROap2#haYz~A%6eV;J@*KvSxh-$WK@p!5eaiY ziVY@aurVSQo8|wbfaP0k(p;YM_+)MoG}4S(x?~PoQ`81YoS}SoAap3p(bJJ(@jWidgN=vnD}~ z?4&2UF^1ezyH3lhyCvJCCwzMPBz+FatDiB}45=fTcs^TDYC5fzG=JgGI83OU!#W@| zYr3vTHSYFq@y4jjT5vx`-4FH`=Ok+#?aNOp_qnvNtiE$kr41dhb-+hI@>gfqS^9_` z&@n*CFO}6*df;d!)x{;}m)~??L>ppt^_L1}n~`NIieD=9wVtgZj+4s#8v~PDx7EKI zmHlP)7o)oHytvAtj-6-~&9wRX@A&ft{}3<&an0-1xwFrSxH1bRnw78CS6@1RSIgYz zl04+|;#_VlB*_y$K&2q?URG>%P{w@))WiH*OKlbwboRMsOdw_fhI%Yv1xrhGQ*WPT z7K(^8^!mOiN+P!ZVhtL|2q@)f+cH@PXo;+|KWX3-@E>VRC7PSFBqH4s!Uk7(KKL9D zI@fmqM%I1$QP-68>Rn%C;flANg@O%kNiWwowx56Ezp$_6j^d@8e)w`yy}EX}w*CqK z54+QP`q>6#8E7F9frv)U94xL#CI8D=UpFF*s$>#g;P2)d9 zvrSvM4r=#$zl_810oi}8uhnI24R&w1-`09~41QG83lI%6jij+L3O!hbp|=-}qKzAs zd1A?e>L*e#)P^KJC08kpZ)AB{S}+y2Oxi*UCIM708|xceILtU6=Ab;2P-9HmwJ~m$ zfO7xq{=w;@r`FKBcEkPvg=Y*6M!m)&hk{4C9i8 z+kPu~ZvtRTu%ls2XlT!sGY5+Ui{p`lB(u<#i~{ypt!9>4NxMjsni>uya`#VYWhd+r zSPI%!k`T$GlXNh8xkDk4dbx%^IT+&IY3<^p(`eM!H)z|_Is>rn`j#5lp&r|7*h!6R z?ADt==>V@r`y?`yg>lER9;2vXI-aKygl~Ll45ScUxEk&4dLvt&Izb>&knA`Utti0{ zqRyb-kum=~h@9G>pN!mR&crlrW+l?*9_{}K|7t&mB%3MUE<8(~udN|%S@~*t`L?!_ zeDIm3l1ia_mqZHiVh{pMPa92&9LmZQHDNU?-)R)K)KS;1&HQxddeO#E=KNn|0hN^! z2g&3KyXp(tY4g*Rc_NBL!*|IurME$=5?a;<=zg*5-JmC8^m{n!`A8_TI1a}HPn(ZK zb-PRunvJHzs^@A!N0u1+eZMyu1e1tNm$+7XTZHCAK{&*%98K^QjRa2-Vr6O$EsA_} z-rS$i8NBO+ZqG}!G<8P_A810OP#B>i@T?xaCEmNR@xVKAIAHh-3mmc-wN*v55egai zo^u`4Rh#toM@_d?m>GCl?mxU*C7xYN66&0Sx=u++V&f#kWeZez_L#_1B2me$Cl5W) zR`MJUV@~7jl6Ai()fyjVNkoduuTFqx;*0P{-tl$SCMl{VP!v}wqf(R(GIfc?@c(sX zl(UG1tBP=^dC@DCfCHnV)As}ArjXVQVk}C{jY0r-_#*!<_6->W84M>IB1Te{mMl<3 zV9X%1ua}i3CpC|_jZd9SblZru;YxyF!vdsvS{m;IK6@MWc)zRt13`m(lMtCLc^sn2 zm~JB(tMdlcA_<{7%A~LE1E>FG2?+M@(tn?23#@U`zN#FpF0C&8BL9|_Rr z(+VNWi#e^)1sXVCu{44G!_71cX4?t7U``VqZc=>GkG9egO^C?8a{_BG*?W1zv1JD{ zQvQp_UTDf+L|dc?)S8+OQcHbtu|prjq4g~s(ibWB92aL)+7CRu1$=Pn-jdP*lB$m_48+>ZM7qMEEYLK~p^!~-lEPqu!vv1CJ!)AI z+!S53*`TM*HN=8ctK7NL-O8s-xfuxbL4|=prOjD``R1NNlhDU8h*Tk~Gc`r3U|nbu zZJv8d&k24qb4n9FDe~5HJmB({&{4vr6v@Kj3K|WQBag1fX9UALJlI=`RlX<~dhEwNOvD75yaWlVFj6S)isC;!n z(CJR1N0P8;_bcEqcxVZZ6HzQ!QEXU|LB>N-Vs*gj7!NJ7T@`i5yB9Qkgv+i~pnS3+ z5_`=FokL#1Ad3X^tH=>X&;?6}uRKT!{gCBck|{+sDl^heKE)Y)HU+wnOp$C^S&)~` zF3bt|&n^}5BTB9saz_z0bDzKjuDL{{64y z?(p|0WBUEC=g&8{bMAkw|L6YKzvADs-#f_#uzec#NyvO!ViJXLVdNs6Rpx zN7scKL9^q968F^oW{E%2GT zd$>z%AU5OJSEC`KbrcfYv-|PD}f&i0_?ty=3soY8F@xQtjC7 z-C|tk66-CrZyL&g5E!nVd{3^Ju5Wmg1novk03s|mmYAY0>IX5TFEz0Wys?^DpPK0U zPl~4V4lf#`YvC?Ox|XXEWKl)-X>2ELjZ4I9f?k7UQwel-F30PJe@f-Tr_YCo6Q2YJ zm$qQ2^?*-mQ|jgwCW;f)Iy}%$PfF>2JOP2xQrD!_P(T4gko#4qqMVNwsU+{~i?=QX zMaKJgYPA-c?1?Sdh)!`LszK(PTqF*Muy1f#*cOG_jUUVNKKUenyX-7}XEYtFp-4eVv z=V@K~TG@0NyHc;NuBRZ+H03e`_mW%YXnOt z?41b`$aokJ?rJwHj&UCc|Ec*ZH*zGhDn$jx8w!{|*-YvD#Hpb9hTo{3tXmfR-HKye z>`BT~NgVjr1S*~J)uQg?nkVW!47yw@>3!laC7iLze#%)+91>Na=e|XPoo+Zl)UtkElyFKLb$IHoS+AB_+guU9zHt1 zd|pJSL_{e|iL_+6g{spf+EW)@4Jl8>AftHcyHVG%v*r|Bjxq`BH+jVyK(*M>4z^`3 z=@Bd&UZEL@BBkHZl~Wo{-Ezr5(Hy`+Z>YqZ45W1fN`pBShZUjdfnQ{36&(?VO5vcR z(3gDHr-2;|`$2J)<33*7jo1oSM_smaS2Hyldg*I7(3y+a5Pf-xl{JpG!$&RSAc;o? z0;V6rz>HnI5pV<2$Mp?w07!$QI5)d%wn|@YSViapl1du2H?H~ckUyg#U#plcA+Ha{ zjU8@C>dptEYg7np)q;)#T$DzS$%UUHc=4_c`vUa08RNNw8*4K*=NbilTAYyeVsLrf zt5DqBHclM1KD1#IOJ^DtlmXu190Xx!hzAf^xr4_j0fh~DlbUWGrF7lM?{$PQpVVOu>@Y+@Bq;^VLdWnN9vbtLv&uya3T^iQDjeWrwpL_H$qMe2@F*CXc?={OazU=Ws=$(p=SkSVRP z0`|RL#AZpg4YVvpJ9}74J|M*kcv3vcQ!uwCS1yGC3uo0pV!{#{)P^X3g6a-#w#pR9 zv@Yb#guGCTCZj4)NTsx}K*sOrdct%rGoW)C5@t!Oqdi+Fo+#XOVS&tZpv}bD(P2A1 zh%aAyW;fCFIPPt2taFBIpML`s`^h@J2Aerbd%m%@Mh_e6q3;c1mrIanp$t43U9N9z zeo_b~Af*LE`s8={7hQGJnnMeaA91PThZUa&G0zl)Phz4nY%dfX_YqZxtG=#&gA-9(9~j&1XaXB9s*L-HBoLs5&VoH(VG)wS zjeNr0!|=CM^;;i*?!6xU_@gd}Omm>=!9KL2-tNOlKx%gnI7OlQNP?oxBG%vz=Ozwmz?r@$2h*R+`FV)ZEO_am7>H` zfl{ncOHqEH-Dv$=$K-DN-%x5bHFE3Uf^X8lC466v0H(UC4?M2dzo|AL)I8)=2a?CI zSWzJH@H%wIH%95-R(%Wwt2>nA!m3Z>IIk|#am!+66aY-GAKXW92clMujy05dZJC4e7zq%st}8*gyE5Y@z%=xxi&EF#zfm`}!j zXIfxEiJNjH`aXTcK$iz#o4_g&0BfUkgB$Z;=#!$Bw$sWAgaWIR?q8|PMQf&ImIXXV z#Z_@@hpyxN=D6!GZsiHXAUX2uA-CB1l)P?jC(qlL&y!E%p1XCq{rr=GWP8)mPboy0 zkf6dh3)%K&3f*vHqqAODbq#TWbi*P4z3dJ?dHm>I4!WQC@eT!;E&YPe>f>F=e>c_{ zU-t?|kDhv)5AaDQ5GVB;Yj=>=-{7ACX6Q%b#`ePlXSfPCFhu!Pc*pNIJ0M&+_`Aiw z$<95bNze*AgCKgs9u`Yk5>9hEtpG~8Inj)9+0 zen>pQ$o5ndByarL*^!|hx(|QHgf9N^dtuNWxc?v!6f7kVNS+S=bUk_Sy6Ryd4+A52 zV>@{!65t1KU?$TTs7L!#5V9h~cuT`>Hn>5?YbMKvon<4NWoymKg0Gn@FYGKY>@0rd z0udR{nUA6MIZS8J{X@^0k0vy}WimwFhGV~GvxLtZw@y02%oaavyl|37{b|%#Tj%D( z(}t$9Sbn21bSgiOd}7e}BXep5WPqhoR2NPP^n{}zbq@bx{l|Z!KT@uW4yvE1lk_vu zw7l{2xYrf(8$X8b5H?Zt5+y_&p;R8-;QnFr6F;tResbk$gV+Z=!ABzP=th3J{9)i3 z;PSHJ4K#A9ApYp2G4m+;<*)qIO&;&m`;EqGV?8S}7M6pH{0Mb?QsfR4DXemhhI{*yyl(s`C2tTT9&Yi}xFaTgzrE$? zCK95kkt1Hjb_?mkDrxYX&*R>b6S{mTbK{Pj&ysTqGpU7rxlthv$x@{Ce;^c~G8^4R zDA%|MvAkYk^JMawBe=>Aj7OiH2nC}n08T)$zr@(}u6@2vfORn12h(!vPP)JVI7l!UD0VR!syW{Y()et102gOxW5s-$WT8oy0o+fZS?L*p*7z*iIgQTvv~p zmYLOY^3D!d0Odh`p!jntCkBhGY8g;J3hA&Ms2>LwTw~jO6Y5v;p#4dRE|CfC&m;#L zIYcf@<3Lf+!o#v*Cfi0j+eTitt+iA(mJu`AUZk_VNM|GQPv;R?F_R%oWeKyHj6M{Z zF_Xc@!g6CK6Nrj-E|MLy*-%(aWn}r$%!*>8&crgL{yg;cM1=)VJ(2LJ-cW8Na1tPO zDvU3uj=8ENQ_9oEx~61B8Hs2~c}TeAr@zS$Q|Xw=h(t&Y#`0wH0VPfQO?al3Joyb} zPmP47PxTtYnnIbvXxo_A(G4XkaZ6c_-_3|Lhoh2oHMA4X^ zFnT#-V)58`BuQCgQQ|UZAc0wZdnEc%(ld)oc@mAXWm0kyUm7&b!^DOQZ;_I8Nakl+ z1QPQOD$fG9n+S#kS8*W1q9<6xD6B~gY%6+O{)Th}7__t}@Nc*RpqIh4G0UM4rU}HOn-%@glfW5($2BI_f$*6GlU=E$xkM2lYDo?cH zd2#4ITt#`uSdt45*9{Z`p8ywt+Hg5!4~c~h>${}W$Dcxef*)0OZJB~VDKiyV-e6xP zKP)s3eaR>p1Z0#`67Id=vr!OPpESrm0$$-E3&lb(gJHws0L76sj&+4&eO?^v364RG z9Ct&M?4p9JrQbQ9zGBJ%+SG(fhYUKQpr_Smv+$ifp1EUZR$OyK0sifJJkF6`w&<8s z9r;DD7En$FHGWv9LBiiWY7p_hOU{pY9tY8b0bLd7D&;9?qycW$+3OC2QSs89$S#yo z0ii-93&DC4`kP@mY)gcbnTd5cbaUp68J=DNMvWaB^pkdz&zFM8(+`|p&}1+4dr=gq z=@&!_=hegd&RP!VGb33`)@yH+x9)O9M~VSl)9F?=8;Sn>F}uoM2YE{b$-0_aFpp%v z*;w0JBfBPT>0(2&9;u;>no4<=Fr5Tlhmi^QAXZ1S0UvlBV92e)61S$6 zNH$ajlaN2=kn_!$6fXq?aWgiv6-zgi&!%63xEUA9HyQ-H!jzU3rzRQi`(r~Y1>b(?{jn?X`(O_rckYgW5)pB(U2Gq z?&DE&m+tEi9<{2JVCO))gBt7xVKp8heGSzkoSr;l{^vWNUPylZ2{SAj#}zXWkSmdm z&@Mq)f#Oddi{u;(@XTo~4dsGZD2D6hHu8k^G8v}eeULU^6eCO6uICWTsIULX$5D5A ze7L}}$TnKi>__oeLbo};p;A7&O%vNU;xbT0!Qh)33Q`YnUENezs1QfN5{55Irg$ouj`lxcd*P{vA8x1$sH*zEsY8d{>DaZ>4evW9* zBFZH8ZgXJ#(e?do=|i$5K>k(e4s*8avhXBk*aA|`TE)Rz^~gUySHE9jE4P3hu~E%i z=BKEGn6L?SmCsQUtq>#pc64bAgJ9&tZlR!YVSqo{ zBe&@|jW*V%0@5W0JoE9R9(^rhf`vGGch7T*hD6BND`i-P+`|}F`9?-TTk%^y(^Yar z)v-A*Y@XJM?s)5NiX7`%7M;zsk;kh?H~BQha;~{)=shF@d~>b$~w4x`MhzSKh=3zmjz7$stqRqUq zQrt0NHk46-NPEEcn4~`_oPV&473vLwsOSX7I^>{i0s>OC>~Ozs!;aT6uY;WBopco@ zxg=uuxSJyy@o{V%`#Mv%pe05gy!A!rXIrRFEs`&%9*~~+nA=7GtdBuA|{02W^+V0z8R3-l^;5J_1@0GK)eyH)6LUuh!Tjh=u+ZPjcUbiPGzM}Tqn+095y_u~M z9YH%q*}tlEvy=s&<{f1K5aWOb8MXS*L&AyayiK%U&1sAwN)&}jZ;Nn_E5JMuA9g)SkcO9S|mdrX7oSV@zkjTdBbvhgBUA5H0Y z?gz>KP?Z0{1aQ}1tmjp{$mC=p>gJh@o922p36Z_tbO>*dhUw=i2ef%&)K?->A_qoZ zo?3-^-_vRp&)2f7*aQ?%Mq)8Qd2^Ig(M{oz1KO|U0c1ErVvTkm(#1i47zOHPbdK1i zvX;{KrWslEe7-Zgbqz7e*~VgOx}NcR@pj0P=c72p;ARD4rhF}BcjVDzlrynKj)sp$ zwjjz8cdVR*91r_9EU=t0$pW7bg3sF}h^;xRv`k> zgH%J|X510Gb02cfe9%g`pQoR@%R5@PbKmI|?ruD;{&x2O|K)LltBtir?P~HjKaM5} zfS0Obg;mk2CU1qNhcn=cho=beetRp=Qg?f+cHhtG<@=o%x6`y%;vJ=wqq%zM202=| zWaFMaIeDNf&TO-tg%n%v8>rmly+CihyNC&q4L42fEZje`W}?1Y`>|JY zR6BS(!cb}@eP?*~(vG7OKSricB=mh~crOr_X^uFJ^wAGy;+K-J1f#*Dg<=JrSCTWy zXhr;YV7_614%&k81Xj8_kLEmMsa2P=)RmlZdo9OgF`E%3|C#%NVZQw?-d-WMJ_;8Z zd*xtbBd`SDU7r0^GVf{Eg*+BBkz3%9Jvxv-xZVJr#*<5`gXTVVDxROaXdjPvHsbD)N+F{4FTWrXl8tmf8AaUo(kBlGQXyAW3X`{ zgi_s@KvmVNOixEToDliFje9rbJ$Vp%ZvU}nI%e)$*G81%v46?cT;)?maVyJTwBk#q zrxnYeTd`Y}YOU{I!ya<*v~$y?XjS0q)m4}ui3$a|_HY>V(c9WnQEEs)+UpJtq!qgt z#IuaqMirj8m+NmPdD3J8Ay#jAnAXmv zlk6OUfc(y)>n6EH-sd~iOedy`YVuX1wmVg1W3F7kHgc^Pe&+GExOVMcM+Z&}i^ebd zxjxl5&~GZ+Z@fGE&F}`rUn-^CZCEY33pW#QQN|`3m+=SmZ)<<8uTSn(j_c86l@6t+ z*G*^pP5Yxv>ZeA-?O_KPchxgpO2H)ppaOKNt=tg;p&@}F3d%$tzTH9Wh3JRq&U20~ z+UHL5_`qo$J9|!b#b6C7PsTEC(8#J4#)CN^sRmqSQ; zWP|9|k7c|R=NPMoX?qGALCR&XT!Z09DDFWg@=cf;?5k5Xh#3E!AQ-!Yp_)|eQJ9N| z7jKg8csBbI-ULgvWJYhn`hndB3(58UD20Ory`js1ebwyI!#4jsC)^&>UZ3m`t_F{( zKDd39O5C{qEsuQIPdWrDMwhQBOt{Bx?7e9#$BcD@m&3n{o4_Iojq0b)pxI3ZW=|Ov z@xC?=7HJEeF(#@hr_mK7Vfy+D8GaKeQ!ZdXtbCKj;;#>U4Ua8G6shq4|nPOX#&Pu7HOkj4+j<4H8dZTy~Pa02I^v z0y6wY1CHK}&*mpBV#eOBPEX7tSy`Uy&1c8};!zx=--|SvP=+{ILkCX9AG}JYa zSz|FBPv3E>;mVx*0p;V|4F-JJ$cK0=f{{o=i` zs`t~+oVTzq4KcO^hdKLPTXG~)LgMQTz5#XA^Qi^)?3NA199j_BpuuYp&9C|35a3gl zwOOb05||7fsqvoMa{Uph(1TFhiD!gg(%~ZRJXoYcM@NpwARlAccuNr6egGe3KkoUV z5eNyR4O6%)jvRFFKCWamy-pA*zxjQQMMo^ewjKwuind2V*_J{K*W`0>A_^U>WQ(#D z;i$|T(B%k<1vF(`0?HMMxPu|n$lWdC@FaQ#i5_^X8cjrEif$gjve{?-G)O)wW|mnD z>~_&JwVPG0)EzTI82bRmAl!h3f(AzZHO3d#fybbt?Am{J2_+Txn7sD^B`g8Hk#~o2 zJ-nC$++hqp=qA|N7iql|!;08-mzpm6SVVsxPjbF4RAE60!jWd+wEJq*6_0kqVU;cL zEup~t8hJxMS&x)|6IHC?nP-y@x73I9X=jG7b-gS0Cg?d;R9mZ1bPM9@Ni%2jgi@S8 z=~X2;SYjOF)<=D39mJ+??r?jjDn2w+7TyWUcXeK_88fMx>T4zfF@UhLY!Hj024c(# zjPHWMKP7aSVlJMF^S46bC+{V21;&F!aA6L0ddZj}P}M1!IVYLKqLhW<*XzPUZ94|=kaa#h?T*_4uNyGf8JV#yl~vs)LSX`&YTT z6q5i)9A3(+?x2TpQt`wJGc%Q|uvg9fK*vnF_uQV*-*o>kPs+>Tyd?8n`2`XWt!no- z@&Qk>_`EsdMbV6d$y`x!#Anut3C9B(`@LHN83flp#{@I7lvoCOrH&zskCBWcHT&k& zf>KYCnqol^(h5omq^gj8s-1_ADRmAvje`%6_4lrqMnF!)^mkHgTi@x@w*Jm~x+xj7 zuZrZmw!YMvvds{`J~{{K&aE8%Yx6rP*{$#DcCF6BCjwTUkyQpMyAxgEv~Ejw?nOCN zxQb+8w2hk1qqcrUIP$ghN|R?nvQG8?nd)l5Y!6O%Z zlQw4vTHBu58oIg9NXyZx%(K-+#<^PlY_N<{4k&5_InL%Y=a8cQQ5@Iq00V?Rb3EAo z>^jSCzhAovf?H>a!d2HW6f7k~&QcPzv4R@`{f2+Tc-JW#LE+1G4vroPS^lv5So_1; z`Vjy0Q<-@@74X$cPaxU=(X+b zP5i}pCFU>vTVLP!U1Pn`*xG*Hc;0~Y#?~5Sch+k~Wo*koleQoWza|Y}EJ2$2n(ksrH z-@9?czVo4eRCoS@-Bfx8aDUc%kPZdI{4=GJ(gaEi-S9Cd@HFZGF>Gh(VTAe6hb;ox zsleu8H6T4EhWCENqzSs2U@f2*4kM*0#(3L@UWDOv--3V{f>3cf=??rJ${2nR_Gcc3 z5FKM$bOR0PJ`!9}r0kcD=cC3Dz}4Bsx++WXt)O;f8TtciA4)Xj3WqXA!x{xw&+UMu zoqeT1x&hHxw5u_zCA$<}$ z+xyn;HgaRZ`_(x6BM^CfEc#H?%d!(`JUg^R*-Z2bMUCT=NqC!NlkA9OGu=%~x|`kK zzV!kcXf`Ez#$(?HJ0~8oA3y;p)Vm761GsAS?C!HxaEu11JmO3y^Z@PApi)*fiHdA= zEvzlHQalH}s`s|xrC@qJh9$Vn;B{!?I2u6n$KyCos`_o5X88JPU2pB+i3{7iTiaS+ zUDlOZRN6BXaNQfv`;1v;FOhLDop<{Y3_6RG2yOi8{IGs{a@;&Sdh$m9Xn*|3_m3JE z_BQ-2cMqS~n}>4i{Gx5|!QVeB+O%|RFVS#XjqW@eBd2C2tz$alg+mRe;Xn2Ick8zQ zO0}YDlW_$6INDcF+$T&edRp!s9-q|TT~_Q*5gOpm2E6kH7Ke6NSq4k<>~Q&DKIbzBe1NNRAJFc{pngOHrJg|}8vlv*=|6Ys2@U@) z=$Sso@c(_eJq~a2E(N24lHCudJ;t{_{oL0z{$uIloAi;iyUheL`+KNfC>x1kzkKwm7uH(X$xa|)!o z^PE+fKY9U(LzYfBL_)o=ghd7OES|i~LV262)AuOlO1(h&i2jY~-&^`O;J@)dcss>^ z=*KLBfBWOHVyIvIzk4X$5}vYzp_Frz5>}#U)_Peo-n4)5y)2$>nm_nXf3PY4Mc|WY zsAlmdNVhTncNW*W!L|2lr$6Y7KTUQzAnS(-j-vGGEJ)JFJdRd0_&2#0(7+K$Z&R|hZ%a71gmJ^Z{~l-tCp?dS(EK6U z$!qxWQ*_}B^!xfxjZX8d-Trvdxa_=tu+4u*TzzhRDC-+zyir+b@}&6|C|mns7$@N* zPVOFp@U(Gy-un0m_`XlGKE`-I(B5VH2nPMg_F%A&Xb(pGxb_nC*+1N1t9kbBF)Jc1 zKCZz>wRe|pqPYEFiytqc)%xRR5!!qdDq^FL#l`REz{RruLrq?tHDP&{wwLHbI=2-* zO>{pFIk$l82W<3+8*jw$0cav4+~%guK0a*J@mxFYGJqXfVf=hhP%2D=%-itf8~|Y2)5D zaM;G>`iS-zyGmNbY82_+q#KWMcuDqX2;2465+FyI(J;daE6!k9J6Elfk~ThLXcB}| zhCLKfn%-3bM*Rq2 zblXC)>fW2Z_FYc4m`%R5Gr(ZLir*#{uzMbIJd{SGoM>81KJ8ANR|DulDwKi}62u zFJG_pzprw&DT<{u80EhB8u>!PGgKk^Baf3=&toCNaePw&MX`?6gQy@q?PMTj+6g?7fBv21N zcL(ng=X{C)N}#9xc@Mdh3U9;SoU8Xx><9X}f{0R6kqDz^Txfu^Ao7kBfmUosX5P#? z2?)JW4CAlb5Fd;#;DnCkt!di)xKbpQ5FuYK0+ ztX0)bNJqg*$P_)CPbp*zqmWFOfsbgw2PB}30;vLJKUlU36dJVzThZdo^O0hT9k3#I z3U=<90uyDFPXUGXn)`(sR9=) z<`|Z<1QjJd?c#*%Y*HF%4<;i65CU!?or46Qrg2h+b48+NX=W9qAuK~tRxJTms`j@s z9LTQ=K)(rAf>4?=$YmO&@E#_4n_x>SQ`rwO{m>XvY1Tgi_d_XK3b$;K5wQQz3}6aWJJ}r;6kPTAvSC0{}-c3xjLiGTypZ@e$4$3?)nw zDK%iw2HuA5s|xq?ECEn4&wsvbY10MNcM&Scl&AkVsOiuhCN~RU>UBZf1QFNhhFJat zx;CoSO_Yu*2h7Isx5U9hBlDyea#aE>?f|O{8o!D%`yuQYSaj!8d`I@Aw-pcyTo3@V zM_^JbQ#?wK0hZMC^g!}5r9IxJm>L!K{a*Sp7N8_^J{gZ_OOZH~g*^#I`j4PFdhT*57;`fMQ(`R0H zKxR^m!zKzPAFer2jp&~rBRI zXp#j$-NEmPDt07=a$r`x zxHPOj-B_F0(Ky0ZbGF3bO{% zm8sxkWO)Um4eN#U5*JdhslT5fNx(i(9d$&7j7Bnxaj+;vff9@JJp$n^GdN5|MNkw( z>Wy60rQ4h!kBnrIeNmH>85JN8rZ5H-(f|N|Km;(vk(D!)j*uJ$Uh6c5uF+)!WeMsh zD^Rj~D3Gy$Ml@!hP#X~gtA`L8ML=Uo3;~p3!GPYjG6(g6z9u4f1sU6*ic}>*#V(~O z$#SYg)?!}@&{A#LTAIq`qXl7C7ZgWN z*36Sy)Fb3g!>1fU(}4>1hl2J&)rWl!dkCloP71BaBV;(n9hfO!0Ca0o+s^1%fP^@0 zEXo+M04|DzWyaiB;hkwb-S7mAT(%1=dQq>_Yg1h+SmcDhRcD?e@eWuu=;v>9wVg>f zVrkMK4p3m~0?8zn#zKLT5t(1ce&ggC4MZ@q=o44Rl#eaV$O%~6nbRe!r!#~1GD|6{ ze3=4dJp{D15%H zid^9X7Vsd6!odrCX^nedTc#D{6{Qs!N$_vmS=n4zn%#%P=h#Ld}OTmF?fi^1~E-?t7Hr(aB6c)W3QXz4L8)^e9 zw8XfBLAOo%H4-+k-a|;@YXkr-OunV@VvKP^ha5qI(R+|^jSnt16QzdfVT(qtVp|H$3~*r0%xF$nmuecCW5}aW3*Cb5fisQ zO_qZ@_gWrkO`B7*Td{V3Rr}K3oCF6)&9-9I)DBG9$qlDeQUksiqJRO7=G8Z6VLTg$ zd7ER@Ty;0@Q?97D#cBmiTLj54y2IS3Fjb3-ZQ!9ZQYK6@T_^|*L89PX(_#s~Dy<~e z2Mm~IQq7QQZiCu9!J2kXVLmDShtpagqxpO|dUzFZ-HD6|4a-@CBB|-Qp=5Mk4xt-- z=Bigj@p$hT#wV6*<#IpQvON;hp&^o{W)gYs@ofMTCMlUuS@bpS5`%<(9&C{ zm49H`MW+8nHu!dg{EcI~=7DP`BRS>1p&Ru}Y4%(<@IU`@I)D)eJA=~ia&X$RqNR9g353&HJES!kJ)=O{S;0kuDpb10p2Q~l1h<&YBQ$PXzykn zd1B}}y@WPPF@O1Eg;9{9>zEp}^v~MiTst%Mq>LHSePX;Q&^A>OpwnWQS^)1K&r@3D zAWdVCCUHXP#0U`nLiW2xqS=f?^FH-JHH1=@!N_ifmXon!8yyWm;ZBf*OHZ$JRh2q& zWVYSLf`DiWU&gk)86qn;+C@CwJ|`{*Y)vBJZJwp*fgyzsS`S4V0}&T#7#_sRoY&{X zF3yTQ%GglCKHL1DWh}&uY)a9l_0(ennb8|bH;kujHzI>kl#!KB=NnWBBQ+hbN7KIK z|7T_jMVj~EL(M#k<1rx=*3DotUa67ZZYGy^X)+Hb$sJF5%Ii^|IAS-gpMBzqKE)sm zdY{&FyT+Dklp`K?^A^VNJXNL09i*Or1*wI2s3u`QnuF+O%UoN(4^Hk3r0RH{ju{Lf z=t(?F5Xs?=6pq2sljT&PRnA)u*A%8Iqv?%j~F`6Fe>oA-l=>e3o`;b2q&4ws| ztsiYGpiKKVzO$Q(oe;;S@}>)u=$2V=TXJiuSo%(@VwZ#*TI`XqX5QK8E~T=Zycw7< z8s{AMRV7@wlUDo+Ib!a%)?*`QGu;et#jQnTNI}0f^}hh3og7cZw9Vl$G_a%`Jq$w< z#-W69WTQC=yAy_YQ6lw%b_`Z3XF_S;`m|R#ZCUixrHpP{QOWTF^0E63<()|wQdEMB zA`Knke4oAlAS56avf@574b-85P=w=wDEb94pvE6}E4fpM%{HWRkXOdGh@=@-hL!~; z2uX+_CAC5JIa3&&whgUT-)YL|E)*Was3~s=9KBLFSn+fD9LrlG==BkcrZG3bScy!V zjaCWEqKE;d(Q7%<3kdxR`n3S9gC2SU?+nLY2w8H3tUR=qFcX{M=pN_-z+}wdX0W~h1 z$tO^V$h^PFpR6LBMR?BVABH_AViMhY^a)F9i(0**&BS0Ns+?`K&>96Mq1=`fRt#TG zQJF)UM74g=LWS;Mpqih;R5p!EDHu-?6N!+3Xc=?ZSUyg4gIMry%&v3z1o@YPw9qw% zP;oR4eW3gg*l=l^#gcWrGt3-{22ZDPE)@c+VuEp`VMAJ}4O8(yo_e%W`7>}ss%mcU zV;hm^Nuq#bpd^NO$^jpLPcQ} zZTPV2MC>7?6ib#_vTpVmZgUi}oX`;xn^O|*tg9YgqbWma7uw19dY9yh1D)W3OJb&% zu1HD6nBRm=XC~^x(PBy`+jTLa`pbrgPX_6W!QX-Y6p!Z<_C9MogO9u@i9bG;qjTEQO^o{EK*x$dYkyeU zu#6Y)=5ietbwftW8_eh6uG?j4v>_>vVbEWYbcuaq9L3ZtIA~^_JQWn@giZ>}Iq3*J z{dmzFjr}SQWO3fP7y7bTQ00!q?*;7=B)d$*o4m#(OAN(Am5=dSlT`@jJVZ;EBRn8& zWsmwD56U!dKy!lHY89=Im^`w$VS}Pg+~`z-$Yd79oO+Jh3+D&Pd*~eKb3CE5V1@`p zNfHtm6jU82N{&;S8L!l%Cfc)^j>n*dcT?k8Vl{&FC*O)CfC(RxUi0`;QEj4B>UHMq zz{F}0;u%uTCf0t)B-ho+2~`Vj135k3mF8dGuQnHVexR-KEK$Di8^r+@nvI^aQz7d& z2W^?4L^qlp1UI!@&q?(*fwRLWER|_HJ&99MkrUEkHThngaGV~6W=P5S4Ltgs1%_PF zmk=psxY+|~EK2}HqNjwQ^`NDA5+spv7b3&U1C7zr<>)f74~taaoi>Bb7*&HhFX@{U z8*UInNi>ZU??HBW*@yNk6tq4CV-jV&256Ui);l98kr+XZ!Jk=_4k9tZI8qxjwxaam z&aTvx6~~#YX62T&$t)x@y#tVG#5XXwQ$w@2SJQPL)vZ@z8W$oo95vq1HY@316f|aq zIB~tqOalyq|O0kOC9saX-8Z)1i9g6ecCp+1-Zbl*PzclH$aD*fm>{`c$ck zP$f!j8IZ<%FAhEz9F9Ae=~-g8ttmsgUh$D}BD2%xEpAX!TZjfz4JiJ~k z;h5MpclQy2L9wrqW3BHfLjlCWEpoaPwxc1Ja@-+l_egCDy#EzDsGPGB3(I{ES*RL= zZ;_`g#ru1VrLStL4m3YpHe_okK+9>_K&r~jEc7VaBl~s)zquqg+Ifn6f>Byz)K|cz zghm!}R;@T8W?gIU=A1B!EHE7AbBVK;ajJ^0(MM*P=F_C^OD**Uw0t! zdn67=WX@Th@#0RjvGNeu9*JAz5fy0;%96|e?MNrjB-Mn$LiBthaOL*Uqb3r|1BY8uKqCO8); zcS_WaM4zw419Clmd7o^*Fw8t!+t`eaGk`KcZqQa@7TZE0@fS-K1ZtvOFQ||oZIJ+a z(h}1WYNfb^t0hygFyNdhP#X(`fmYO|pAygDiRn&qgK32`dYmK>7u|_tnH(F3&RDZ8 zwc?Dj5S3B%l8{LvV@8MdJhC|Mi)+J;h(qh1&DR-)xnG-%WhQbU)%M&3Gaiq1At|3? za$Cw;8p=&wjv+J|KT>)ww}CS-d61zUfYU8AKJt=XQAA`qk9hQc^m$&x&I_@&Zd3bo#NVG`qmO^zO^-ArI{B%&^e^VCgHaU4Xif~t`rI2K48oS+3`l&slG=9J+y;{e{o z_^^p~yLyi24QGskysY{klonR0Di8le`EvOmr2!x{b>JhuZcG4b ziYFzG3pGI2BU|P}m=K;a!!}o(mx_CG{6EO^F#(=Wgnr%BtE%ejFqwv9QN&QXs94>p z5cdtwB!00l7eFpkv|W-WCH5of%4(&u&9Op+|23uM^nPFKw*Znk!MIz%i=#Yld1xb1eF|E&*miu0Cv1!grFGc(E^7&tsC=< z=Yiw78Zi|0a$08R@!gN2@x0D$%WOZi+=4y&c0`nLzUWS}(l;8hHoA8k97%@;77UUb zyEzjA9ifczE3$RU=?tfBiRouSVPf*o`*qxq8 zq7zYtR<@Rjggz|T!~3xjt8d~5L~9$cKDIJZHY%K>MZ}bp50Ym}Bb$Kld!g^S$HvS* zk$yWOliT=6OS=(-d=)v5LwdJdvnw5?j0`i3a>3Hr*`loI3@;7jqVf|Y#Iig?Nj?~I z9m$@t8xnV+GeIu3w{uHl`F*}q7)Q|&#X@%#PyMo)pd@PJ@T#6CHS`dRX*bey02Kq; z$9Flhm`V1vv?-7gz^n;;X7Mf03V#riqM^o7n?J>o;42A!RHEOeX5uS0YylU zD2bSKvj~&wXi5LTOKRdzEXzl~92e#+xO^k@VOrS&DYCdBd@hY%dol!IqWcgdADN2# z$yB1SEngY5zh>!zbJ8X;24=q{lm|A7x>07$sT1iG>&psp7G{RnwGR zLRuJy5Z~ujePGBeGfDx2!WI(jPswoZWY%ZowYRCr_=L-#6bn5#TR9)83nKcp$!?HY z_EIu`HSLkGXu`z_ur+0jglDh2reMnx}-mZb3BZ4pnfRQu5XVO;z)iV8$d4EXa949w8@ibhT zKtKB z0C1blWwNZ0j#rFKYs5ceG%;NiHVxt1oosFe%mgJvDhXw@tmWV4bzVfObR{a2{KRf# z6zeAQG3?urL*+TN8#v5RLZNe-Z3A=2`(kGkXkNyQ-}y`&DGQ5esy2)@6gQ;$3sc^iA;+PT!L(TC%gIV-iq{RsIZY4U=AAllilV%#R$no1<)Na5 z4wH~aCF=U+2_hX4%Aj;e{NAhD zW??n(<-|yU9q%#5N?tpl%BJxo#J!d>d&tkvvawNI zwp1ZcqjfMl5KzCL!-D3)VN5=a0q?=&lUIvI4q-&xg70%90UN02#nMS)$wWI`Y;}6{ zc2d|B4Sw_5eH_D3Redo}&Gaag~)Z0Pp;hCXS&ZPi;J zb@S2`$~e-;twuwiAM3;S_13#a72j($@Qt%`W!j>$8BPQ6);axd{H5JEYwL?f>$KT! zLu+q8>iWe6G+uvu0}EF0d@e=6Orehx(%4YBw8~c+SO7%_DzIYxPTjdQE?5w%?y$we39M z*y?8=)t{PYM^)WuQbUcuT(q!$$dQJDHBSNH20Uz@9iChrQE8C3(8Aey8(N2f!E5bv zni(bUn${5*X#cd)g6TVJ*WWfzn$RWI5;<=x`i&jx>jH>w{ zZE96&)~LOsW>AT}A`&F>@7MR+`|(`Y`F`%}KKJj28EfV^MuAiYDbRe-+MhcG8hikE z+Q!$>lZvONq>%u~M82Y>gPn_F&?+tMm{=vEBrXA2k-igOrKZr!yvsP|?zVfzIem|Q zRYKGX1g{+Uj_@-kqK$b{JwAi+MlDnzAbp7JPrsHEa9n;_uh7-CzpIBkcT7xs6E+;i zx3K(>nTIK!%ck*;33>dax%+bh>qOn#oQjS9)NU^!29k)3Mo&pIp>%YUEf0zEkh_hN z>1#R)()GxwUW?K&9;up-SH$95psq8kkl|DJp9Zmy;>>y@>|rq%(OFQ zn)!lFp6ceyTK^nnsjXXkS51j2-zG{llc$;n0WBzwYG%Bdp7RW&>$SUhjN z^ZqqrN519OfjKAcXK@BQi+!*4D>M*1&>WR?PBu{ZmCQ~k_sI>{xD7|o&wWOOAWrL> z_Y2cJ8sgs<-)h8HFXtu>u%n(w5BB|C&Qa*wQ~+6~9{{JDG?tAk%xQtS`e|7&w86`# zxkG`=EQLX={nHauz2FsYl~!djKY@G9ubc@72>Y%Tj(~mx&E=T1v|~WDib=>9ts@qS zyn}6Z*2dCY{GdL`I(?O7X{OfD)v&8qU3yjb%QHnyx)V4)Rbm(eW-~ZMhjFuRw zJ|!#3r9O+RhKobWD$CQa4V+~Jq&|@QBdqpn$9S;cRK!#;{acvl3gw1Ba$xkWSBN~! zv_96x4=Jhe=E~nfB1lsG4sdv#9xdG@Qx1{dNURuO8ar39xpm4K`}*jb#`$J9-+;2HQZq7UNKIDUw^-%*yC5-$qsM;`J3a3QhN{^RGcgVU7h=!`z=K4TLb)nbAgKh^2;&b}8 zseE`tI~6Gj_RddCE%TO;y&#_Ghx}bWQ^pHC~A#(KMVl?NTaIf;-^LSfGrZsRwvs`X8 z|4|h7>61UYI#SaEZ`6ptoO5lWK8Pect+5ZfeT*6@ny`r)WbI<{WQ>{AfzZ1cYL<8i ztq@nLDxFuOJ?v`BFHm3+Y)ILk4V&wHs|KH2ZJqDA1X!)ck6)p$>tn?RG5Q3Dr4{=) zVUH9JmQ%5_2p|vyc+o&@>_OD-_u}MFc(J)=XyAfW7(HF4MglZpWQ(l|tNhf0wFor2 zNh?7_u{=|5`dR?-wiyp6mDIPmRrKO6ua%%aj6Myqn+2Ha+2t;Gy1c$rlTbAM=iTw* z1Vv{`JmbVl*|XiYCdFqjX#S#miESpJ;z1O1RM(NGdo0TehtaP>KaQ5Q!t3vDo9 zGyMHVx~7r+~5LZPmNrt zo`VB(?@uN98of)wVft@=`4k0{glIw_u5PF6TtkTp-_}!5+jh!<(XmTaE*B%C@YL9@ zP9vwysSkB;y)vGBSxyrkXm_f{E(kiPcA~k23r)OUrxq~_D60brR%SkrBSx)jEB;8m zx1IR2f6bMHZQD;N2%KSiJH>Q2TH}%Gp+F0RxnoYbQ5?@mW4l_(LP=#qo*pxfjy4^C zGCX#$bMvuH90!X-M^if+w8h#-daoGyoYMC=6xZ;a0C5y8K(>(j`=~}g4e33%Eb3u$ z-%krHqE(qqL)*tmd>`I|sr*WLMcNK!vPf!JbgF^$smf+~l<+&A$#@kU%lFEY>i2p& zl_u;aNM`&8zYz(Rz zP_WvQu&;YHZX)v#9=SJY#ta(MpNcoK=fosQERt93M zBvmA{0-O77D!9UWL}WlJN-_nMP^BCqoBw5mYSs2I1MB<4Dg0#?s=B)&h*rBEZ zJ)Z;d1r- zM1Y(=q*Y}+^tVHi(BKYum*MlOcu%U^U3vmsW%FZf6mNkvQaw8c$r3j6>UmON5m~Hg z^jprftj?bJ1$Oe|ga69Nn3nq3UrcuPrc+SofX!Bn5FZ>T@vSfwYhPi1xZ8KTuIgFD zQe<*5V5|9Bdwv3}d%O25qg1g!2GgVc{T$x*ewwcPD zMdoXAS-s}@WmhEhtGkIV!9$>g-)Ksdys~sn;%hCpA%T*^TK057Lan`XBv+Fy*JsXI z?C1dk-o!ezskXLW*Gh);QNPF&e<*qW`k`##P{N?8?&vcs zomRHpX}!%zY4$je`XuusPMtT@{bKIk5X_KmrcEBmn@##^m>3zyQm$lWz=~U%+!9pT zuOj8euPuLj{Eudff^H5;c(cQRTY?nAXVVwiA``u`p0j^A8c1w~34DZ|f#hW{$f*2; z$W#1(qo+J-xb@Cpj+R*|cygVveT=SnnNXT`J0H{U@n(gs`81ifmsZzbP6{za>nqAh z9C{aMywASc{PPtZNv88 zPBrw8c>o$bT`Q6feV;F zd5(fhWp`18-b8|{RYo%QR9^{^|Kh-?@Ryu1Sy6gmc9HGUUPGP=ko7%U%6{=t$6Mjs z^KEAXi}TG2bB+XIuOJR+$OzPscE&9!&ELz=(AU|-&nGOx$k4P8MU)*iorV9t(s9_rc*- z@oC2Kcg7fg7ZIa%784m*dzry&;CRXigz*1FSgzl>0zpVm%U`0lK5e8RGO4SPoLPBw zmE!SzFJKPgxnykNDm>szFn8S7$mvY^bP>@T1D0AzIloQwV7N{ZJ?%XYpEpw2*fAW! zg^EO-crYb)XC(X5m;0%OBh)nm^Tp?w~lJy7Go%(iSdd(r5in zKlIk}ajMMibVHO5>MF(A}EF$>2F8N@@I>y$i92p8u{-L zuIcZ+YI%E<{}Tb*#?B}nFt)4b=PxiAA~|L?+Staip!$_J(oS=Uyp)bm`pp$_{j(%l zSGMlfx5EfV!rs&T5xbHUXadHjE{fIa?Rszon4p@z_ue|vF=VfUJtvhbG3uxPSe_~- zTj`?!5&Dd&l~e3iV;5Kzq>eB<3zHJ}_X{Bj=T*NBSkY=h4eQJ|TMhLMOb2O-`ECzp z2BUnhs+CG9Lj(Fa4nFhndFN8Ec+X+Z^wD#=5inI!pL*TU!C0B6F8`$te#`u}>4i|a zH$XnE_G!@BEn*&_gL-r{udoF)S!!JT;M06trz7;f=#<`0?fM!DRulKjWN)x4ClO{P zK04})c%u8tXjwdJ@f_|Dj{+}r?>j~QQ2rkHJ!be)&iRa;*vCz!cG8tuVN0F>p}0~7 sR(OI+;0@e=f8I~leSd)4aB-^&46m;F{|@BoO$N)U^H)74EiR`20Zn`Y(f|Me diff --git a/ocaml-libvirt-0.6.1.5.tar.gz b/ocaml-libvirt-0.6.1.5.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a63305fd35c97cd91976e9827e2225534cb51e7d GIT binary patch literal 146401 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
    1p`JW~Zr^29~WPGglpXt56lkRqkRuxmhNMepmUu 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�C1tK()!9%dP?5 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 r{5*ahKaZcs&*SIu^Z0rEJboTOkDtfS= 4.09. +# Upstream commit 75b13978f85b32c7a121aa289d8ebf41ba14ee5a. +Patch1: 0001-Make-const-the-return-value-of-caml_named_value.patch + +# Fixes for OCaml 4.10, sent upstream 2020-01-19. +Patch2: 0001-block_peek-memory_peek-Use-bytes-for-return-buffer.patch +Patch3: 0002-String_val-returns-const-char-in-OCaml-4.10.patch +Patch4: 0003-Don-t-try-to-memcpy-into-a-String_val.patch BuildRequires: ocaml >= 3.10.0 ocaml-ocamldoc ocaml-findlib-devel -BuildRequires: libvirt-devel >= 0.2.1 perl-interpreter gawk +BuildRequires: libvirt-devel >= 0.2.1 perl-interpreter gawk make %description OCaml bindings for libvirt, allowing you to write OCaml programs and scripts which control virtualisation features. @@ -78,6 +62,10 @@ make install-opt %changelog + +* Tue Jan 20 2022 yangping - 0.6.1.5-1 +- Update to 0.6.1.5 + * Tue Feb 18 2020 chenli - 0.6.1.4-30 - Init Package.