gjs-1.58.5-1.35 >  A ^ p9|-BVhsjN% /u``%\xel9Ԃq` :BZ+S"Q-I4C3'{ZGPҜ@ :Ӹd<< kyGnJ>yYR~Hw*ݣJ$Hܨ^"zyD FN%DD~ZcG0%ޛ.`$njT8Svz~V|C Am8W%eFN/Y3uMm~k^{1U6~b' Yh7V&7}o_sCϖ0dԾ] S= ~8+p>p>$?d   Q0 Fb      Cfw(8H9H: HFGHI4X<YD\\]x^bcdeflu,vHw,xHydzCgjs1.58.51.35JavaScript bindings based on gobject-introspection and MozillaThis module contains JavaScript bindings based on gobject-introspection and the Mozilla SpiderMonkey JavaScript engine.^s390lp4SUSE Linux Enterprise 15SUSE LLC MIT AND LGPL-2.0-or-laterhttps://www.suse.com/Development/Libraries/GNOMEhttps://wiki.gnome.org/Projects/Gjslinuxs390x KHPuaA큤A큤^^^^K}^K}J^^.T3f72e9dcb33efa3d59b3ed1b110c3693d31e077e79dd6d2ffb7ae90e3397e1ea50fbdc31b1c003fc943c6c49ab1ee0f9429e07ed8370a68c28e51c4d3cc5ed9037741c0ea61dcd7bd5b92809d5eb6043129284c84d10c035cf90d2a42577c8f863fb756e60598134a7291914978991c8b88a2769077ac8276648693a64b136f0gjs-consolerootrootrootrootrootrootrootrootrootrootrootrootrootrootgjs-1.58.5-1.35.src.rpmgjsgjs(s390-64)@@@@@@@@@@@@@@@@@@@@    libX11.so.6()(64bit)libXext.so.6()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libcairo-gobject.so.2()(64bit)libcairo.so.2()(64bit)libffi.so.7()(64bit)libgcc_s.so.1()(64bit)libgio-2.0.so.0()(64bit)libgirepository-1.0.so.1()(64bit)libgjs.so.0()(64bit)libgjs0libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libgthread-2.0.so.0()(64bit)libm.so.6()(64bit)libmozjs-60.so()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2)(64bit)libreadline.so.7()(64bit)libstdc++.so.6()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.58.53.0.4-14.6.0-14.0-15.2-14.14.1^K^@]]@]p](]s]p]g@\\@\@\~d\j@\d\4\/J[[ͻ[t[ @[-[A[A[A[>@Z@Z@Z3@Z̧@Z@Zw@ZZ Z Z Z Z Z@Zp^@YeY{YzYzYY@@YY@Y3Y3Y3Y3YJ_YC@Y @XsXӸX@X~@X@Xf@XBXXOX$a@W$W@WVs@V7P@T T@bjorn.lie@gmail.combjorn.lie@gmail.comfcrozat@suse.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.commgorse@suse.comluke@ljones.devluke@ljones.devbjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comantoine.belvire@opensuse.orgluc14n0@linuxmail.orgluc14n0@linuxmail.orgluc14n0@linuxmail.orgluc14n0@linuxmail.orgbjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.combjorn.lie@gmail.comluc14n0@linuxmail.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgluc14n0@linuxmail.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgfezhang@suse.comfcrozat@suse.combjorn.lie@gmail.comluc14n0@linuxmail.orgzaitor@opensuse.orgjengelh@inai.dedimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgzaitor@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgjengelh@inai.dedimstar@opensuse.orgluke.nukem.jones@gmail.comzaitor@opensuse.orgzaitor@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgmgorse@suse.comdamjanovic.ivo@gmail.comzaitor@opensuse.orgdimstar@opensuse.orgzaitor@opensuse.org- Update to version 1.58.5: + Can not access GObject properties of classes without GI information.- Update to version 1.58.4: + Now prints a warning when constructing an unregistered object inheriting from GObject (i.e. if you forgot to use GObject.registerClass.) In 1.58.2 this would throw an exception, which broke some existing code, so that change was reverted in 1.58.3. In this version the check is reinstated, but we log a warning instead of throwing an exception, so that people know to fix their code, but without breaking things. NOTE: In 1.64 (the next stable release) the warning will be changed back into an exception, because code with this problem can be subtly broken and cause unexpected errors elsewhere. So make sure to fix your code if you get this warning. + GSettings crash fixes. + Memory savings for Cairo objects. + Fix for crash in debug functions.- Enable systemtap support.- Update to version 1.58.3: + Emergency release, intended to correct two mistakes in 1.58.2, both coming from crash fixes that had unexpected other effects on working code.- Update to version 1.58.2: + GObject based class initialization checks. + Silently leaked return value of callbacks. + Crash when calling Gio.Initable.async_init with not vfunc_async_init implementation. + [cairo] insufficient checking. + Various crash fixes backported from the development branch.- Update to version 1.58.1: + Closed bugs and merge requests: - Import wiki documentation. - Smaller CI, phase 1. - Crashes after setting child property 'icon-name' on GtkStack then displaying another GtkStack. - GLib.strdelimit crashes.- Update to version 1.58.0: + No changes.- Update to version 1.57.92: + Enable regression test cases for GPtrArrays and GArrays of structures. * Various maintenance.- Update to version 1.57.91: + GJS no longer links to libgtk-3. This makes it possible to load the Gtk-4.0 typelib in GJS and write programs that use GTK 4. + The heapgraph tool has gained some improvements; it is now possible to print a heap graph of multiple targets. You can also mark an object for better identification in the heap graph by assigning a magic property: for example, myObject.__heapgraph_name = 'Button' will make that object identify itself as "Button" in heap graphs. + Closed bugs and merge requests: - Remove usage of Lang in non legacy code. - GTK4. - JS syntax fixes. - gi: Avoid infinite recursion when converting GValues. - Implement all GObject-introspection test suites. - Heapgraph improvements. - Update to version 1.57.90: + New JS API: GLib.Variant has gained a recursiveUnpack() method which transforms the variant entirely into a JS object, discarding all type information. This can be useful for dealing with a{sv} dictionaries, where deepUnpack() will keep the values as GLib.Variant instances in order to preserve the type information. + New JS API: GLib.Variant has gained a deepUnpack() method which is exactly the same as the already existing deep_unpack(), but fits with the other camelCase APIs that GJS adds. + Closed bugs and merge requests: - Marshalling of GPtrArray broken. - Fix locale chooser. - dbus-wrapper: Remove interface skeleton flush idle on dispose. - gobject: Use auto-compartment when getting property as well. - modules/signals: Use array destructuring in _emit. - GJS can't call glibtop_init function from libgtop. - GLib's VariantDict is missing lookup. - toString on an object implementing an interface fails. - Regression in GstPbutils.Discoverer::discovered callback. - GLib.Variant.deep_unpack not working properly with a{sv} variants. - Various maintenance. + Various CI fixes. - Update to version 1.57.4: + Closed bugs and merge requests: - gjs 1.57 requires a recent sysprof version for sysprof-capture-3. + Misc documentation changes. - Update to version 1.57.3: + The GJS profiler is now integrated directly into Sysprof 3, via the GJS_TRACE_FD environment variable. Call stack information and garbage collector timing will show up in Sysprof. See also GNOME/Initiatives#10 + New JS API: System.addressOfGObject(obj) will return a string with the hex address of the underlying GObject of `obj` if it is a GObject wrapper, or throw an exception if it is not. This is intended for debugging. + New JS API: It's now possible to pass a value from Gio.DBusProxyFlags to the constructor of a class created by Gio.DBusProxy.makeProxyWrapper(). + Backwards-incompatible change: Trying to read a write-only property on a DBus proxy object, or write a read-only property, will now throw an exception. Previously it would fail silently. It seems unlikely any code is relying on the old behaviour, and if so then it was probably masking a bug. + Closed bugs and merge requests: - Build failure on Continuous. - build: Bump glib requirement. - profiler: avoid clearing 512 bytes of stack. - system: add addressOfGObject method. - Add support for GJS_TRACE_FD. - Gio: Make possible to pass DBusProxyFlags to proxy wrapper. - Various maintenance. - Marshalling of GPtrArray broken. - Build fix. - Gio: sync dbus wrapper properties flags. - GjsMaybeOwned: Reduce allocation when used as Object member. - Update to version 1.57.2: + There are now overrides for Gio.SettingsSchema and Gio.Settings which avoid aborting the whole process when trying to access a nonexistent key or child schema. The original API from GLib was intended for apps, since apps should have complete control over which settings keys they are allowed to access. However, it is not a good fit for shell extensions, which may need to access different settings keys depending on the version of GNOME shell they're running on. This feature is based on code from Cinnamon which the copyright holders have kindly agreed to relicense to GJS's license. + New JS API: It is now possible to pass GObject.TypeFlags to GObject.registerClass(). For example, passing `GTypeFlags: GObject.TypeFlags.ABSTRACT` in the class info object, will create a class that cannot be instantiated. This functionality was present in Lang.Class but has been missing from GObject.registerClass(). + Closed bugs and merge requests: - Document logging features. - Support optional GTypeFlags value in GObject subclasses. - Ensure const-correctness in C++ objects. - Programmer errors with GSettings cause segfaults. - Various maintenance. - debugger: Fix summary help. - context: Use Heap pointers for GC objects stored in vectors. - Update to version 1.57.1: + Closed bugs and merge requests: - Various maintenance. - mainloop: Assign null to property instead of deleting. - Added -d version note README.md. - Extra help for debugger commands. - Crash in BoxedInstance when struct could not be allocated directly. - Cairo conversion bugs.- Update to version 1.56.2: + Crash in BoxedInstance when struct could not be allocated directly. + Cairo conversion bugs fixed. + Gjs crashes when binding inherited property to js added gobject-property. + console: Don't accept --profile after the script name.- Update to version 1.56.1: + Calling dumpHeap() on non-existent directory causes crash. + Using Gio.MemoryInputStream.new_from_data ("string") causes segfault. + Fix gjs_context_eval() for non-zero-terminated strings.- Update to version 1.56.0: + Stable release version bump.- Update to version 1.55.92: + Possible memory allocation/deallocation bug (possibly in js_free() in GJS). + cairo-context: Special-case 0-sized vector. + Add some more eslint rules. + NMake/libgjs-private: Export all the public symbols there.- Update to version 1.55.91: + The problem of freezing while running the tests using GCC's sanitizers was determined to be a bug in GCC, which was fixed in GCC 9.0.1. + Closed bugs and merge requests: - gnome-sound-recorder crashes deep inside libgjs. - Various maintenance. - wrapperutils: Define $gtype property as non-enumerable.- Update to version 1.55.90: + New JS API: It's now possible to call and implement DBus methods whose parameters or return types include file descriptor lists (type signature 'h'). This involves passing or receiving a Gio.UnixFDList instance along with the parameters or return values. + To call a method with a file descriptor list, pass the Gio.UnixFDList along with the rest of the parameters, in any order, the same way you would pass a Gio.Cancellable or async callback. + For return values, things are a little more complicated, in order to avoid breaking existing code. Previously, synchronously called DBus proxy methods would return an unpacked GVariant. Now, but only if called with a Gio.UnixFDList, they will return [unpacked GVariant, Gio.UnixFDList]. This does not break existing code because it was not possible to call a method with a Gio.UnixFDList before, and the return value is unchanged if not calling with a Gio.UnixFDList. This does mean, unfortunately, that if you have a method with an 'h' in its return signature but not in its argument signatures, you will have to call it with an empty FDList in order to receive an FDList with the return value, when calling synchronously. + On the DBus service side, when receiving a method call, we now pass the Gio.UnixFDList received from DBus to the called method. Previously, sync methods were passed the parameters, and async methods were passed the parameters plus the Gio.DBusInvocation object. Appending the Gio.UnixFDList to those parameters also should not break existing code. + See the new tests in installed-tests/js/testGDBus.js for examples of calling methods with FD lists. + We have observed on the CI server that GJS 1.55.90 will hang forever while running the test suite compiled with GCC 9.0.0 and configured with the --enable-asan and --enable-ubsan arguments. This should be addressed in one of the following 1.55.x releases. + Closed bugs and merge requests: - GDBus proxy overrides should support Gio.DBusProxy.call_with_unix_fd_list(). - Add regression tests for GObject vfuncs. - GjsPrivate: Sources should be C files. - build: Vendor last-good version of AX_CODE_COVERAGE.- Update to version 1.55.4: + Various maintenance. + Boxed copy constructor should not be called, split Boxed into prototype and instance structs.- Update to version 1.55.3: + Manually constructed ByteArray toString segfaults. + signals: Add _signalHandlerIsConnected method. + Various maintenance. - Changes from version 1.55.2: + Gnome-shell crashes on destroying cached param specs. + Various maintenance. + Auto pointers builder. + configure.ac: Update bug link. + SIGSEGV when exiting gnome-shell. + Fix build with --enable-dtrace and create CI job to ensure it doesn't break in the future. + Delay JSString-to-UTF8 conversion. + Annotate return values. + Fix a regression with GError toString(). + GType memleak fixes. + Atoms refactor. + Write a "Code Hospitable" README file. + object: Method lookup repeatedly traverses introspection. + Handler of GtkEditable::insert-text signal is not run. - Changes from version 1.55.1: + object: Implement newEnumerate hook for GObject. + Various maintenance. + ByteArray.toString should stop at null bytes. + Byte arrays that represent encoded strings should be 0-terminated. + context: Defer and therefore batch forced GC runs. + context: use timeout with seconds to schedule a gc trigger. + arg: Add special-case for byte arrays going to C.- Update to version 1.54.3: + object: Fix write-only properties. + SIGSEGV when exiting gnome-shell. + SelectionData.get_targets crashes with "Unable to resize vector". + Gnome-shell crashes on destroying cached param specs. + GType memleak fixes. + Fix build with --enable-dtrace and create CI job to ensure it doesn't break in the future.- Update to version 1.54.2: + context: - Defer and therefore batch forced GC runs. - Use timeout with seconds to schedule a gc trigger. + fundamental: Check if gtype is valid before using it. + Backported a fix for a crash in the interactive interpreter when executing something like `throw "foo"`. + Backported various maintenance from 3.31.- Update to version 1.54.1: + legacy: Ensure generated GType names are valid. + Fix GJS profiler with MozJS 60. + Regression with DBus proxies.- Update to version 1.54.0: + Compatibility fix for byte arrays: the legacy toString() behaviour of byte arrays returned from GObject-introspected functions is now restored. If you use the functionality, a warning will be logged asking you to upgrade your code (glgo#GNOME/gjs#227).- Update to version 1.53.92: + Technology preview of a GNOME 3.32 feature: native Promises for GIO-style asynchronous operations. Since this is a technology preview, we do not guarantee API stability with the version coming in GNOME 3.32. These APIs are marked with underscores to emphasize that they are not stable yet. Use them at your own risk. + Closed bugs and merge requests: - Added promisify to GJS GIO overrides (glgo#GNOME/gjs!225). - Temporary fix for Gio.File.prototype (glgo#GNOME/gjs!226). - Changes from version 1.53.91: + Closed bugs and merge requests: - Fix example eslint errors; - Fix more "lost" GInterface properties. - Changes from version 1.53.90: + GJS includes a simple debugger now. + New API for programs that embed GJS: gjs_context_setup_debugger_console(). + New JavaScript features! This version of GJS is based on SpiderMonkey 60, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52. + Fixed bugs: glgo#GNOME/gjs#178, glgo#GNOME/gjs#179, glgo#GNOME/gjs#185, glgo#GNOME/gjs#110, CWE-126 (glgo#GNOME/gjs#174), glgo#GNOME/gjs#149, glgo#GNOME/gjs#132, glgo#GNOME/gjs#161, glgo#GNOME/gjs#5, glgo#GNOME/gjs#186. - Changes from version 1.53.4: + Refactored the way GObject properties are accessed. This should be a bit more efficient, as property info (GParamSpec) is now cached for every object type. There may still be some regressions from this; please be on the lookout so we can fix them in the next release. + The memory usage for each object instance has been reduced, resulting in several dozens of megabytes less memory usage in GNOME Shell. + Fixed bugs: glgo#GNOME/gjs#160, glgo#GNOME/gjs#24, glgo#GNOME/gjs#173, glgo#GNOME/gjs#165, glgo#GNOME/gjs#171, glgo#GNOME/gjs#177, glgo#GNOME/gjs#172, glgo#GNOME/gjs#182. - Changes from version 1.53.3: + Closed bugs and merge requests: - Adding multiple ESLint rules for spacing. - Various maintenance. - Add pkgconfig(mozjs-60) BuildRequires while dropping its predecessor pkgconfig(mozjs-52) and mozjs52-devel to reflect upstream changes. - Conditionalize the use of systemtap/dtrace: they are currently failing.- Update to version 1.53.3: + Adding multiple ESLint rules for spacing. + Various small fixes.- Update to version 1.53.2: + The `Template` parameter passed to `GObject.registerClass()` now accepts file:/// URIs as well as resource:/// URIs and byte arrays. + New API: `gjs_get_js_version()` returns a string identifying the version of the underlying SpiderMonkey JS engine. The interpreter executable has also gained a `--jsversion` argument which will print this string. + Several fixes for memory efficiency and performance. + Fixed bugs: - Reduce memory overhead of g_object_weak_ref() (glgo#GNOME/gjs#144). - Use compacting GC on RSS size growth (glgo#GNOME/gjs#151). - Segfault on enumeration of GjSFileImporter properties when a searchpath entry contains a symlink.- Update to version 1.53.1: + Improvements to garbage collection performance. + Now, when building a class from a UI template file signals defined in the UI template file will be automatically connected. + Fixed bugs: - Tweener: Add min/max properties; - `ARGV` encoding issues (glgo#GNOME/gjs#22); - Make GC much more aggressive (glgo#GNOME/gjs#62 bsc#1093541); - Queue GC when a GObject reference is toggled down (glgo#GNOME/gjs#140); - overrides: support Gtk template callbacks; - Ensure not to miss the force_gc flag (glgo#GNOME/gjs#150). - Append LGPL-2.0-or-later to the License tag to conform to due source code licenses. And set LPGL-2.0-or-later License tag for libgjs library subpackage. - Drop fixed upstream patches: + gjs-Add-API-to-force-GC-schedule.patch and + gjs-Queue-forced-GC.patch. + gjs-ensure-force_gc-flag-use.patch.- Add gjs-ensure-force_gc-flag-use.patch: context: Ensure force_gc flag is not lost if the idle is scheduled (glgo#GNOME/gjs#150).- Update to version 1.52.3: + Include calc.js example from Seed (glgo#gnome/gjs#130). + CI: Un-pin the Fedora Docker image (glgo#gnome/gjs#141, (glgo#gnome/gjs#131). + Reduce overhead of wrapped objects (glgo#gnome/gjs#142, (glgo#gnome/gjs#121). + Various CI changes (glgo#gnome/gjs#134, (glgo#gnome/gjs#136).- Add gjs-Add-API-to-force-GC-schedule.patch: context: Add API to force GC schedule. There are situations where we cannot run the GC right away, but we also cannot ignore the need of running it. For those cases, add a new private function that forces GC to happen on idle (glgo"GNOME/gjs#140). - Add gjs-Queue-forced-GC.patch: object: Queue a forced GC when toggling down. Since we cannot know how many more wrapped GObjects are going be marked for garbage collection after the owner is destroyed, always queue a garbage collection when a toggle reference goes down (glgo"GNOME/gjs#140).- Update to version 1.52.2: + This is an unscheuled release in order to revert a commit that causes a crash on exit, with some Cairo versions. + Closed bugs and merge requests: - heapgraph.py: adjust terminal output style (glgo#gnome/gjs#120). - Warn about compilation warnings (glgo#gnome/gjs#125). - Miscellaneous commits.- Update to version 1.52.1: + In addition to System.dumpHeap(), you can now dump a heap from a running Javascript program by starting it with the environment variable GJS_DEBUG_HEAP_OUTPUT=some_name, and sending it SIGUSR1. + Closed bugs: - Crash when resolving promises if exception is pending (glgo#GNOME/gjs#18). - Tools for examining heap graph (glgo#GNOME/gjs#116). - Add support for passing flags to Gio.DBusProxy in makeProxyWrapper (glgo#GNOME/gjs#122). - Cannot instantiate Cairo.Context (glgo#GNOME/gjs#126). - GISCAN GjsPrivate-1.0.gir fails (glgo#GNOME/gjs#128). - Invalid read of g_object_finalized flag (glgo#GNOME/gjs#129). - Pick a different C++ linter. - profiler: Don't assume layout of struct sigaction. - Update tweener.js. - Various maintenance.- Update to version 1.52.0: + No changes from 1.51.92.- Update to version 1.51.92: + Abort if we are called back in a non-main thread. + Fix build failure of 3.27.91 identified on debian/Ubuntu. + Analyze project code quality with Code Climate inside CI. + Various CI improvements.- Modernize spec-file by calling spec-cleaner- Update to version 1.51.91: + Promises now resolve with a higher priority, so asynchronous code should be faster. + Bugs fixed: - profiler: Don't include alloca.h when disabled. - GNOME crash with fatal error "Finalizing proxy for an object that's scheduled to be unrooted: Gio.Subprocess" in gjs (glgo#GNOME/gjs#26).- Update to version 1.51.90: + GJS now, once again, includes a profiler, which outputs files that can be read with sysprof. + New API: For programs that want more control over when to start and stop profiling, there is new API for GjsContext. + New API: GObject.signal_connect(), GObject.signal_disconnect(), and GObject.signal_emit_by_name() are now available in case a GObject-derived class has conflicting connect(), disconnect() or emit() methods. + Bugs fixed: glgo#GNOME/gjs#2, glgo#GNOME/gjs#10, glgo#GNOME/gjs#11, glgo#GNOME/gjs#31, glgo#GNOME/gjs#37, glgo#GNOME/gjs#39, glgo#GNOME/gjs#40, glgo#GNOME/gjs#47, glgo#GNOME/gjs#54, glgo#GNOME/gjs#55, glgo#GNOME/gjs#56, glgo#GNOME/gjs#57, glgo#GNOME/gjs#58, glgo#GNOME/gjs#59, glgo#GNOME/gjs#65.- Update to version 1.51.4: + GJS will now log a warning when a GObject is accessed in Javascript code after the underlying object has been freed. + APIs exposed through GObject Introspection that use the GdkAtom type are now usable from Javascript. + The GitLab CI tasks have continued to gradually become more and more sophisticated. + Closed bugs and merge requests: - Add checks for GObjects that have been finalized. - Fail static analyzer if new warnings are found. - Run code coverage on GitLab. - Amend gtk.js and add gtk-application.js with suggestion. - Improve GdkAtom support that is blocking clipboard APIs. - Test "Cairo context has methods when created from a C function" fails. - Various CI improvements. - Various maintenance.- Update to version 1.51.3: + CI improvements on GitLab.- Update to version 1.51.2: + The home of GJS is now at GNOME's GitLab instance: https://gitlab.gnome.org/GNOME/gjs + Closed bugs and merge requests: - Allow throwing GErrors from JS virtual functions (bgo#682701) - [RFC] bootstrap system (bgo#777724). - Fix code coverage (and refactor it to take advantage of mozjs52 features) (bgo#788166). - Various maintenance (!2). - Get GitLab CI working and various improvements (#6, !7, !9, !11, !13). - Add build status badge to README (!8). - Use Docker images for CI (!12). + Some changes in progress to improve garbage collection when signals are disconnected (bgo#679688).- Do not try to build against s390 anymore, since it doesn't build with mozjs54 and s390 is only for compability with old applications (gjs doesn't qualifies).- Update to version 1.50.4: + Gnome Shell crash with places-status extension when you plug an USB device (glgo#gjs#33 and glgo#gjs#38). - Changes from version 1.50.3: + GJS will now log a warning when a GObject is accessed in Javascript code after the underlying object has been freed in C. (This used to work most of the time, but crash unpredictably.) We now prevent this situation which, is usually by caused a memory management bug in the underlying C library. + Closed bugs and merge requests: - Add checks for GObjects that have been finalized (glgo#gjs#21, glgo#gjs#23, glgo#gjs#25, glgo#gjs#28, glgo#gjs#33). - Test "Cairo context has methods when created from a C function" fails (glgo#gjs#27, glgo#gjs#35). - Various fixes from the master branch for rare crashes.- Update to version 1.50.2: + Closed bugs and merge requests: - tweener: Fix a couple of warnings. - legacy: Allow ES6 classes to inherit from abstract Lang.Class class. + Minor bugfixes. - Update Url to https://wiki.gnome.org/Projects/Gjs: current Gjs' project web page. - Align BuildRequires with configure: + Add pkgconfig(*): cairo-gobject, gio-2.0, gobject-2.0 and gthread-2.0. + Drop pkgconfig(libmozjs-52) and libxml2-tools.- Update to version 1.50.1: + As a debugging aid, gjs_dumpstack() now works even during garbage collection. + Code coverage tools did not work so well in the last few 1.49 releases. The worst problems are now fixed, although even more improvements will be released in the next unstable version. Fixes include: - Specifing prefixes for code coverage files now works again. - Code coverage now works on lines inside ES6 class definitions. - The detection of which lines are executable has been improved a bit.- Rectify summaries.- Update to version 1.50.0: + Relicense coverage.cpp and coverage.h to the same license as the rest of GJS (bgo#787263). - Change license back to MIT.- Update to version 1.49.92: + It's now possible to build GJS with sanitizers (ASan and UBSan) enabled; add "--enable-asan" and "--enable-ubsan" to your configure flags. + There's also a "make check-valgrind" target which will run GJS's test suite under Valgrind to catch memory leaks and threading races. + Many of the crashes in GNOME 3.24 were caused by GJS's closure invalidation code which had to change from the known-working state in 1.46 because of changes to SpiderMonkey's garbage collector. This code has been refactored to be less complicated, which will hopefully improve stability and debuggability. + Docs tweaks. + Bugs fixed: bgo#783220, bgo#786668, bgo#786995, bgo#787113.- Temporariliy change license to GPL-2.0+: there are a couple files in the source tree, that link into libgjs and bring the code to GPL-2.0+ level; upstream is working on relicensing them (bgo#787263).- Update to version 1.49.91: + Deprecation: The private "__name__" property on Lang.Class instances is now discouraged. Code should not have been using this anyway, but if it did then it should use the "name" property on the class (this.__name__ should become this.constructor.name), which is compatible with ES6 classes. + Closed bugs: - Use ES6 classes (bgo#785652). - A few fixes for stack traces and error reporting (bgo#786183). - /proc/self/stat is read for every frame if GC was not needed (bgo#786017). + Build fix.- Update to version 1.49.90: + New API: GObject.registerClass(), intended for use with ES6 classes. + Misc 1.49 and mozjs52 enhancements (bgo#785040). + Switch to native promises (bgo#784713). + Can't call exports using top-level variable toString (bgo#781623). + Properties no longer recognized when shadowed by a method (bgo#785091). + Backport of changes required for use with mozjs-55. - Changes from version 1.49.6: + GJS crash in needsPostBarrier, possible access from wrong thread (bgo#783935). - Changes from version 1.49.4: + This version of GJS is based on SpiderMonkey 52. + New language features - ES6 classes. - Async functions and await operator. - Reflect - built-in object with methods for interceptable operations. + Backwards-incompatible changes - Non-standard "let expressions" and "let blocks" (e.g., `let (x = 5) { use(x) }`) are not supported any longer - Non-standard flags argument to String.match(), String.replace(), and String.search() (e.g. `str.replace('foo', 'bar', 'g')`) is now ignored. - Non-standard WeakSet.clear() method has been removed. - Variables declared with let and const are now 'global lexical bindings', as per the ES6 standard, meaning that they will not be exported in modules. + Closed bugs: - Prepare for SpiderMonkey 45 and 52 (bgo#781429). - Add a static analysis tool as a make target (bgo#783214). - Fix the build with debug logs enabled (bgo#784469). - Switch to SpiderMonkey 52 (bgo#784196). - Test suite fails when run with JIT enabled (bgo#616193). - Replace pkgconfig(mozjs-38) BuildRequires for pkgconfig(mozjs-52), following upstreams port. - Add libxml2-tools BuildRequires: new dependency.- Update to version 1.49.3: + Fixes in preparation for SpiderMonkey 52. + Use the Centricular fork of libffi to build on Windows. + Use a C++ auto pointer instead of g_autofree (bgo#777597). + Build failure in GNOME Continuous (bgo#783031).- Update to version 1.49.2: + New feature: When building an app with the Package module, using the Meson build system, you can now run the app with "ninja run" and all the paths will be set up correctly. + New feature: Gio.ListStore is now iterable. + New API: Package.requireSymbol(), a companion for the already existing Package.require(), that not only checks for a GIR library but also for a symbol defined in that library. + New API: Package.checkSymbol(), similar to Package.requireSymbol() but does not exit if the symbol was not found. Use this to support older versions of a GIR library with fallback functionality. + New API: System.dumpHeap(), for debugging only. Prints the state of the JS engine's heap to standard output. Takes an optional filename parameter which will dump to a file instead if given. + Fixes in preparation for SpiderMonkey 52. + Misc fixes. + Bugs fixed: bgo#775868, bgo#781882, bgo#781882, bgo#782065, bgo#782069, bgo#779593, bgo#782310, bgo#781219, bgo#780106.- Update to version 1.49.1: + test GObject Class failure (bgo#693676). + Enable incremental GCs (bgo#724797). + Don't silently accept extra arguments to C functions (bgo#680215). + Special case GValues in signals and properties (bgo#688128). + [cairo]: Instantiate wrappers properly (bgo#614413). + Warn if we're importing an unversioned namespace (bgo#689654). + Fixes in preparation for SpiderMonkey 45.- Update to version 1.48.6: + GJS crash in needsPostBarrier, possible access from wrong thread - more fixes for bgo#783935.- Update to version 1.48.5: + GJS crash in needsPostBarrier, possible access from wrong thread (bgo#783935). + Fix format string, caught by static analysis. + Fixes for regression in 1.48.4.- Update to version 1.48.4: + gnome-shell 3.24.1 crash on wayland (bgo#781799).- Update to version 1.48.3: + arg: don't crash when asked to convert a null strv to an array (bgo#775679). + gjs 1.48.0: does not compile on macOS with clang (bgo#780350). + Modernize shell scripts (bgo#781806). - Changes from version 1.48.2: + Intermittent crash in gnome-shell, probably in weak pointer updating code (bgo#781194). + Add contributor's guide (bgo#781297). + Misc fixes.- Update to version 1.48.1: + gjs crashed with SIGSEGV in gjs_object_from_g_object (bgo#779918). + Misc bug fixes.- Drop redundant %clean section.- Update to version 1.48.0: + Memory leak in object_instance_resolve() (bgo#780171). - Drop gjs-object-Fix-memory-leak-in-resolve.patch: fixed upstream.- Add patch gjs-object-Fix-memory-leak-in-resolve.patch: The "name" string, allocated in gjs_get_string_id(), wasn't getting freed at every exit point of the function (bgo#780171).- Update to version 1.47.92: + gjs 1.47.91 configure fails with Fedora's mozjs38 (bgo#779412). + tests: Don't fail when Gtk+-4.0 is available (bgo#779594). + gjs 1.47.91 test failures on non-amd64 (bgo#779399). + gjs_eval_thread should always be set (bgo#779693). + System.exit() should exit even across main loop iterations (bgo#779692). + Fix a typo in testCommandLine.sh (bgo#779772). + arg: Fix accidental fallthrough (bgo#779838). + jsUnit: Explicitly check if tempTop.parent is defined (bgo#779871). + Misc bug fixes. - Drop mozjs38 BuildRequires and stop passing JS_INTERP=/usr/bin/js to configure: No longer needed after upstream fixes.- Update to version 1.47.91: + overrides/Gio: Provide an empty array on error, rather than null (bgo#677513). + WithSignals parameter for Lang.Class (bgo#664897). + Add API to better support asynchronous code (bgo#608450). + Fix 1.47.90 tests are failing (bgo#778780). + boxed: Plug a memory leak (bgo#779036). + Don't crash when marshalling an unsafe integer from introspection (bgo#778705). + Lang.Class should include symbol properties (bgo#778718). + Console output of arrays should be UTF-8 aware (bgo#778729). + Various fixes for 1.47.91 (bgo#779293). + Progress towards a Visual Studio build of GJS on Windows. + Misc bug fixes. - Pass JS_INTERP=/usr/bin/js to configure in order to help it find the default, unversioned js binary. - Add moyjs38 BuildRequires: the mozjs interpreter is not installed per default together with mozjs-devel.- Update to version 1.47.90: + This version of GJS is based on SpiderMonkey 38. + Syntax enhancements. + Various API additions. + Backwards-incompatible changes: - It is now a syntax error to declare the same variable twice with "let" or "const" in the same scope. Existing code may need to be fixed, but the fix is trivial. + SpiderMonkey is now extra vocal about warning when you access an undefined property, and this causes some false positives. You can turn this warning off by setting GJS_DISABLE_EXTRA_WARNINGS=1. + When enumerating the importer object (i.e., "for (let i in imports) {...}") you will now get the names of any built-in modules that have previously been imported. + Bugs fixed: bgo#776966, bgo#777205, bgo#642506, bgo#776549, bgo#777962. - Replace pkgconfig(mozjs-31) BuildRequires with pkgconfig(mozjs-38), following upstreams port.- Update to version 1.47.4: + News for GJS embedders such as gnome-shell: - New API: The GjsCoverage type and its methods are now exposed. Use this if you are embedding GJS and need to output code coverage statistics. + Bugs fixed: bgo#563391, bgo#619710, bgo#636283, bgo#697020, bgo#730101, bgo#737607, bgo#742852, bgo#751146, bgo#760057, bgo#775444, bgo#775776, bgo#776193, bgo#776938.- Update to version 1.47.3: + New JavaScript features! This version of GJS is based on SpiderMonkey 31, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 24. + New syntax: - Spread operator in function calls: someFunction(arg1, arg2, ...iterableObj). - Generator functions: yield, function*, yield*. - Binary and octal numeric literals: 0b10011100, 0o377. - Function arguments without defaults can now come after those with defaults: function f(x=1, y) {}. + New standard library module: Intl - Locale-sensitive formatting and string comparison. + New behaviour: - -0 and +0 are now considered equal as Map keys and Set values. - On typed arrays, numerical indexed properties ignore the prototype object: Int8Array.prototype[20] = 'foo';(new Int8Array(32))[20] == 0. + New non-standard Mozilla extensions: - Array comprehensions. - Generator comprehensions; both were originally proposed for ES6 but removed. + Bugs fixed: bgo#573335, bgo#595439, bgo#605972, bgo#742249, bgo#751252, bgo#770244, bgo#771598, bgo#771745, bgo#772027, bgo#772033, bgo#772386, bgo#772790, bgo#773297, bgo#773335, bgo#775205. - Replace pkgconfig(mozjs-24) BuildRequires with pkgconfig(mozjs-31), following upstreams port.- Update to version 1.47.0: + Backwards-incompatible change: we have changed the way certain JavaScript values are marshalled into GObject introspection 32 or 64-bit signed integer values, to match the ECMA standard. + Backwards-incompatible change: we have changed the way gjs-console interprets command-line arguments. - Add pkgconfig(gtk+-3.0) BuildRequires: enable GTK+ support.- Update to version 1.46.0: + Be future proof against Format fixes in SpiderMonkey (bgo#770111).- Update to version 1.45.4: + Release out args before freeing caller-allocated structs (bgo#768413). + Marshal variable array-typed signal arguments (bgo#761659). + Marshal all structs in out arrays correctly (bgo#761658). + Call setlocale() before processing arguments (bgo#760424). + Build fixes and improvements: bgo#737702, bgo#761072, bgo#761366, bgo#765905, bgo#767368.- Update to GNOME 3.20 Fate#318572- Update to version 1.45.3: + Support external construction of gjs-defined GObjects (bgo#681254). + Add new format.printf() API (bgo#689664). + Add new API to get the name of a repository (bgo#685413). + Add C to JS support for arrays of flat structures (bgo#704842). + Add API to specify CSS node name (bgo#758349). + Return value of default signal handler for "on_signal_name" (bgo#729288). + Fix multiple emissions of onOverwrite in Tweener (bgo#597927). + Misc bug fixes: bgo#727370, bgo#623330, bgo#667908, bgo#757763.- Update to version 1.44.0: + Add Lang.Interface and GObject.Interface (bgo#751343, bgo#752984). + Support callbacks with (transfer full) return types (bgo#750286). + Add binding for setlocale() (bgo#753072). + Improve support to generate code coverage reports (bgo#743009, bgo#743007, bgo#742362, bgo#742535, bgo#742797, bgo#742466, bgo#751732). + Report errors from JS property getters/setters (bgo#730101). + Fix crash when garbage collection triggers while inside an init function (bgo#742517). + Port to CallReceiver/CallArgs (bgo#742249). + Misc bug fixes (bgo#736979, bgo#753072, bgo#750688).- Require gjs by the devel package: a user installing the -devel package expects the interpreter to also be present.- Update to version 1.43.3: + GTypeClass and GTypeInterface methods, such as g_object_class_list_properties(), are now available (bgo#700347). + Added full automatic support for GTK widget templates (bgo#700347, bgo#737661, bgo##739739). + Added control of JS Date caches to system module (bgo#739790). + Misc bug fixes and memory leak fixes (bgo#738122, bgo#740696, bgo#737701).s390lp4 15917385711.58.5-1.351.58.5-1.35gjsgjs-consolegjsNEWSREADMEgjsCOPYING/usr/bin//usr/share/doc/packages//usr/share/doc/packages/gjs//usr/share/licenses//usr/share/licenses/gjs/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP2:GA/standard/422961f3ad6b471d5a0cd016c56f2dfe-gjscpioxz5s390x-suse-linuxELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld6, BuildID[sha1]=f87e99efa439eac4153e708becfe342231276235, for GNU/Linux 3.2.0, strippeddirectoryUTF-8 Unicode textASCII textRRR R RRRRRR R RRRRRRRRRpPĪ^utf-8c1ae03096b8b239d1ed105edcc2faa093fc110a37829bfb0a6eb91e56a1fc83f? 7zXZ !t/o] cr$x#ȵ4t&SV{Qz~<-ĞMg)D%9"cR=ȪYG#[QDH֚}8bmMi#37a>{Hޜ幷<ٱ'Ӵ,G.fTL ]9W0)hSLl(ۈ= 58[0}U_'7p_d7zFFRA%-Bs_Rl@[uu۾iqȼJ Rn]޾NfQp M>}T]&1ʗBľ#$qGdž5]/`{OEhxkH%c2GBi=Bt~q_GoW-heT)U?Tav#[HwlqqB gh:r 1=ys<,'7h~~H `CseySR(reO5teG|esrޝn+bNhE2y;:g%"WԂ5> 欌]]a? Q```~4ML$Hf:HW- a?d>#"*vn,/\,Dď"Fįfɽi0\]wFۖ ܏ 8KNT|F 0|$7-= M5|W rݹ: NJ#E.dJ+T'2&|\,F*g `tAQi_tH $3<ե4b}~ĵ 9M [Zu)3@-;epj+rz8u#%7wR-W}WM1iawczdˏMzl7Vx=;) %_F.ir,cVN\#v=A\˼cӀ.ڔHIwΤti>gn2̫ǹNĴW8uib|=Zk90m/1c #+>^iٙ:?_meˤ8#Ϥ4ų2\K6Z [E1cs؅qN>{?~u H鉉E (:vGAaB3?&>J'z!sCfIo?0-UՑٚڽ7 ~ hVqA4DZX)6%kvBG2ʻֵtuȇ`?< {-bsG ЃFݡAľ#{7t&<ɸ1ݵ͔l,%Q۱v0jʎ!Ei ?~SDAK<i;)jId6r U=3g!!uĚæ/"Cu @ZWB<}e,@v'aF59kmYoĉl!Y$Rz+! vx_ W8͘ZG$)D APqrx gΗ1u#dp+-f6*l˛`&saֱURr>g˒jll$ ͖,d7m"8ceMn?wؽQ^( mIGMy rP+SPBD \i˂AN%٤a6qn PDF0@ "0ERkحZH ⬉=?u=UBAB?;sq;WDV.Lj+HuU%HU+Vw[`(ws=f\MAT, \(##byޕIpe5M_B"s?i<"-+[^ _evPjYid9 w~qts Dvo9y擏ܞ=]u+M=+0sS y%NDoq^$ܛ3>SשW2b]?i5a SyQ4x1'\,~rrʱi)u˶â^砷"!FUl%%?1B$ Zs2uB3D>6b[(J3 STDQF)GRUXfO]\=i>~y'#R@kif):'vTu!.)2~v>M=\wXu_v痩34bsr>A04 ԙk"K2,}Szu @щ@PUTOݒ~0_?C8Y7=J㑻ܮuMkc or45AZQAjo0\)"QiC){(,aԍ[vOzF9(O=6sI"YAu_).D`FkrWxZmހgۻ~CG,DeӺD!曇,d1/1 #3$n3[s5]-^z F DaC3A~9&f/(t>]5}SEV3 3ڻd=t1*%=n=9W~׏Aup7RT&8dqY@ђRY70?vg̈ŏ,))#ӐcǼ(0yUdى}6'b*X&cfphTnF6($ _#%A{Kqs,ݣXCW?u ]XGdlL).l ?L71yJ.lАP5ec \,j@AB;\*En›`ev/N+ \Nb9}ĵ1*qcTοT/]Ñ|FL<34;"+=d0Apt;^"ۇsaiuXԌDbf. VUZ WĆa]1} nPܗIOIdP tFosoY*㩁:N{ xH2Td-۴l9c4-`rԒ>2+wl*Yļ9^eV619~dSl 4݄R o:uRT 4t8(rZ&1QdpeNHXFؾoK"Hg$ұJV:Eљx{H!A (ntK,K!^a kJȌ@ ?(!L>q¿jV('VTmm+% (UI|ӤvQtMCPq[աԩ;B#b7iӺ~%OXhptjCc^àKߩme(s]XNHs`\^]T))ꖴ}wB&PQl5)^ T K2!=JɽiFaמ%9r-yszm GBΫ/lخrND֐ǞhA)1K!QG1!&JZXdހZdߢՉ[ j΋)9[Ek~z.\(TH;c^ǥМ?䅚Hnl. I«X*,^zJNUƜy%Q*c'ܹ͇K|O U+h-hC1qLx?N3G}d[}#iEmb\xAh}_C?* p.֠DL`+|AIU]gTk"'d%4^m3!SJ N6ņR&˨KVIg11A`iZl#t_YO~>؉/lfuO}7a.%ZO$G.RVšL4jϨo),%0xU-bcQyN} <753֎!mQ\ 󢑁(UT0T{Ϸы]ujspw9 #,EPZ+h7\k}-nܒ^: #E&o06r$y!e:)g&uǿw ]I!:Яx ~Omƃz`o 2hzA:1@`n:3,I s oLRy~~0UKBHZ=UTSӶ}_*}zmCR]RL+R#: 1+RkyHG VxE%(C*xQ61r| {bΕ]hm չ0H޺,AZY" 1XAr0vz#jSe.Ad2BPq2(f+K|~xtߍWOtV[dSilAj*3BŅ;nCUj zCk;ޏ[@弊AA?#ܿ8cW̉Xb#N[a*u[B˺Y|,΍gW#T t90l̇!|QE {S7cDV!uaU ; 3.şp |p/wG4)ތZKnZ*AVnj;[D;I 6/]h5idPd&&+XE+}Ou1bƜ*0!“a9g/<魹K7"Ө۾x AC'F0ZvmDh-F;eyx"{'LDna} nz]V{;]T/'5$aSk[.{?M!hpF5 B6bjD_Pb<;(w0A/̐~b*b>39!8J$X>2\?Ҡm&#:(O&+:VH*^SB]wˌ)ŗz6 H8I*So~b{8`5[I*BH'k].;0`'SFR'"btoWN!_C"|PRŲ0"-j(I +J@,)zPᦾԍֱ[ ͯ% a>nOi5 w?kV,敝\G`1rouggg{hADbZ첄- H'O9CRsДTsB"X ]Ykjhf== ĭxAHb,jGmMipr^ vo/G>IYɕt}:LWC2كޢ[k(Ee(Ԛ7Uʍ**KfݽI͞#^1#h1d:N<%,I.DZr \Tn9("n=#q&f(yCZ%dk:M^iFF`KšRa4JVaiSސBgZ `;?g:jڕ7o&l=>Я-Rs+\<ģgb]/BTcQ7m al4s\ I?&S/@LPawY-Je $ )-ONFwLO;%0,N|cU_BfiC:H cܞC,ovo,3:?(֓gP9fLo@4zSP ܻfgN߰8bTƧIqu]n|S*ޔGaǸ}[)`1!Hw}i~M%+>ݿd$WU(o6lcu!afڐ O`^ 29|g+E|^}`I4v޷R^I3R=: ^ W/`A:VG`¯EV#LHḼ6OK;\b~j!/^ϭ[4/~[nc-n-5rKFt˘Cۉ\pD$:zr$LktS{uB%ݬP#3oaa?0QZd(l(CrҎ2!cD]0K43-m% V[θOuٌs /iͲ-aDx&F0khBW6ӖnPx7Fw!kQº^Мѓ?EqL%{U`ZJc6>ѕM!G!7 s0yد֩"=ج!w6>ϔ[l}~(IqIoqc/"` a=6& tucj~ wO+`oF a!8||-ܐTbKt ǿ|Ma لaM.bDhI}qLͬM23f7k UsxVαKO}GCK!ű*otPˈk_Tr[|{DtTz],yGLLyFF ;b_܍˙x7sFRQYT~W}ʡ2rɵ,B qS 2`PF"C2נ5Ӻ+s( zmUA#B[(O a=Ezܵ<J.='#rjSE9$2n?uwblX>: 'twA DfPl{mj> i3_`6]eP%-xRuzs$ A(?swC8W 4I=\djMEMҵÓ^;tN<_(ΛI mvaW: `grC33?wh}dVW^p7#AN&gX{Am,KrDBȰaA!z4@ː3!uGM^-ϝچ̕(u19 &s`;6'm'wvm^<&.}5rӔ㙥:yA6ٺ<cGPqŽj w0?62`Cߧ2AMo+Ma<]ߘ:e 0Z ژu /y֜PZV lJe2=,-o6恵s AB{,dV% 4{dZ ^5&A=~ZN;Xsn_i?LYo R=%#>h<_DEflA753m|YrI>]Sqpﻡ\R="BRl ܡJHUD"]Dy MUBo[krm28^ ]-5$dwʯ,L[ 4Y]mh"h.נl_u2B0d|'X2qwbQl >&f i V=,>aགྷu( qũǣִx FPa)ªDVC3#̵B$vz_#NcX>;b66Dj@L_=$-duc%6 ޴p(p]ŗcIi*DE:΃FE$gFy%#Iri;l_3*-AV Cn$:XV,5[fC8fk(0Ώ D8vD@ 7@voA7!zȈj=G~}Apc"hDMS-)Ǫx{C5l TZkDr:kF,rs^q4_Z"KLp]X0މf?(va9e;+N`^ܬ<3ެ" :coPUOOdRThx#yʥD,|m}cpg=Po.șq5o"b 0SYg}Xɀ#O͇GA3W3Qk2~=RTţ$ܑ֤T6&0.,D UYjlΊddq?Ky jEDt $vnw]D0l.$Țl#zuvѐ 7Rux`M %G ٶ+c0tnAb:qBTEƨ,ٚ.RM X:pgjaUr)yH(,+sf[搑hk=p KPtt3%+WD8 ~NZ;g jozix?g8=pN*3P4ȝJIC  QW96vPwDŽZ$`1k\XXxDWgn ̾9ղVz+Y:qXm+q%A$؋6r BcŒW̎R*yxc2F6_?/ώ2%8f6ۃLcߵxqK 7jK~\Ufa! z Aլ::H5w!3DP<]XKc-=B/nꉫ_ុ W|֞'Y jauaF?mVj8PI] l8CGtw27iCan2gߡq8U35je{d}mQ6b/6fݫ=l-y'.,̙am8ϊ!-vSU 礳̙$i !>pZ6߇\"Iގ+@qJ}sX w.GFWEo> i[)Gub+#5N放Z/~T5_!;/|bTט՗ZTgo|Pon3]݋&zp 3D*^ʓۜZ:^a>$Q9%f ./ H0teFpfW3LѼ\37TcaMyo{dxY2U0}?qkt]Hb'_Şe T$!S# ]fwW=u{_n`VCE8>yp9͢K5{mrnbѤ=(1}WDng 'l$xbگZ`}-pJ{p; }?os }BCޏ? 6mݤ:E# ҖuULeGY˧cU 6řn+8Fb/JWn 6Qڅ>R=ޯ }LJ -)kHkό`Fϔ"}"Fbq v:$dsD' VEsoocn*rF>MoiF 2_Dx$1R@w e jl".fw~-d8,HV{ LpKP(3tbϱa1͔H( [ɖB%T̵BpA6B}tOf7ލĥפI郓Ba``duãs9:Tu$sN4K* >RJڻe܃U@5~O*2 ~K7 FgӡOLKﲜ!Cm*!{d$Pe,||Mf'Ro9}1K-:y ٴzsZI-KZe%T 1j*& f1ǏN5iT֖d/F s*[(6vXM}7ѷn #YIf MՏ""w\Km 6b¬hm =.C0^B=>װ |ȊvDuBo|.1=:'vy>i6jtfGXxOb/G{|,>xP^>r_>zl]_ÒI=HäxÑ=*:dIRTꦋroZu,K:tp\EÒr&bkdM,>2ȿW&J:hG/!3Ny֝hi =YRu jY@2,4旕ju䮈 9/t Sͼtj½Ր(󠨎`;(xSj/xb1~f>abU7^My|U P {'ۥ#M/ wVսUqM~BץZjEe!ak#v]Fv"xVT܊2}jNay2+It #{`;4]20w"Õ#r Yoj59;Hf\΃{[[s.()~:cd9UmxķO>`k"*$ɛQNKȆSqWs b3sm0 08#'fAEADpY^.d?G 3r / 5@۱]2 fQa PRLzP/hI YXjX7Ǒї(Obg*2J(sFTABO&y] •gBAC)(-BբV}y`#sfq]!p02 LnW 28' FǏ|B<ɳH2NgjHl2m A.X@r[͋*n$RjB5)?rCpG}Gb;BghGps G#)..'>a߳E 'THD7%(*(% f,-C4E^Ό܇a%n2 Nدb:uO鯩4v{3VYq i{b+,5RV:h7s&)k): {/^ k{Gt(afuhj_#'-C$W00%ՅPPAK2x5*X!_\pȹlnMޫtX"T[_EД׹x&.uɗKӤXF꫿\KirtjN~Peқo[[T'./2*:fH9(ۻꝊ܎?!0EyYW$2ȩ+9i~oAir3ꋃV! VK!ZysrNtxx)]J%huдm. 0fUxaE"Ith΂ | CWU 9#ډxSY &|a-(α6}ՁrO 5Pxd#en/:#G*"_^4yIHT2~&>y{zo!CRSdY60YtP.ŅZ88UΒ# ꌙ*[q뎷ft>P.#}6жs3VGP\r]E{q.k6[x;/M0y'<voa=6$> ww$=Ϩ<}?ZL,+YapnTExU;#^vba ?: %) ̧ qkU1k?mz.HI.S)}B)zĬUK`6ǯ)Lz/IE+ܬq6MF8ZppEF 7WO_5&iQKke72RyBȯ7mf'yM(7H(H)#c @̐y8+e~/fYrtk-jZ5 нcI-Ti8]d b8pD W{teDyN@戫<'AMp_,OwzmfϪy,XSW%oFeζ &#zI|rk>+w+ 2V*-*IeΊbzrrFM&+P&I]e4P,.E5aXhX_Әh B[bYpM <2G6_*.Gyye,@75׫|+J۴w,nɜF 38Ms>YmriZ0!Gj|wfC17(ǧaGGlaGv6Ѷf\vª]O,<`xjGVi"$V "EDEJ#w EX{(9T̬ӹ yt'Kt_+fڋZżR? -`;4Z| l5;A_eF!ئ y |W|A/@<`>=bFD@`9oۄ#(MeeB#^%ׯ֤I\IY d6%\ }jx5E3[\#Ȑ?~?4Ϙ"ta2n$SBYe8E\w֫v~+6^x/qMA<+3qM CNJI0b[2s( Mp(Bhş\.Vu)|]ܘo%DXGYxzCyzD=e&<|ut_r2Uz+A[Eĩh[F>qH=!WMzdY yVx_(S`-Zs+S$̑| @ű d)n\~V43? KL} , lccFcgR. tnVMyB:E@\jHnDt9s縐jB:axɠ aPBv&A>ûřkKאrn/w0DFẰC^,Ybh0# hg&~Y 5=YCV&q*9uenLj3t'_кZg' {x4Gy@Hp"k#Si]w1-0-~ iS^( |=OEк`(G7dÜd{?Ww͎}~÷DrA,ݤ Χ'qA. I⁗i&eu"S[-hx 0ѯo }k8qؽ%=i%^Bw /8H.ɭHZ5m΋ bBEJ#Wco Jxw^١2C%#$`ޱ(*ȵo#MS\OrQz,;*FsWc畵n`M ӌ/Eš'kYdV7QBROvDplt]7z ͂[|kxD肨ق5tQ=y4Dӧ ϔ[YeA q20Bw3H/;¾ɬjOW:wD# o?쨮-{\^@Yx8LeJH%o7CEgrdi$z `Zbjt>n=aA2mw 8"$JJC* )OF}ia}2 qe&Y| `{Q}t!梓(=h}kiԹek\Mُ*=TFQ^2B5ٵN#{"f}Uo`_/S߽EV 7lJ(`<rWh|GŮ~nV٠h9HgΧĸC .TxyA63 ݁\OPWQa r(+Vci}2g1 qİt>C*fe<J9[2 L^9<*v> [} w1-} h#vihE_/!>v|R=b|X0HŊEmsgrCpVccp HGB~@2UWC}]Cv CY9~oI"2 =*fx*צUk;e7ڡ0C2Cg?ŚP~eh~>SفܻpϲL[zi1Kwĕm R-.I[j;$-oH0+8.Q~SM4uG] B +1zQ~X= )<+wӴ=Vb]B:޲%J BL=VWlCAlGXH.3 FsZ^V>ꂢKw>.S5jJ&w;dž<֮^i=Y>$Igߔ`gE2}Y⼦S !9Q9+ZW .{+{lNZ`sٳ};Kk$$.F֪"1LGxlY \k1ØOfݪnXͫWmO)"U !n"cut&sj~j{v₟ t~g <4X:dn}W̹h~Hơ~PyNj='h׉AS@kMHPc9NrQ6'`=̇ĘbHfz%3ckU_Nށ΁ TaB)bE4FVHڰ$Pfÿ(}XlYkԼ1{Uϐ@E;@mᒜ"1er&7AP.4|1:.-q@7b[AIM5*fp{z:F)Srϗ\l;XFzuWFqֹR<<7a ~C=ag}'Ɂ6puJѸ@aا*ߥ6JeTW USTf$p-'YxQpT02yS񹺿Ep*YOoPG Sj({YUji[YxPg‰M0 (yFcTx?St61se)-aU`GvۼaXrI|(R; *w~y$,/VW/N7{8>7( (A.'QCA382n~EN2zi&)0A@|z%*>Y y/WAޭ&< =G<ȘNTS8nsV&a!icYNq  Mx gӿ:j: `ʿ1LT*Wu.9C& "cG\̕Ao SN [݄q _K*Qd865Fڙ>_$]t`|1Wߐ$ɸɽyopw3ztY$~+BTָ?}[0-񼫙Ɨ[udHvݱKԹNv.4;s;+ A؃΋ږ]>'I(p"M?K!~ 0v5ΠsAc5V,,",,)jҊ ފķң}O vV䶭,;^q3⊚vtx=dd~ Bǧpȁ-NTt\:ʀ2ӹm4 R]0Bō/H ) 펶R\Z##UA!OBrCŸ*Jb0fsݢAůaֿ(pJ^K9بؔ&ڪO?E|bl2__z5(Gsܤ%ڴ4"HBvtѡ3bJ%?hQ&۟t^"#c'OuKc*v5mp.BU1^'\P]͠[*&{pgo_C{MKNHRYWۄPڐKᴖg,Sp|i7GSEc!1gf}\M Ļ6"h˘AS.עM|;ez1JNh/Js(A _Z6 $(4yG<ö1@|tY,O:J͝]s5E?y'R {ϴmd8m iL4869-Bmi?-ؽA/5uKJKXfv9eU|ǯ 9/@j| t|zc`=ğ7}) >ﱙfv&$ItL?-n'?}GSdd5Ek>&PN)]NC0d6Vw.gCmDhyᙿ,'%T7Oq>#R$oD %l"3q[K9,c.(qS[j)ʵ{DқJO!rh GmLYO@47!G uXQä4z[ ]h9pp7+v(y+!V^-(LqV&0u&QADa3BYR'ՈY, ӰLKvK겒>>8(q[|K"$]hK_ۮ9K_)vP;}0G'0zcL>qƭv/ټ vc.!ሐ#zۀwҋNR7sUlMWJBՄ.:AUj{\ KL[}c@0 geo+;DR Yϗ7d63d.ڟf<(W_M7yj.(.0 o8t[ڿ<%4r+bC?{Ed={7p? 65b>&ժ In-DžWml7$Bulᛣ @Ω+VVp(aѧMq ܍ݤ!$6>]ը/Uo .2 5CInǀ_l 6lyY,kD4^,J ̲\Ī=/Y1\laUCL&WeUʞi›p7t!)XwLG=CD޾tw6A0qNo|YBKmIm2R;z?;z`_wieKZt'-6hx٩J.a렁ud}-h;jGU`%Uן(YN`q d^RMo*Ք]隨95OJ _c-QQ`ԕO]!櫛P~63T"6^0vC!e3E2hkmRv >pm+|=+GYNŰ,+@Dz*b^ltJiH"vZ᰷Jԡt_ )s-KK ¯EO# {Eų'zH/iy?3w)?(Yfgh\LXsi -fQ'`}̍iɫ]yjzk7t&U"RzFn:ps"*L!0yNzш\zk9T!/љ}7dyU3Nfwv0bz<1Y- P!NLtkYшJ>+hHacRQ|iyǦV)޲Igw{PzxGYjOzTGrEeLviD/t(:zDV{΃Rtqcl$kB-Bl]2 JwS N"kGptFÔbCdQnm HR7wࠂ59< .÷ۜM/>㿒|ҥN7-T.8G v'GbCl^ d>x6 1qӄئR%8.<3|`(Qor4଀L@%!%._gFء\*n0#ȺHj,.(B_8*4[*g4㹬w~u[v>(uw 39 V{gQBz]rmWhz-GYG~@/ͦG6(]O;Ϡ'ss2EwoÛfA7ӽ Tme0;Zuc^-5P.6-)Wɟƞ۝L*0Ja\]?ZmY1O݆b1T?3c= +QEEO^qOH_fg3Ev6R-+> aA[p&ɚ׃D" ӆ×l_`ďh&{Fx:20uKEޫ-Ӟdφ)%k(BWzSq8𶺊ȌVydR{Ɵt=@pK{lԤ5d.L7?Gz[WxInTV ?uyP`a?m'햼*,N%f&'x"p6Ee8AͥLBe+Jl2t4vVڝQ"ܫ f%#<dh|Q:hג`|J]R"Bu= ?tf\I-KZ)B4|@vi߾kqc|GĖR`žrs)78eHzqz&5=w"fbAyn?A>]1*r <9n.-B6b@a㑉RC`6\p;ِߖ8@Xs^$ #}9g@raΙl?9Q6?`E@zE }:¼`F%t,ƒcM[nԾ=D}L0?z*@Ba|z%JYvr\ 38?l{ Dk ȇ` o" aJƳ`{aԱEٞ',&$D6Yyk9-[us$'d77(Q754B,pkc@x% h:J GrvME$"3y9] :'"pGa:L".`OН"r XtHjv _z-JygN8QAq ǫrPy%ɝ xj}+B 9̛3u6hږ_Mi6m2FeI!Z~)@3nf:0y/G3:̥o*IG=pYg)a96M6qXso5Ϊ|  Is%錧9ҙW vLV4MMQSsߢG$%ݸ(:@yY4nPb!"QѬo2dXv6<58[0'Yb`F힘-<>h+ZSN QWE@8,Frb"<8PـbیoK 1#yjǓƉ?4dzK`q Dgq'k:Q+*>˘Ɣ7}KF_Ig/ø:5K|%jq[fra+E O98] wp.7%϶:oC0)qp< sM(7Z̮g}7e`+e6N|lnTX!H㒿armJWUmi =~4z2;&ޜ}@MMZEy.=s3@ 7vJW2~g^BdvI5ڤK,5u`9U^/$:L9'%nÿWI7JٓCOi\hUB Nnc+.Ekݚ@>ƥnI;g#Ob͸eτh397^崯X?$6_MX/&^19(*jZ@n8dNZi_)XHnEkKcpXvw Ρ]p:e$Gs sM!137⫟<۠Vpn yˋF4ʌ']Gy P%YUY,_ɚEyފs{BŹ.4@h V YtϠm#wkfd<1%&9P7sˌY7X$,(@H+s 19z7qaz)4x;"RcK%\nӶĹ+"p03}];(c-v.y1  8-xƴׅnUGD^4,ScR{ޅ14#yƖS s+ 5lU knO[?*Uj}9xĻ)!_7){/:`cXQ!Hi3?Z`;4o?$!tq\)|x: YZ