From c1b7cfe7f40bd10d12fed42f8fb86324518c9170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gianguido=20Sor=C3=A0?= Date: Mon, 14 Nov 2022 16:22:46 +0100 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 474a02c2cb58aee4a0300f5f2966085178bacdfb Author: bunnie Date: Wed Nov 9 15:06:51 2022 +0800 refactor all vault db retrieval to use new API This refactors the remaining vault accessor routines to use the new more efficient key pre-fetching routine. This also fixes up an error in test case generation and hopefully resolves an issue with concurrency errors using the older version of the access routine. commit c3ba30d55db81d65333c3df4702583b19f50f7d7 Author: bunnie Date: Wed Nov 9 14:25:26 2022 +0800 expand on errors reported commit e7e110ce76d66a6ffc02443e99caac100de00517 Author: bunnie Date: Wed Nov 9 14:25:05 2022 +0800 cleanup and enhance test cases commit 6d1d297500fccfdb395b7f9a65d4781118b0560c Author: bunnie Date: Wed Nov 9 01:01:42 2022 +0800 bump ring-xous to track latest PR commit 11a0107e97a628d7894b4a57c8cb4cc88ea1e365 Author: bunnie Date: Wed Nov 9 00:33:13 2022 +0800 fix UX state after button press on dynamic modal This bug was hidden by the previous return of state before the reliquish. Now with the correct ordering, we end up getting a double-relinquish which ends up trying to swap a modal into focus which doesn't exist. This fixes that edge case commit 4c45dfa6bf04d3e0f05f045f9eb8a668eb5a3c13 Author: bunnie Date: Wed Nov 9 00:33:01 2022 +0800 more debugging help commit 1129f1c3c6bb3951608ae44d8ae5b8fa32a575a2 Author: bunnie Date: Mon Nov 7 23:05:32 2022 +0800 bump versions after xous-names bump commit a7162fd03cb007430a21a2dc55e3ac0289317f37 Author: bunnie Date: Mon Nov 7 22:19:38 2022 +0800 bump xous-names dependents commit 28f42baa44ec48daa515dce4f8c5e6432cbdfe8f Merge: 1bc39cd5 3ca323f0 Author: bunnie Date: Mon Nov 7 22:09:56 2022 +0800 Merge pull request #274 from betrusted-io/xous-names-tryconnect Add TryConnect call to xous-names commit 3ca323f0bb11388d432183cb87caa03c4342064e Author: Sean Cross Date: Mon Nov 7 18:46:02 2022 +0800 xous-names: implement non-blocking TryConnect call This call can be used by clients to try connecting to a service. If the service is not available, this will fail to connect. Signed-off-by: Sean Cross commit 3ca57bcf8bf33e41f5343a439cce2e336adff85a Author: Sean Cross Date: Mon Nov 7 18:45:25 2022 +0800 xous-api-names: add TryConnect This is a non-blocking version of Connect that is fallible. Signed-off-by: Sean Cross commit 1bc39cd513a503d2a7a0c609fe0e2194f01b117b Author: bunnie Date: Mon Nov 7 00:25:16 2022 +0800 bump release notes commit 781776b1feadc6924372f5f2f663a6bbb5f44711 Author: bunnie Date: Mon Nov 7 00:22:49 2022 +0800 move the mount initiator back into status; fix waiting signal mount initiator is now back inside of the status thread (woo, no more app-specific dependency) and there is now a wait on "attempted to mount" inside the status thread which is the signal to clear the "waiting on boot" message. commit 0646ec23ba76100d814d3ed35c9e17a76bc26e09 Author: bunnie Date: Mon Nov 7 00:21:52 2022 +0800 track "attempted" mounts in PDDB this is to allow a UX process to clear the "waiting for boot" indicator once an attempt has completed. right now, it responds *after* the mount process is done, so the "please waiting" text persists even doing a format. I think that is...appropriate? commit 93dcfb7435b5f8e47081d9d1bfed00db4a2340ab Author: bunnie Date: Mon Nov 7 00:21:27 2022 +0800 fix hosted mode commit 335b78d865dc66f20bd2f334b05c8b07daab5e80 Author: bunnie Date: Sun Nov 6 20:50:15 2022 +0800 fix polarity of init_done flag. oops. commit 1d7641cafa04b05c7fad0e8c9dcfea71c69877f9 Author: bunnie Date: Sun Nov 6 18:48:23 2022 +0800 force please wait message to clear before doing PDDB init While it's a kind of neat effect to have the "please wait" message persist right up until the point where the dialog box pops up, the problem is that the blit of the backplane captures that, so when the context is reverted that message is still there. On a very fast mount (empty PDDB under Renode emulation) the mounting call finishes so quickly that the dialog box that would normally trigger the redraw to clear this message never renders. This patch forces the screen to blank before trying to call PDDB init, ensuring that we don't have that persist after the mount, even if it is very fast. The downside is there is a fraction of a second where the please wait disappears, and the dialog box pops up. That is just the time it takes for the system to setup for the cryptographic operations. commit 382380bd8a355e691d5da8c5d22d054304fc3544 Author: bunnie Date: Sun Nov 6 18:48:06 2022 +0800 fix Sender cast commit 3ee36f41ee61fe4a2228a6e9cd99197ba62f4a61 Author: bunnie Date: Sun Nov 6 18:45:17 2022 +0800 remove UX delays on PDDB path retain just one of them going into the erase routine, because it consumes enough CPU that the dialog box takes a bit too long to pop up. commit 880675c23881ce5653d38fcaa38967a25fb6e21f Author: bunnie Date: Sun Nov 6 18:44:56 2022 +0800 remove UX delays between dialog boxes commit ffa8385e7c797789ca7cc7a84e98a1923c60c940 Author: bunnie Date: Sun Nov 6 18:36:20 2022 +0800 refactor: send response packet after context has been switched This refactor (at least partially) fixes a "mystery delay" sometimes required after a dialog box swaps out. The previous implementation would send the response, and then swap the contexts. This would often cause the recipient to start drawing its UX before the calling app was foregrounded, causing elements to go missing. This refactor puts the response after the context swap. The main downside is it requires every type of modal to have a GAM handle to issue the redraw call, and is especially complicated by the fact that GAM is not clone-friendly. However, the trade-offs of either creating a handle dynamically or storing one in the object is probably worth the benefit of removing an open-loop delay. commit b0f443be4817cce8461d6f7c9abf248742fce209 Author: bunnie Date: Sun Nov 6 16:33:31 2022 +0800 fix race condition on relinquish focus v result return for dynamic and progress modals There's a race condition between the return of a blocking scalar and when focus is relinquished. This causes chained graphics operations to get dropped sometimes. Move the return result to after the focus switch; this allows us to elimate some dead waits. commit 5a0e3e5c1964c4d7f41a4962915d8cce156a9485 Author: bunnie Date: Sun Nov 6 15:59:58 2022 +0800 clean up bitrot in dbg-ecupdate configuration commit 69cf629329a47eb5da8bab16a885192cec9fa8cf Author: bunnie Date: Sun Nov 6 04:25:26 2022 +0800 fix problem in tts build commit 767580d375e0abac1b90358e04234f7bda94f5a4 Author: bunnie Date: Sun Nov 6 04:17:53 2022 +0800 bump versions commit 30583bdf0700b80b7c772696b02ae1c4bfc57f6d Author: bunnie Date: Sun Nov 6 03:48:12 2022 +0800 bump versions with xous change commit e85455a077016cf8bfa55ef2f06809f2697849bf Merge: a16304b0 c9f751f5 Author: bunnie Date: Sun Nov 6 03:44:58 2022 +0800 Merge pull request #271 from betrusted-io/scalar5-support Scalar5 support commit a16304b0ebcc6c71992c545658d36ef878b72856 Author: bunnie Date: Sun Nov 6 03:42:07 2022 +0800 bump release notes commit 2a11f9dcafb3a124e5b4af6c1fb3c9eda512a1ce Merge: 1ca0ef7b fa90e74a Author: bunnie Date: Sun Nov 6 03:40:37 2022 +0800 Merge branch 'main' of github.com:betrusted-io/xous-core into main commit fa90e74a104ae10516052ad922ff8f1245512515 Merge: 42642310 817e758f Author: bunnie Date: Sun Nov 6 03:40:17 2022 +0800 Merge pull request #270 from gsora/feat/pddb-init-notification feat: show boot process notifications for PDDB commit 817e758f7c5e4dc2ad389e752d9e4aa3789ce1f0 Author: bunnie Date: Sun Nov 6 03:36:43 2022 +0800 remove the dead-wait before the PDDB is mounted the "right" way to do this is to poll to see if trusted init is done. once that is done, you can go ahead and try to mount the PDDB. commit a56b8c802fc804b464036823b8f3a979b8ab1894 Author: bunnie Date: Sun Nov 6 03:11:23 2022 +0800 add automounter to shellchat, and initial wait message The initial wait message is drawn directly under where the modals would appear, so the message "goes away" when modals pop up. There's still a bit of trickiness around the timing of some of the calls. Attempting to mount the PDDB too early before all the contexts have been registered leads to a lot of needless defacing. Also, the final redraw needs a short delay to allow the system to foreground shellchat again after closing the modals. commit e240ca64992ab0e805ae53f391ae37f558271ca3 Author: bunnie Date: Sun Nov 6 03:10:00 2022 +0800 refactor the hardware boot screen - remove a blanking operation. this makes the transision from loader to runtime almost imperceptably smoother - add the ability to summon the logo screen earlier in the process Note that only GAM can call GFX, so, it's alright to expose that API, since GAM should gate-keep and prevent abuse of that function. commit 7eecf2b1ceea0dc74d8826dd26dc92469a88646a Author: bunnie Date: Sun Nov 6 03:07:35 2022 +0800 remove the initial wait from PDDB; move the pop-up modal location The initial wait message is now rendered by the first app that owns the screen (currently shellchat). The location where the pop-up modal is rendered is also now bracketed directly around the mount call to avoid interference with other edge cases that may pop up modals. commit 0d02415c82db51523d3051065e91e97fb663eb7c Author: bunnie Date: Sun Nov 6 03:05:30 2022 +0800 remove automounter from the status thread it's now in shellchat. In general, the program that is assigned as the initial app context is responsible for ensuring the PDDB is mounted. Thus, if `vault` were to become a stand-alone app, it should include some code to make sure the PDDB is mounted as part of its boot sequence. The reason is that it allows the initial app to guide the power-on experience, instead of delegating this to the `status` bar, which is oblivious to the state of the app. commit 45009a01d95b6449c4d59456b91a6fd2b08f3a7f Author: bunnie Date: Sat Nov 5 23:06:47 2022 +0800 add debugging hints for figuring out context switch bugs in the future commit 7c4ca05922a06ca2e366f89ee1011404ced71c9b Author: bunnie Date: Sat Nov 5 23:06:18 2022 +0800 adjust modal trust level down so it's not identical to chat commit c9f751f5f0b0ded770d1dd1ae53bab50e39b3a27 Author: Sean Cross Date: Sat Nov 5 18:44:01 2022 +0800 xous: add api support for scalar5 With the addition of scalar5, existing api calls must be updated to take advantage of it. This will allow `send_message()` to return a `scalar5`. Signed-off-by: Sean Cross commit da5647539f4a2a13b39a5275c0a0ba77231bc68a Author: Sean Cross Date: Sat Nov 5 18:39:54 2022 +0800 kernel: syscall: add support for return_scalar5 Add kernel support for returning 5 scalars. Signed-off-by: Sean Cross commit c8bb039c418d6c3f604ff078555e9dae51666fee Author: Sean Cross Date: Sat Nov 5 18:39:06 2022 +0800 xous: add api support for `Scalar5` Add syscall and return definitions for Scalar5, as well as ReturnScalar5. This will enable us to pass up to five scalars as a return from a blockingscalar call. Signed-off-by: Sean Cross commit 1ca0ef7b1f864cd7c0f562251da07f1352064b8b Author: bunnie Date: Sat Nov 5 16:30:29 2022 +0800 clean up warning commit 601f3476f41fe91e83c5b15f37be328b039a1ac2 Author: bunnie Date: Sat Nov 5 16:19:15 2022 +0800 initial delay on NTP poller no point in clogging up the boot sequence with requests that will almost certainly fail. commit d277ae955191d4da24333c11027a297106554752 Author: Gianguido Sorà Date: Fri Nov 4 17:31:27 2022 +0100 feat: show boot process notifications for PDDB This commit shows two notifications: 1. as soon as the device boots, a notification greets the user and tells them everything is fine, the device is booting 2. as soon as the user enters (or doesn't) enter the password, a notification tell the user Xous is loading and mounting PDDB I spent too much time on this but I believe it's a nice UX improvement. commit 4264231033b5a27bbf109f8ea180e3b044bd06c0 Merge: 5de44a95 f861af76 Author: bunnie Date: Fri Nov 4 17:06:40 2022 +0800 Merge branch 'main' of github.com:betrusted-io/xous-core into main commit 5de44a95023fbfc0c4954038f7d988841da38b87 Author: bunnie Date: Fri Nov 4 17:05:51 2022 +0800 don't fail if keyattribute not found in current basis when no basis specified This is not actually an error, we just need to try another basis down the list. This is a copypasta bug that was only caught now. :-/ commit 0d9a39a349d070dfbcdaca8461f89b4016c05f45 Author: bunnie Date: Fri Nov 4 17:05:32 2022 +0800 print debug information when a key goes missing in bulk read this helps debug problems down the road commit f861af7620ab3c511246522d838e8fd26a628e64 Author: Sean Cross Date: Fri Nov 4 12:27:13 2022 +0800 tools: elf: fix copy-elf when gcc links program GCC will set the text size to `0` in a certain case that `rust-lld` did not. This causes the elf copier to add about 512 MB to the image which it otherwise shouldn't be doing. Add a workaround that appears to fix the issue. Signed-off-by: Sean Cross commit 3a8457852f9c941a8a29001d4b319f3e1eb46a3c Author: Sean Cross Date: Fri Nov 4 12:26:05 2022 +0800 loader: fix build with gcc-ld With Rust 1.65.0, we may be forced to use gdb's linker due to bug that appeared in llvm-15: https://github.com/rust-lang/rust/issues/103949 Signed-off-by: Sean Cross commit d74673ab292e9f2445f0119e2b1534a9114e6f32 Author: bunnie Date: Fri Nov 4 03:55:57 2022 +0800 allow main menu to be used if there are no root keys commit ed09ee03efcdc60bfa683278c3f716ec0b2591a6 Author: bunnie Date: Fri Nov 4 03:53:03 2022 +0800 bump to latest ring-xous version commit af91ec97cd7478206d484789fbfa806a37c48a12 Author: bunnie Date: Thu Nov 3 23:28:08 2022 +0800 bump release notes commit 80a1bd36545628d00120e8e3415fe05fbf6b02c6 Author: bunnie Date: Thu Nov 3 23:18:13 2022 +0800 resolve issue #267 commit 4dc7135e0e6c549fec681b5b8ec443c77ddb74ff Author: bunnie Date: Thu Nov 3 23:06:20 2022 +0800 update the instructions to build soc.svd, and add note about verification commit 01f660b04d436d0e895433b46bc4f082356fa27a Author: bunnie Date: Thu Nov 3 21:11:58 2022 +0800 didn't meant to check in that script commit ff2a7f824096b1baf735854f0641c2ff9f66ebe4 Author: bunnie Date: Thu Nov 3 21:06:04 2022 +0800 some more debugging to help trace through dict sync issues commit b04dcc21ef1de4b63cacbcfd9b31783ccb57676b Author: bunnie Date: Thu Nov 3 21:04:14 2022 +0800 add `smalldb` flag, which builds a PDDB with a size of 4MiB do not interchange this on devices with the full sized PDDB, you may corrupt the database commit 6c2e86d876c9d23006b28c869387f660cefdfc83 Author: bunnie Date: Thu Nov 3 21:03:40 2022 +0800 add support for small-sized PDDB images plus some debugging info commit 5c624e7e52d71dd9e51d67d51fccace71e8dbc6f Author: bunnie Date: Thu Nov 3 21:01:11 2022 +0800 add a flush after every PDDB write uncommitted data will lead to corruption later on commit c91837c10bc03af0e3441f34af615f88e0dd84aa Author: bunnie Date: Thu Nov 3 18:33:22 2022 +0800 fix max dicts in analyzer scripts commit 719020b08ba476f5008cce3fd0ea0fad5d4c7398 Author: bunnie Date: Thu Nov 3 17:23:11 2022 +0800 don't allow polls to the unmount to turn true until other callbacks have been allowed commit 3bdf157f9d1727f3437fde2ba82da4b2f27d3d7c Author: bunnie Date: Thu Nov 3 17:22:22 2022 +0800 enhance debugging output on pddb analyzer commit 779cc61c56dca623b110e738bbe4451bd9a428b5 Author: Sean Cross Date: Thu Nov 3 12:31:22 2022 +0800 emulation: spinor: implement erasesector4byte Implement this command, which is used by the system for bulk erases. Signed-off-by: Sean Cross commit 0c52a7a3fff3f996b7ee30bddbfd41f44acbf365 Author: bunnie Date: Thu Nov 3 01:58:36 2022 +0800 the merge requested pulled multiple other crate versions backwards this fixes it, hopefully. commit c04cc0e61caf24ec914aca154335fcaf3ebaccee Merge: 7af04b70 f59bbc2d Author: bunnie Date: Thu Nov 3 01:54:00 2022 +0800 Merge branch 'main' of github.com:betrusted-io/xous-core into main commit f59bbc2d2bfbccbe7c9636a8659d2c42d5a2df54 Merge: ebc0739b 6332bf1c Author: bunnie Date: Thu Nov 3 01:53:38 2022 +0800 Merge pull request #266 from Foundation-Devices/driver-refactor kernel: Drivers refactor. commit 6332bf1c901649ce535b961c5530a17812cd0ee0 Merge: 2cf4622f ebc0739b Author: bunnie Date: Thu Nov 3 01:53:23 2022 +0800 Merge branch 'main' into driver-refactor commit 2cf4622f680b61f39fc8dda22fe5daa24a18f0f4 Author: bunnie Date: Thu Nov 3 01:50:36 2022 +0800 commit lockfile and verification pins commit 80094aef1e764f392da615b36ac8bd9b90b72464 Author: bunnie Date: Thu Nov 3 01:49:28 2022 +0800 I see what's happening. The PR originator versions are very out of date. hopefully this fixes the issue. commit bbb7e279cd5dab3c6ef7429f1de9168ef582a6f8 Author: bunnie Date: Thu Nov 3 01:42:59 2022 +0800 bump kernel version (this time with feeling) commit ba46c6b04a0643fa8f6d198d1489da0582b4e511 Author: bunnie Date: Thu Nov 3 01:41:24 2022 +0800 bump kernel version commit 7af04b7000a255f1ed63e035a1844f88e0c73342 Author: bunnie Date: Thu Nov 3 01:38:18 2022 +0800 a bit more debugging around dictionary creation commit 6d2be1b6d720a5f3746a4ddb11aac5b2da35b06a Author: bunnie Date: Wed Nov 2 21:52:28 2022 +0800 add va printouts commit d8807e6ceadafc1b175845cd0283f71f39c7318b Author: Jean-Pierre De Jesus DIAZ Date: Wed Nov 2 14:29:53 2022 +0100 kernel: Move rand driver to platform module. Signed-off-by: Jean-Pierre De Jesus DIAZ commit b334e5bc31e5e2da9f56be531142e83d27d9007f Author: Jean-Pierre De Jesus DIAZ Date: Wed Nov 2 13:30:20 2022 +0100 kernel: Split debug shell and uart driver. I've added a `platform` module to store all platform specific code, (not architecture specific) as some platforms will require custom drivers, e.g. for debug output and for the random number generation code. The platform code is in charge of mapping any peripherals needed to work, also to initialize any other parts of the kernel that require drivers, for example the debug shell. Signed-off-by: Jean-Pierre De Jesus DIAZ commit ebc0739beeb5e01215d6eebede8068101d0daa0a Author: bunnie Date: Tue Nov 1 21:25:04 2022 +0800 fix some defaults to make the Renode path cleaner to start commit f738781a40f1123207295b6afb1c1e065c3293b1 Author: bunnie Date: Tue Nov 1 21:18:33 2022 +0800 make the default pin 'a', as it is on Renode commit 4e2d79942ef525b4b5ec1798eba542f658a11f5e Author: bunnie Date: Tue Nov 1 21:17:07 2022 +0800 upgrade pdddbg to use basis decryption routines from the common libs commit 54e929e877bf3ab38158b27100b0de241d5d92b0 Author: bunnie Date: Tue Nov 1 19:01:57 2022 +0800 move key extraction routines to pddbcommon.py commit 05068c5cd07dd76cd2be3fb1985f786500f4c092 Author: bunnie Date: Tue Nov 1 13:03:52 2022 +0800 extract the renode key box as a dump commit c74ceacfef2482d662a066ef2ce83ca5fff47195 Author: bunnie Date: Mon Oct 31 22:33:27 2022 +0800 add a renode mode for reading in a renode.bin commit a0dca39fa39485522a6270fee389897768ec4b21 Author: bunnie Date: Mon Oct 31 22:14:10 2022 +0800 key file for decrypting .System basis on Renode commit 05252663a43d9da5f391bc2d8a7b9fc803a60eba Author: Tom Marble Date: Sat Oct 29 17:38:22 2022 -0500 Updates mtxcli README Signed-off-by: Tom Marble commit 604a3765b8a9ed3cb8e8152ec0f09e0f67865b52 Author: Tom Marble Date: Sat Oct 29 17:34:32 2022 -0500 Adds images of mtxcli Images of mtxcli - in the hosted environment - on the Precusor - in French Signed-off-by: Tom Marble commit 072170efe15aa356222bcd38f76d7b247f2d239d Author: bunnie Date: Sat Oct 29 18:01:18 2022 +0800 restore the top-level settings file per xobs suggestion commit 2fd685c5138f796e781a7389178530bb46357ddc Merge: 052817c7 38286d86 Author: Sean Cross Date: Sat Oct 29 04:52:48 2022 -0400 Merge pull request #263 from sorpaas/sp-rename RemoveClockEntry -> TryRemoveClockEntry commit 38286d862385ce070a86fe0835f00693006fe4b1 Author: Wei Tang Date: Sat Oct 29 10:47:47 2022 +0200 RemoveClockEntry -> TryRemoveClockEntry commit 052817c7935e8cd213f017f2d954f1a1821a289a Merge: 3814337f 9689b3bc Author: bunnie Date: Sat Oct 29 00:39:27 2022 +0800 Merge pull request #261 from betrusted-io/remove-vscode Removes VS Code artifacts commit 9689b3bc070219e6e02ff84c6c87c97d25e2fbea Author: Tom Marble Date: Fri Oct 28 11:23:56 2022 -0500 Removes VS Code artifacts Also updates .gitignore to prevent adding IDE (VS Code, Emacs) artifacts Signed-off-by: Tom Marble commit 3814337f5141a4d406b5c624a4ce29bd77685f7c Author: bunnie Date: Fri Oct 28 18:27:52 2022 +0800 don't check in vscode settings commit dd379aa9fb863bf4595b97da56709596ca3ce340 Author: bunnie Date: Fri Oct 28 18:16:16 2022 +0800 bump kernel version commit f01b2a871c2ce02b1f99b8776ddf0e11240aa0f5 Author: bunnie Date: Fri Oct 28 18:12:07 2022 +0800 add some vscode stuff i guess to the release commit f17e02460f91552f529e339b6d427c0dbfe78683 Author: bunnie Date: Fri Oct 28 18:02:52 2022 +0800 bump kernel revision commit c17a6d3786d3489734a4f52e3850466623a13e9a Author: Sean Cross Date: Fri Oct 28 17:38:25 2022 +0800 kernel: make SYSTEM_SERVICES unmangled This symbol will be viewed by external tools. Signed-off-by: Sean Cross commit fd739c2177437a9931f8bb02419305a8af21bd6a Author: bunnie Date: Fri Oct 28 15:23:39 2022 +0800 add `fr` locale to update options commit f7eed18f48192192a9ca4830f5f02a38f0db666f Author: bunnie Date: Fri Oct 28 15:18:34 2022 +0800 bump verification and locks commit ba28dd8795cd8380023718b5ba12ec8a0021f28b Author: bunnie Date: Fri Oct 28 15:11:17 2022 +0800 bump to absorb utralib straggler configs commit b5f4814bb488d9f906ce15e42357aabb3e4f810c Author: bunnie Date: Fri Oct 28 15:10:00 2022 +0800 cleanup some stragglers in utralib push commit 6b296c9b48f94ddaf976208e1014313f7a28a21f Author: bunnie Date: Fri Oct 28 15:04:56 2022 +0800 fix a cargo file that got nuked in the merge commit bcd1078fe2255d8e1c176afce45da0ed3625d3ff Author: bunnie Date: Fri Oct 28 15:01:38 2022 +0800 bump lockfile commit e60f7cc85589a6fb2b783b7c6c34f84221873ce1 Merge: 0c7c90fb f8a66430 Author: bunnie Date: Fri Oct 28 15:00:27 2022 +0800 Merge branch 'i18n/adds-french-localization' into main commit f8a66430541a7eb260dcc6d6d402685a359364a8 Author: bunnie Date: Fri Oct 28 14:55:33 2022 +0800 bump locks commit dfb10ed7f221ede865fe0ea2bfd79c00f82c81b3 Author: bunnie Date: Fri Oct 28 14:01:09 2022 +0800 bump crate numbers to publish lang-fr change into xous-rs commit 006a69105ce6d6771abcf1f242fff11839906680 Author: Tom Marble Date: Thu Oct 27 16:07:05 2022 -0500 Completes the i18n_helper.py tool Added 'fr' translation Added *.json to .gitattributes Signed-off-by: Tom Marble commit 0c7c90fb781e5b241f9cbcde8ee6cf30745543c2 Author: bunnie Date: Fri Oct 28 02:55:42 2022 +0800 have the core spinor routines automatically retry on failure normally we never see these failures, but, as we are seeing flash wear-out on the CI machine the writes can take long enough that we get some concurrent requests. As a work-around, just automatically retry a few times before throwing the error back to the caller. commit d63c452fb63ee018a1addf9c079fe22504210f60 Author: bunnie Date: Thu Oct 27 23:00:10 2022 +0800 catch serialization buffer edge case if the buffer fills up to the point where there isn't enough space for the 8-bytes of header, a split_at() call will fail before the routine even gets to decide if the record can fit. abort the loop if the buffer is that full. commit 07cb2398d8304bfa9c5fcae14881002308f8990c Author: Tom Marble Date: Wed Oct 26 22:32:49 2022 -0500 WIP: Adds new lang 'fr' for French Adds new Internationalization Helper tool: i18n_helper.py Signed-off-by: Tom Marble --- .gitattributes | 3 + .gitignore | 8 +- Cargo.lock | 243 +- Cargo.toml | 2 +- README.md | 43 +- RELEASE-v0.9.md | 7 + api/xous-api-log/Cargo.toml | 6 +- api/xous-api-names/Cargo.toml | 8 +- api/xous-api-names/src/api.rs | 28 + api/xous-api-susres/Cargo.toml | 12 +- api/xous-api-ticktimer/Cargo.toml | 12 +- apps/ball/Cargo.toml | 10 +- apps/ball/locales/i18n.json | 69 +- apps/hello/Cargo.toml | 8 +- apps/hello/locales/i18n.json | 17 +- apps/manifest.json | 121 +- apps/mtxcli/Cargo.toml | 10 +- apps/mtxcli/README.md | 23 +- apps/mtxcli/locales/i18n.json | 290 +- apps/mtxcli/mtxcli-emulator.gif | Bin 0 -> 250269 bytes apps/mtxcli/mtxcli-precursor.gif | Bin 0 -> 1464533 bytes apps/mtxcli/mtxcli_screenshot.png | Bin 4676 -> 0 bytes apps/mtxcli/xous-french.png | Bin 0 -> 16707 bytes apps/repl/Cargo.toml | 10 +- apps/repl/locales/i18n.json | 69 +- apps/vault/Cargo.toml | 16 +- apps/vault/libraries/crypto/Cargo.toml | 2 +- apps/vault/locales/i18n.json | 1031 +-- apps/vault/src/actions.rs | 369 +- apps/vault/src/prereqs.rs | 1 + emulation/peripherals/BetrustedEcI2C.cs | 2 +- emulation/peripherals/BetrustedSocI2C.cs | 2 +- emulation/peripherals/MXIC_MX66UM1G45G.cs | 8 + emulation/renode-keybox.bin | Bin 0 -> 1024 bytes emulation/renode.key | Bin 0 -> 132 bytes imports/getrandom/Cargo.toml | 6 +- kernel/.vscode/settings.json | 47 - kernel/Cargo.toml | 8 +- kernel/src/arch/riscv/mod.rs | 2 - kernel/src/arch/riscv/rand.rs | 69 - kernel/src/debug/macros.rs | 53 + kernel/src/debug/mod.rs | 315 +- kernel/src/debug/shell.rs | 230 + kernel/src/io.rs | 14 + kernel/src/main.rs | 47 +- kernel/src/platform/mod.rs | 14 + kernel/src/platform/precursor/mod.rs | 13 + kernel/src/platform/precursor/rand.rs | 98 + kernel/src/platform/precursor/uart.rs | 103 + kernel/src/platform/rand.rs | 11 + kernel/src/services.rs | 10 +- kernel/src/syscall.rs | 83 +- loader/Cargo.toml | 2 +- .../.vscode/settings.json | 5 - loader/curve25519-dalek-loader/Cargo.toml | 2 +- loader/link.x | 8 +- loader/sha2-loader/Cargo.toml | 2 +- locales/README.md | 91 + services/aes-test/Cargo.toml | 4 +- services/aes/Cargo.toml | 4 +- services/codec/Cargo.toml | 14 +- services/com/Cargo.toml | 14 +- services/content-plugin-api/Cargo.toml | 4 +- services/dns/Cargo.toml | 12 +- services/engine-25519/Cargo.toml | 14 +- services/engine-sha512/Cargo.toml | 14 +- services/ffi-test/Cargo.toml | 12 +- services/gam/Cargo.toml | 14 +- services/gam/locales/i18n.json | 238 +- services/gam/src/api.rs | 4 + services/gam/src/contexts.rs | 36 +- services/gam/src/layouts/modal.rs | 2 +- services/gam/src/lib.rs | 7 + services/gam/src/main.rs | 4 + services/gam/src/modal.rs | 11 +- services/gam/src/modal/bip39entry.rs | 16 +- services/gam/src/modal/checkboxes.rs | 12 +- services/gam/src/modal/consoleinput.rs | 24 +- services/gam/src/modal/image.rs | 12 +- services/gam/src/modal/notification.rs | 14 +- services/gam/src/modal/radiobuttons.rs | 12 +- services/gam/src/modal/slider.rs | 24 +- services/gam/src/modal/textentry.rs | 14 +- services/graphics-server/Cargo.toml | 14 +- services/graphics-server/src/api.rs | 3 + .../graphics-server/src/backend/betrusted.rs | 3 +- services/graphics-server/src/lib.rs | 8 + services/graphics-server/src/main.rs | 8 +- services/ime-frontend/Cargo.toml | 12 +- services/ime-frontend/locales/i18n.json | 30 +- services/ime-plugin-api/Cargo.toml | 6 +- services/ime-plugin-shell/Cargo.toml | 12 +- services/ime-plugin-tts/Cargo.toml | 12 +- services/jtag/Cargo.toml | 14 +- services/kernel-test/Cargo.toml | 8 +- services/keyboard/Cargo.toml | 14 +- services/libstd-test/Cargo.toml | 10 +- services/llio/Cargo.toml | 14 +- services/log-test-client/Cargo.toml | 2 +- services/modals/Cargo.toml | 12 +- services/modals/locales/i18n.json | 30 +- services/modals/src/lib.rs | 7 +- services/modals/src/main.rs | 25 +- services/net/Cargo.toml | 14 +- services/net/locales/i18n.json | 30 +- services/pddb/Cargo.toml | 18 +- services/pddb/locales/i18n.json | 570 +- services/pddb/src/api.rs | 7 +- services/pddb/src/backend/basis.rs | 8 +- services/pddb/src/backend/hw.rs | 30 + services/pddb/src/lib.rs | 21 +- services/pddb/src/main.rs | 54 +- services/root-keys/Cargo.toml | 14 +- services/root-keys/locales/i18n.json | 953 +-- services/shellchat/Cargo.toml | 14 +- services/shellchat/locales/i18n.json | 37 +- services/shellchat/src/cmds/ecup.rs | 22 +- services/shellchat/src/main.rs | 59 +- services/skeleton/Cargo.toml | 12 +- services/spinor/Cargo.toml | 14 +- services/spinor/src/lib.rs | 60 +- services/status/Cargo.toml | 14 +- services/status/locales/i18n.json | 1147 ++-- services/status/src/ecup.rs | 70 +- services/status/src/main.rs | 7 +- services/test-spawn/Cargo.toml | 2 +- services/test-spawn/spawn/Cargo.toml | 2 +- services/trng/Cargo.toml | 14 +- services/tts/Cargo.toml | 12 +- services/usb-device-xous/Cargo.toml | 14 +- services/usb-test/Cargo.toml | 12 +- services/xous-log/.vscode/settings.json | 41 - services/xous-log/Cargo.toml | 10 +- services/xous-names/Cargo.toml | 12 +- services/xous-names/src/main.rs | 15 +- services/xous-susres/Cargo.toml | 14 +- services/xous-ticktimer/Cargo.toml | 16 +- svd2utra/Cargo.toml | 2 +- tools/Cargo.toml | 2 +- tools/README.md | 4 + tools/backalyzer.py | 103 +- tools/i18n_helper.py | 235 + tools/pddbcommon.py | 129 +- tools/pddbdbg.py | 102 +- tools/perflib/Cargo.toml | 4 +- tools/src/elf.rs | 2 +- .../precursorupdater/precursorupdater.py | 3 +- tools/updater/setup.py | 2 +- utralib/Cargo.toml | 4 +- utralib/src/generated/precursor_6156e49.rs | 6094 ----------------- .../src/generated/precursor_dvt_2753c12.rs | 108 +- .../src/generated/precursor_perf_c809403.rs | 126 +- xous-ipc/Cargo.toml | 4 +- xous-rs/Cargo.toml | 3 +- xous-rs/src/definitions.rs | 5 + xous-rs/src/locale.rs | 5 +- xous-rs/src/syscall.rs | 67 +- xtask/Cargo.toml | 2 +- xtask/src/main.rs | 10 +- xtask/src/verifier.rs | 26 +- 160 files changed, 5034 insertions(+), 9790 deletions(-) create mode 100644 apps/mtxcli/mtxcli-emulator.gif create mode 100644 apps/mtxcli/mtxcli-precursor.gif delete mode 100644 apps/mtxcli/mtxcli_screenshot.png create mode 100644 apps/mtxcli/xous-french.png create mode 100644 emulation/renode-keybox.bin create mode 100644 emulation/renode.key delete mode 100644 kernel/.vscode/settings.json delete mode 100644 kernel/src/arch/riscv/rand.rs create mode 100644 kernel/src/debug/macros.rs create mode 100644 kernel/src/debug/shell.rs create mode 100644 kernel/src/io.rs create mode 100644 kernel/src/platform/mod.rs create mode 100644 kernel/src/platform/precursor/mod.rs create mode 100644 kernel/src/platform/precursor/rand.rs create mode 100644 kernel/src/platform/precursor/uart.rs create mode 100644 kernel/src/platform/rand.rs delete mode 100644 loader/curve25519-dalek-loader/.vscode/settings.json delete mode 100644 services/xous-log/.vscode/settings.json create mode 100755 tools/i18n_helper.py delete mode 100644 utralib/src/generated/precursor_6156e49.rs diff --git a/.gitattributes b/.gitattributes index 7112b4096..f9a88b045 100644 --- a/.gitattributes +++ b/.gitattributes @@ -36,3 +36,6 @@ LICENSE text eol=lf # System description files *.svd eol=lf + +# JSON +*.json eol=lf diff --git a/.gitignore b/.gitignore index b2287d6fc..bf9c3c003 100644 --- a/.gitignore +++ b/.gitignore @@ -47,8 +47,12 @@ tools/ct_data/v2p.txt /emulation/linux-server-rootfs.jffs2 # don't record weirdnesses dealing with vscode -/.vscode/ -/.vs/ +.vscode +.vs +settings.json + +# Emacs backup files +*~ # don't commit local modifications to the Renode filesystem template emulation/linux-server-rootfs.jffs2 diff --git a/Cargo.lock b/Cargo.lock index dbaf72994..14f0775a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -31,7 +31,7 @@ dependencies = [ "cipher 0.4.3", "hex-literal", "log", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", ] @@ -65,7 +65,7 @@ version = "0.1.0" dependencies = [ "hex-literal", "log", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", ] @@ -175,11 +175,11 @@ dependencies = [ "num-derive", "num-traits", "trng", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -551,12 +551,12 @@ dependencies = [ "rkyv", "trng", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -572,12 +572,12 @@ dependencies = [ "trng", "typenum", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", ] @@ -630,7 +630,7 @@ dependencies = [ "graphics-server", "log", "rkyv", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-names", ] @@ -1064,11 +1064,11 @@ dependencies = [ "rkyv", "trng", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1186,12 +1186,12 @@ dependencies = [ "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1303,7 +1303,7 @@ dependencies = [ "num-derive", "num-traits", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", @@ -1521,12 +1521,12 @@ dependencies = [ "trng", "tts-frontend", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1563,9 +1563,9 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", "wasm-bindgen-test", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-names", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1585,12 +1585,12 @@ dependencies = [ "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1675,10 +1675,10 @@ dependencies = [ "num-derive", "num-traits", "tts-frontend", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1812,11 +1812,11 @@ dependencies = [ "rkyv", "tts-frontend", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1828,9 +1828,9 @@ dependencies = [ "num-derive", "num-traits", "rkyv", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-names", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1843,11 +1843,11 @@ dependencies = [ "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1862,11 +1862,11 @@ dependencies = [ "rkyv", "tts-frontend", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1946,12 +1946,12 @@ dependencies = [ "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1966,7 +1966,7 @@ version = "0.1.0" dependencies = [ "log", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-ticktimer", ] @@ -1982,12 +1982,12 @@ dependencies = [ "rkyv", "spinor", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2038,7 +2038,7 @@ dependencies = [ "num-derive", "num-traits", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", @@ -2056,12 +2056,12 @@ dependencies = [ "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", ] @@ -2221,11 +2221,11 @@ dependencies = [ "trng", "tts-frontend", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2248,11 +2248,11 @@ dependencies = [ "serde", "trng", "ureq", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2288,12 +2288,12 @@ dependencies = [ "smoltcp", "trng", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", ] @@ -2561,12 +2561,12 @@ dependencies = [ "trng", "tts-frontend", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "zeroize", "zeroize_derive", ] @@ -2594,7 +2594,7 @@ version = "0.1.0" dependencies = [ "log", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3046,11 +3046,11 @@ dependencies = [ "num-derive", "num-traits", "trng", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3078,7 +3078,7 @@ dependencies = [ [[package]] name = "ring" version = "0.16.20" -source = "git+https://github.com/betrusted-io/ring-xous?rev=09207048c393d524a34f63cf65c85a973012a21d#09207048c393d524a34f63cf65c85a973012a21d" +source = "git+https://github.com/betrusted-io/ring-xous?rev=4296c2e7904898766cf7d8d589759a129794783b#4296c2e7904898766cf7d8d589759a129794783b" dependencies = [ "cc", "libc", @@ -3087,11 +3087,10 @@ dependencies = [ "rkyv", "spin 0.5.2", "untrusted", - "web-sys", "winapi", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-names", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3172,12 +3171,12 @@ dependencies = [ "tts-frontend", "usb-device-xous", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", "zeroize", ] @@ -3447,12 +3446,12 @@ dependencies = [ "rkyv", "trng", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3530,12 +3529,12 @@ dependencies = [ "utralib", "webpki-roots", "x25519-dalek", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3586,7 +3585,7 @@ dependencies = [ name = "spawn" version = "0.1.0" dependencies = [ - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3629,12 +3628,12 @@ dependencies = [ "rkyv", "trng", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3695,12 +3694,12 @@ dependencies = [ "usb-device-xous", "userprefs", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", ] @@ -3732,7 +3731,7 @@ dependencies = [ [[package]] name = "svd2utra" -version = "0.1.6" +version = "0.1.7" dependencies = [ "convert_case", "quick-xml", @@ -3740,9 +3739,9 @@ dependencies = [ [[package]] name = "svd2utra" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44806cf793ccbc923e20f935536d7f96b7fb2d3de283becfaffaae90b7087417" +checksum = "a65cf81cff9ec9ad564103468224386dc7443afd1c2037de148bd2c51ca006dd" dependencies = [ "convert_case", "quick-xml", @@ -3804,7 +3803,7 @@ dependencies = [ name = "test-spawn" version = "0.1.0" dependencies = [ - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3917,7 +3916,7 @@ dependencies = [ "log", "pem", "ring", - "svd2utra 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "svd2utra 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "xmas-elf", "xous-semver", ] @@ -4001,12 +4000,12 @@ dependencies = [ "rand_chacha 0.3.1", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4019,11 +4018,11 @@ dependencies = [ "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-tts-backend", ] @@ -4170,12 +4169,12 @@ dependencies = [ "usbd-human-interface-device 0.2.1", "utralib", "vcell", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", ] @@ -4195,7 +4194,7 @@ dependencies = [ "usbd-human-interface-device 0.1.1", "utralib", "vcell", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", @@ -4255,11 +4254,11 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utralib" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa0522d446043983ad8521294b3cbbeab58c20e5f18e02f2a43f1231652aa34" +checksum = "2a2981d46c235f61d0ff7905f3c7b982f5cbf8f0b87b9bf5fa87d296f62ab3ac" dependencies = [ - "svd2utra 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "svd2utra 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4310,12 +4309,12 @@ dependencies = [ "usb-device-xous", "usbd-human-interface-device 0.2.1", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4765,7 +4764,7 @@ checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" [[package]] name = "xous" -version = "0.9.21" +version = "0.9.24" dependencies = [ "compiler_builtins", "lazy_static", @@ -4774,99 +4773,99 @@ dependencies = [ [[package]] name = "xous" -version = "0.9.21" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608f9d839e000013dcb09bf351f18c34d62b893916cc313b0b8dc4d16da74b79" +checksum = "51eaec3e40494097174d60a93d2c77569208246783066cee0e270771a923e730" dependencies = [ "lazy_static", ] [[package]] name = "xous-api-log" -version = "0.1.15" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9baa020cfe2d0bb519cdc1ed4c6017411dae9a138489c3e9c5917a8404748549" +checksum = "880fb22905cdaf24cd359f49c9532bee32b126b923f5f9e72a17cb60812d30ac" dependencies = [ "log", "num-derive", "num-traits", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xous-api-names" -version = "0.9.16" +version = "0.9.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68345b86652acd2425b90fe1fe5d29e2bf9afd0d2929df31a2088781f545ac85" +checksum = "5809ddc9958b57d2fbf7981b5d129ea244e8aff2f4dda79ca68d19310c0df0b1" dependencies = [ "log", "num-derive", "num-traits", "rkyv", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xous-api-susres" -version = "0.9.14" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b767368e89cd35978bb869be2578aaa92d25a19b63be5a6a5329239b08416b" +checksum = "692689670c9661470c26dab75af629e34acd9779049c17762a46935ac04deef8" dependencies = [ "log", "num-derive", "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xous-api-ticktimer" -version = "0.9.14" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77b7bf24b5faa512067c9512740eef0b71ec024831a1174e21ae07da2ce54d1" +checksum = "ec08c3120ceba64928718ba4ed6a55d20b62a3b3108cb80188280e615619c627" dependencies = [ "log", "num-derive", "num-traits", "rkyv", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", ] [[package]] name = "xous-ipc" -version = "0.9.21" +version = "0.9.24" dependencies = [ "bitflags", "rkyv", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xous-ipc" -version = "0.9.21" +version = "0.9.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1254ea0315223be328b775cda0039f23f39933cfb78c703153443ba68b5b00bc" +checksum = "3f82fff59dab2eb19e27349d8d8e32e98c4ea20fb6ab3d020a033ad3b286b55c" dependencies = [ "bitflags", "rkyv", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xous-kernel" -version = "0.9.14" +version = "0.9.20" dependencies = [ "bitflags", "crossbeam-channel", @@ -4876,36 +4875,36 @@ dependencies = [ "rand_chacha 0.3.1", "stats_alloc", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-riscv", ] [[package]] name = "xous-log" -version = "0.1.12" +version = "0.1.15" dependencies = [ "log", "num-derive", "num-traits", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xous-names" -version = "0.9.20" +version = "0.9.24" dependencies = [ "log", "num-derive", "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4926,35 +4925,35 @@ checksum = "6ed3278bb4e7be4895c1c597434e5269f7357ffb800ebc644f0398bb008a15ad" [[package]] name = "xous-susres" -version = "0.1.16" +version = "0.1.20" dependencies = [ "log", "num-derive", "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xous-ticktimer" -version = "0.1.15" +version = "0.1.19" dependencies = [ "log", "num-derive", "num-traits", "rkyv", "utralib", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-log", "xous-api-names", "xous-api-susres", "xous-api-ticktimer", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-semver", ] @@ -4968,9 +4967,9 @@ dependencies = [ "num-derive", "num-traits", "rkyv", - "xous 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "xous-api-names", - "xous-ipc 0.9.21 (registry+https://github.com/rust-lang/crates.io-index)", + "xous-ipc 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4983,7 +4982,7 @@ dependencies = [ "rustc_version 0.4.0", "serde", "serde_json", - "svd2utra 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "svd2utra 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile", "ureq", "zip", diff --git a/Cargo.toml b/Cargo.toml index 8b17acf6f..a49ff184f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -147,7 +147,7 @@ path = "imports/getrandom" [patch.crates-io.ring] # path = "../ring-xous" # for local dev only git="https://github.com/betrusted-io/ring-xous" -rev="09207048c393d524a34f63cf65c85a973012a21d" # use the commitref because we're still updating the branch +rev="4296c2e7904898766cf7d8d589759a129794783b" # use the commitref because we're still updating the branch #branch="0.16.20-cleanup" ###################################################### diff --git a/README.md b/README.md index 29fd69196..ab4b8a299 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,15 @@ from source. It consists of the following projects: - Some system packages are needed, which can be installed with `sudo apt install libssl-dev libxkbcommon-dev` or similar - If you receive an error about `feature resolver is required`, try installing a newer version of `rustc` and `cargo` via [rustup](https://rustup.rs) +## Local-vs-crates.io Verification +By default the `xtask` resolver runs a check to confirm that your local files +match the ones referenced in `crates.io`. For a handful of core crates, the +build preferentially runs from what is on `crates.io`, so local changes have +no effect until they are pushed as an update to an existing crate. If you see +an error complaining about local source files not being published, make sure +you have the correct patches in place in your top level `Cargo.toml` file, +and bypass the check with `--no-verify`. + ## Quickstart using Hosted Mode You can try out Xous in a "hosted mode" wherein programs are compiled @@ -84,15 +93,39 @@ Betrusted core. These addresses will change as hardware is modified, so if you distribute a modified Betrusted core, you should be sure to distribute the `.svd` file. -We have included a reference version of the gateware and its SVD -file in the `precursors` directory, so you can compile a gateware -for the reference image using this command: +The [UTRA](./utralib/README.md) abstracts the details of the register +locations, by wrapping them in logical names that don't change. +For Precursor, the SVD files are tracked inside `utralib/precursor/soc-.svd`. +Since each soc.svd can potentially change with a git reference, a gitref +is coded into the filename by convention. + +Generally, one can create an image for hardware using the following command: ```sh -cargo xtask hw-image precursors/soc.svd +cargo xtask app-image ``` +And it will pull from the default soc.svd configuration. + +The currently selected config is set by the constant `PRECURSOR_SOC_VERSION` +in [xtask/src/main.rs](./xtask/src/main.rs); it is one of the first constants +near the top. + +If you have built your own custom soc.svd file, the most convenient way to update +to this is to simply replace the file referenced in the default with yours, +and then run `cargo build` inside the `utralib` directory (not in the Xous +root -- the `build` command must happen inside the directory to force a +regeneration of the generated UTRA bindings). This will likely result +in a complaint when you run `xtask` that your local tree does not match what +is checked into `git`; if you are building from your own configuration, +that is correct, and thus you should add `--no-verify` to your `xtask` command +to suppress the check. + +Note that adding a full extra custom gitrev is more involved, it involves +editing the [utralib/Cargo.toml](./utralib/Cargo.toml) and [utralib/build.rs](./utralib/build.rs) +to reference your new artifact as a brand new feature flag. + The resulting images are in your target directory (typically `target/riscv32imac-unknown-xous-elf/release/`) with the names `xous.img` (for the kernel) and `loader.bin` (for its bootloader). The corresponding -gateware is in `precursors/soc_csr.bin`. These can be written to your +gateware is in `precursors/soc_csr-.bin`. These can be written to your device by following the [update guide](https://github.com/betrusted-io/betrusted-wiki/wiki/Updating-Your-Device). diff --git a/RELEASE-v0.9.md b/RELEASE-v0.9.md index 582414aa3..1471f7188 100644 --- a/RELEASE-v0.9.md +++ b/RELEASE-v0.9.md @@ -285,6 +285,13 @@ perform the Xous firmware upgrade. This requires running manual update commands, - Fix bug in device auto-shutdown; COM/LLIO method deprecated as susres method does the correct sequencing. This should help with some of the "insert paperclip" scenarios after updating SoC, hopefully. - Updated VexRiscv core to the latest version. STATIC branch prediction enabled and slightly faster I$ gives a small performance bump. Also fixes a bug with cache flushing that was causing coherence problems with the PDDB. - Fix tricky loader bug that was causing subtle issues with various build configurations +- Suppress main menu from popping up before the PDDB is mounted (resolves race conditions based on PDDB-stored keys) +- Optimize PDDB bulk key listing performance +- Add French language locale (thanks @tmarble!) +- Add `mtxcli` application, a basic Matrix chat interface (currently just https-secured, not E2EE). Thanks again @tmarble for the contribution! +- Several infrastructure changes/improvements to how utralib and crating works +- Add some UX cues on boot asking the user to wait for various operations. +- Fix context switching in GAM. Now, when relinquishing a context, the context is switched before the response is fired back to the caller. This means that it is much less likely that the caller will start drawing prematurely and have the draw ops missed. ## Roadmap - Lots of testing and bug fixes diff --git a/api/xous-api-log/Cargo.toml b/api/xous-api-log/Cargo.toml index 044f16a9e..03dcb09db 100644 --- a/api/xous-api-log/Cargo.toml +++ b/api/xous-api-log/Cargo.toml @@ -3,15 +3,15 @@ authors = ["Sean Cross "] description = "Log server API" edition = "2018" name = "xous-api-log" -version = "0.1.15" +version = "0.1.18" license = "MIT OR Apache-2.0" repository = "https://github.com/betrusted-io/xous-core/" homepage = "https://betrusted.io/xous-book/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -xous-ipc = "0.9.21" +xous = "0.9.24" +xous-ipc = "0.9.24" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} diff --git a/api/xous-api-names/Cargo.toml b/api/xous-api-names/Cargo.toml index 74fbf2303..f005b8d48 100644 --- a/api/xous-api-names/Cargo.toml +++ b/api/xous-api-names/Cargo.toml @@ -3,16 +3,16 @@ authors = ["bunnie "] description = "Xous microkernel OS inter-process name resolution server" edition = "2018" name = "xous-api-names" -version = "0.9.16" +version = "0.9.20" license = "MIT OR Apache-2.0" repository = "https://github.com/betrusted-io/xous-core/" homepage = "https://betrusted.io/" # Dependency versions enforced by Cargo.lock. [dependencies] -log-server = {package = "xous-api-log", version = "0.1.15"} -xous = "0.9.21" -xous-ipc = "0.9.21" +log-server = {package = "xous-api-log", version = "0.1.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} log = "0.4.14" diff --git a/api/xous-api-names/src/api.rs b/api/xous-api-names/src/api.rs index f93e7e0b4..b16c093f7 100644 --- a/api/xous-api-names/src/api.rs +++ b/api/xous-api-names/src/api.rs @@ -52,6 +52,34 @@ pub enum Opcode { /// } /// ``` BlockingConnect = 6, + + /// Connect to a Server, returning the connection ID or an authentication request if + /// it exists, and returning ServerNotFound if it does not exist. + /// + /// # Message Types + /// + /// * MutableLend + /// + /// # Arguments + /// + /// The memory being pointed to should be a &str, and the length of the string should + /// be specified in the `valid` field. + /// + /// # Return Values + /// + /// Memory is overwritten to contain a return value. This return value can be defined + /// as the following enum: + /// + /// ```rust + /// #[repr(C)] + /// #[non_exhaustive] + /// enum ConnectResult { + /// Success(xous::CID /* connection ID */, [u32; 4] /* Disconnection token */), + /// Error(u32 /* error code */), + /// Unhandled, /* Catchall for future Results */ + /// } + /// ``` + TryConnect = 7, } #[derive(Debug, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)] diff --git a/api/xous-api-susres/Cargo.toml b/api/xous-api-susres/Cargo.toml index 91b987023..5e56a909d 100644 --- a/api/xous-api-susres/Cargo.toml +++ b/api/xous-api-susres/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xous-api-susres" -version = "0.9.14" +version = "0.9.18" authors = ["bunnie "] edition = "2018" description = "Manager of suspend/resume operations" @@ -10,16 +10,16 @@ homepage = "https://betrusted.io/xous-book/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/api/xous-api-ticktimer/Cargo.toml b/api/xous-api-ticktimer/Cargo.toml index 1fcf73358..ee354d25e 100644 --- a/api/xous-api-ticktimer/Cargo.toml +++ b/api/xous-api-ticktimer/Cargo.toml @@ -3,18 +3,18 @@ authors = ["bunnie ", "Sean Cross "] description = "Provide high-resolution, non-rollover system time" edition = "2018" name = "xous-api-ticktimer" -version = "0.9.14" +version = "0.9.18" license = "MIT OR Apache-2.0" repository = "https://github.com/betrusted-io/xous-core/" homepage = "https://betrusted.io/xous-book/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = {package = "xous-api-log", version = "0.1.15"} -susres = {package = "xous-api-susres", version = "0.9.14"} -xous-names = {package = "xous-api-names", version = "0.9.16"} +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = {package = "xous-api-log", version = "0.1.18"} +susres = {package = "xous-api-susres", version = "0.9.18"} +xous-names = {package = "xous-api-names", version = "0.9.20"} log = "0.4.14" rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} num-derive = {version = "0.3.3", default-features = false} diff --git a/apps/ball/Cargo.toml b/apps/ball/Cargo.toml index c6e026c7c..c310b2500 100644 --- a/apps/ball/Cargo.toml +++ b/apps/ball/Cargo.toml @@ -10,11 +10,11 @@ description = "Ball demo app" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } gam = {path = "../../services/gam" } trng = {path = "../../services/trng"} modals = {path = "../../services/modals"} diff --git a/apps/ball/locales/i18n.json b/apps/ball/locales/i18n.json index 9bb314214..7f7b5b387 100644 --- a/apps/ball/locales/i18n.json +++ b/apps/ball/locales/i18n.json @@ -1,32 +1,37 @@ -{ - "ballapp.notification_a": { - "en": "Bouncing ball ⛹ demo.\nInterrupted with key hit: ", - "ja": "弾むボール ⛹ デモ。キーヒットで中断: ", - "zh": "弹跳球演示.⛹\n因击键而中断:", - "en-tts": "Bouncing ball demo. Interrupted with key hit:" - }, - "ballapp.notification_b": { - "en": "Press any key to continue.", - "ja": "続行するには何かキーを押してください。", - "zh": "按任意键继续", - "en-tts": "Press any key to continue." - }, - "ballapp.mode_prompt": { - "en": "Pick a mode of operation:", - "ja": "動作モードを選択してください:", - "zh": "选择一种操作模式:", - "en-tts": "Pick a mode of operation:" - }, - "ballapp.random": { - "en": "Random", - "ja": "ランダム", - "zh": "随机的", - "en-tts": "Random" - }, - "ballapp.tilt": { - "en": "Tilt", - "ja": "傾ける", - "zh": "加速度计倾斜", - "en-tts": "Tilt" - } -} \ No newline at end of file +{ + "ballapp.mode_prompt": { + "en": "Pick a mode of operation:", + "en-tts": "Pick a mode of operation:", + "fr": "Choisir le mode de fonctionnement", + "ja": "動作モードを選択してください:", + "zh": "选择一种操作模式:" + }, + "ballapp.notification_a": { + "en": "Bouncing ball ⛹ demo.\nInterrupted with key hit: ", + "en-tts": "Bouncing ball demo. Interrupted with key hit:", + "fr": "Démo de balle simple ⛹.\nInterrompu par une touche: ", + "ja": "弾むボール ⛹ デモ。キーヒットで中断: ", + "zh": "弹跳球演示.⛹\n因击键而中断:" + }, + "ballapp.notification_b": { + "en": "Press any key to continue.", + "en-tts": "Press any key to continue.", + "fr": "Appuyez sur une touche pour continuer.", + "ja": "続行するには何かキーを押してください。", + "zh": "按任意键继续" + }, + "ballapp.random": { + "en": "Random", + "en-tts": "Random", + "fr": "Aléatoire", + "ja": "ランダム", + "zh": "随机的" + }, + "ballapp.tilt": { + "en": "Tilt", + "en-tts": "Tilt", + "fr": "Inclinero", + "ja": "傾ける", + "zh": "加速度计倾斜" + } +} diff --git a/apps/hello/Cargo.toml b/apps/hello/Cargo.toml index a17d1f5a7..eda94a93e 100644 --- a/apps/hello/Cargo.toml +++ b/apps/hello/Cargo.toml @@ -7,10 +7,10 @@ edition = "2021" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } gam = {path = "../../services/gam" } graphics-server = {path = "../../services/graphics-server" } locales = {path = "../../locales"} diff --git a/apps/hello/locales/i18n.json b/apps/hello/locales/i18n.json index 19f8bf49e..d7b873462 100644 --- a/apps/hello/locales/i18n.json +++ b/apps/hello/locales/i18n.json @@ -1,8 +1,9 @@ -{ - "helloworld.hello": { - "en": "Hello World!", - "ja": "Hello World!", - "zh": "大家好!", - "en-tts": "Hello World!" - } -} \ No newline at end of file +{ + "helloworld.hello": { + "en": "Hello World!", + "en-tts": "Hello World!", + "fr": "Bonjour le monde!", + "ja": "Hello World!", + "zh": "大家好!" + } +} diff --git a/apps/manifest.json b/apps/manifest.json index def46d9c2..9e2c4234f 100644 --- a/apps/manifest.json +++ b/apps/manifest.json @@ -1,58 +1,63 @@ -{ - "ball": { - "context_name": "ball demo app", - "menu_name": { - "appmenu.ball": { - "en": "Simple ball demo", - "ja": "シンプルなボールのデモ", - "zh": "简单的球演示", - "en-tts": "Simple ball demo" - } - } - }, - "hello": { - "context_name": "Hello World", - "menu_name": { - "appmenu.hello": { - "en": "Hello World!", - "ja": "Hello World!", - "zh": "大家好!", - "en-tts": "Hello World!" - } - } - }, - "vault": { - "context_name": "Key Vault", - "menu_name": { - "appmenu.vault": { - "en": "Key Vault", - "ja": "キーボールト", - "zh": "密钥库", - "en-tts": "Key Vault" - } - }, - "submenu": 1 - }, - "repl": { - "context_name": "repl demo app", - "menu_name": { - "appmenu.repl": { - "en": "Basic REPL demo", - "ja": "シンプルなREPLデモ", - "zh": "基本 REPL 演示", - "en-tts": "Basic REPL demo" - } - } - }, - "mtxcli": { - "context_name": "Matrix chat", - "menu_name": { - "appmenu.mtxcli": { - "en": "Matrix chat", - "ja": "シンプルなMATRIXデモ", - "zh": "基本 MATRIX 演示", - "en-tts": "MATRIX demo" - } - } - } -} +{ + "ball": { + "context_name": "ball demo app", + "menu_name": { + "appmenu.ball": { + "en": "Simple ball demo", + "en-tts": "Simple ball demo", + "fr": "Démonstration de balle simple", + "ja": "シンプルなボールのデモ", + "zh": "简单的球演示" + } + } + }, + "hello": { + "context_name": "Hello World", + "menu_name": { + "appmenu.hello": { + "en": "Hello World!", + "en-tts": "Hello World!", + "fr": "Bonjour le monde!", + "ja": "Hello World!", + "zh": "大家好!" + } + } + }, + "mtxcli": { + "context_name": "Matrix chat", + "menu_name": { + "appmenu.mtxcli": { + "en": "Matrix chat", + "en-tts": "MATRIX demo", + "fr": "Matrix messagerie", + "ja": "シンプルなMATRIXデモ", + "zh": "基本 MATRIX 演示" + } + } + }, + "repl": { + "context_name": "repl demo app", + "menu_name": { + "appmenu.repl": { + "en": "Basic REPL demo", + "en-tts": "Basic REPL demo", + "fr": "Démonstration REPL", + "ja": "シンプルなREPLデモ", + "zh": "基本 REPL 演示" + } + } + }, + "vault": { + "context_name": "Key Vault", + "menu_name": { + "appmenu.vault": { + "en": "Key Vault", + "en-tts": "Key Vault", + "fr": "Coffre de clés", + "ja": "キーボールト", + "zh": "密钥库" + } + }, + "submenu": 1 + } +} diff --git a/apps/mtxcli/Cargo.toml b/apps/mtxcli/Cargo.toml index 1312c1731..10c2e39a2 100644 --- a/apps/mtxcli/Cargo.toml +++ b/apps/mtxcli/Cargo.toml @@ -10,11 +10,11 @@ description = "Matrix chat" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } gam = {path = "../../services/gam" } graphics-server = {path = "../../services/graphics-server" } trng = {path = "../../services/trng"} diff --git a/apps/mtxcli/README.md b/apps/mtxcli/README.md index af1647bce..a6378e9a1 100644 --- a/apps/mtxcli/README.md +++ b/apps/mtxcli/README.md @@ -2,7 +2,13 @@ This is a simple Matrix chat application. -![screenshot](mtxcli_screenshot.png) +Here you see **mtxcli** running in hosted mode: + +``` +cargo xtask run mtxcli +``` + +![screenshot](mtxcli-emulator.gif) ## Background @@ -41,6 +47,21 @@ The following commands are available in **mtxcli**: Any line not starting with a slash ('/') will be sent to the current room. New messages from the current room will be displayed. +## mtxcli on the Precursor device + +Here are some images of runing **mtxcli** on the Precursor. +_NOTE_: this Precusor has the [Pi HAT](https://github.com/betrusted-io/betrusted-wiki/wiki/Updates-for-Advanced-Users#failsafe-method) installed. + +![screenshot](mtxcli-precursor.gif) + +## mtxcli in French + +I recently added the French localization to Xous -- including +translating all of **mtxcli**. For more about locales and +Xous please see the [locales README](https://github.com/betrusted-io/xous-core/blob/main/locales/README.md) + +![screenshot](xous-french.png) + ## Acknowledgements This app is supported in part by a grant from the diff --git a/apps/mtxcli/locales/i18n.json b/apps/mtxcli/locales/i18n.json index 352394602..19509beb7 100644 --- a/apps/mtxcli/locales/i18n.json +++ b/apps/mtxcli/locales/i18n.json @@ -1,134 +1,156 @@ -{ - "mtxcli.filter.failed": { - "en": "error: could not create filter", - "ja": "error: could not create filter *EN*", - "zh": "error: could not create filter *EN*", - "en-tts": "error: could not create filter" - }, - "mtxcli.greeting": { - "en": "Welcome to the MTXCLI demo. Type /help for available commands", - "ja": "シンプルなMTXCLIデモへようこそ", - "zh": "简单的 mtxcli 演示活动", - "en-tts": "Welcome to the simple MTXCLI demo. Type /help for available commands" - }, - "mtxcli.get.help": { - "en": "/get key", - "ja": "/get key *EN*", - "zh": "/get key *EN*", - "en-tts": "get key" - }, - "mtxcli.help.help": { - "en": "/help [cmd]", - "ja": "/help [cmd] *EN*", - "zh": "/help [cmd] *EN*", - "en-tts": "help [cmd]" - }, - "mtxcli.help.overview": { - "en": "available mtxcli commands:", - "ja": "available mtxcli commands: *EN*", - "zh": "available mtxcli commands: *EN*", - "en-tts": "available mtxcli commands:" - }, - "mtxcli.logging.in": { - "en": "logging in...", - "ja": "logging in... *EN*", - "zh": "logging in... *EN*", - "en-tts": "logging in" - }, - "mtxcli.logged.in": { - "en": "logged in", - "ja": "logged in *EN*", - "zh": "logged in *EN*", - "en-tts": "logged in" - }, - "mtxcli.logged.out": { - "en": "logged out", - "ja": "logged out *EN*", - "zh": "logged out *EN*", - "en-tts": "logged out" - }, - "mtxcli.login.failed": { - "en": "authentication failed", - "ja": "authentication failed *EN*", - "zh": "authentication failed *EN*", - "en-tts": "authentication failed" - }, - "mtxcli.login.help": { - "en": "/login", - "ja": "/login *EN*", - "zh": "/login *EN*", - "en-tts": "login" - }, - "mtxcli.logout.help": { - "en": "/logout", - "ja": "/logout *EN*", - "zh": "/logout *EN*", - "en-tts": "logout" - }, - "mtxcli.not.connected": { - "en": "not connected", - "ja": "not connected *EN*", - "zh": "not connected *EN*", - "en-tts": "not conntected" - }, - "mtxcli.please.set.user": { - "en": "please /set user @USER:matrix.org", - "ja": "please /set user @USER:matrix.org *EN*", - "zh": "please /set user @USER:matrix.org *EN*", - "en-tts": "please /set user @USER:matrix.org" - }, - "mtxcli.please.set.password": { - "en": "please /set password my-password", - "ja": "please /set password my-password *EN*", - "zh": "please /set password my-password *EN*", - "en-tts": "please /set password my-password" - }, - "mtxcli.please.set.room": { - "en": "please /set room #my-room-to-join", - "ja": "please /set room #my-room-to-join *EN*", - "zh": "please /set room #my-room-to-join *EN*", - "en-tts": "please /set room #my-room-to-join" - }, - "mtxcli.please.set.server": { - "en": "please /set server https://matrix.org", - "ja": "please /set server https://matrix.org *EN*", - "zh": "please /set server https://matrix.org *EN*", - "en-tts": "please /set server https://matrix.org" - }, - "mtxcli.roomid.failed": { - "en": "error: could not find room_id", - "ja": "error: could not find room_id *EN*", - "zh": "error: could not find room_id *EN*", - "en-tts": "error: could not find room_id" - }, - "mtxcli.set.help": { - "en": "/set key value", - "ja": "/set key value *EN*", - "zh": "/set key value *EN*", - "en-tts": "set key value" - }, - "mtxcli.send.failed": { - "en": "FAILED TO SEND!", - "ja": "FAILED TO SEND! *EN*", - "zh": "FAILED TO SEND! *EN*", - "en-tts": "FAILED TO SEND!" - }, - "mtxcli.status.help": { - "en": "/status", - "ja": "/status *EN*", - "zh": "/status *EN*", - "en-tts": "status" - }, - "mtxcli.unset.help": { - "en": "/unset key", - "ja": "/unset key *EN*", - "zh": "/unset key *EN*", - "en-tts": "unset key" - }, - "mtxcli.unknown.help": { - "en": "unknown command", - "ja": "unknown command *EN*", - "zh": "unknown command *EN*", - "en-tts": "unknown command" - } -} +{ + "mtxcli.filter.failed": { + "en": "error: could not create filter", + "en-tts": "error: could not create filter", + "fr": "erreur: impossible de créer un filtre *MT*", + "ja": "error: could not create filter *EN*", + "zh": "error: could not create filter *EN*" + }, + "mtxcli.get.help": { + "en": "/get key", + "en-tts": "get key", + "fr": "/get clé", + "ja": "/get key *EN*", + "zh": "/get key *EN*" + }, + "mtxcli.greeting": { + "en": "Welcome to the MTXCLI demo. Type /help for available commands", + "en-tts": "Welcome to the simple MTXCLI demo. Type /help for available commands", + "fr": "Bienvenue à la démo simple de MTXCLI. Tapez /help pour les commandes disponibles", + "ja": "シンプルなMTXCLIデモへようこそ", + "zh": "简单的 mtxcli 演示活动" + }, + "mtxcli.help.help": { + "en": "/help [cmd]", + "en-tts": "help [cmd]", + "fr": "/help [cmd]", + "ja": "/help [cmd] *EN*", + "zh": "/help [cmd] *EN*" + }, + "mtxcli.help.overview": { + "en": "available mtxcli commands:", + "en-tts": "available mtxcli commands:", + "fr": "commandes mtxcli disponibles:", + "ja": "available mtxcli commands: *EN*", + "zh": "available mtxcli commands: *EN*" + }, + "mtxcli.logged.in": { + "en": "logged in", + "en-tts": "logged in", + "fr": "connecté", + "ja": "logged in *EN*", + "zh": "logged in *EN*" + }, + "mtxcli.logged.out": { + "en": "logged out", + "en-tts": "logged out", + "fr": "déconnecté", + "ja": "logged out *EN*", + "zh": "logged out *EN*" + }, + "mtxcli.logging.in": { + "en": "logging in...", + "en-tts": "logging in", + "fr": "connexion...", + "ja": "logging in... *EN*", + "zh": "logging in... *EN*" + }, + "mtxcli.login.failed": { + "en": "authentication failed", + "en-tts": "authentication failed", + "fr": "échec de l'authentification", + "ja": "authentication failed *EN*", + "zh": "authentication failed *EN*" + }, + "mtxcli.login.help": { + "en": "/login", + "en-tts": "login", + "fr": "/login (connexion)", + "ja": "/login *EN*", + "zh": "/login *EN*" + }, + "mtxcli.logout.help": { + "en": "/logout", + "en-tts": "logout", + "fr": "/logout (déconnexion)", + "ja": "/logout *EN*", + "zh": "/logout *EN*" + }, + "mtxcli.not.connected": { + "en": "not connected", + "en-tts": "not conntected", + "fr": "déconnecté", + "ja": "not connected *EN*", + "zh": "not connected *EN*" + }, + "mtxcli.please.set.password": { + "en": "please /set password my-password", + "en-tts": "please /set password my-password", + "fr": "Veuillez /set password mot-de-passe", + "ja": "please /set password my-password *EN*", + "zh": "please /set password my-password *EN*" + }, + "mtxcli.please.set.room": { + "en": "please /set room #my-room-to-join", + "en-tts": "please /set room #my-room-to-join", + "fr": "Veuillez /set room #ma-chambre", + "ja": "please /set room #my-room-to-join *EN*", + "zh": "please /set room #my-room-to-join *EN*" + }, + "mtxcli.please.set.server": { + "en": "please /set server https://matrix.org", + "en-tts": "please /set server https://matrix.org", + "fr": "Veuillez /set server https://matrix.org", + "ja": "please /set server https://matrix.org *EN*", + "zh": "please /set server https://matrix.org *EN*" + }, + "mtxcli.please.set.user": { + "en": "please /set user @USER:matrix.org", + "en-tts": "please /set user @USER:matrix.org", + "fr": "Veuillez /set user @UTILISATEUR:matrix.org", + "ja": "please /set user @USER:matrix.org *EN*", + "zh": "please /set user @USER:matrix.org *EN*" + }, + "mtxcli.roomid.failed": { + "en": "error: could not find room_id", + "en-tts": "error: could not find room_id", + "fr": "erreur: impossible de trouver chambre", + "ja": "error: could not find room_id *EN*", + "zh": "error: could not find room_id *EN*" + }, + "mtxcli.send.failed": { + "en": "failed to send!", + "en-tts": "failed to send!", + "fr": "n'a pas envoyé!", + "ja": "failed to send! *EN*", + "zh": "failed to send! *EN*" + }, + "mtxcli.set.help": { + "en": "/set key value", + "en-tts": "set key value", + "fr": "/set clé valeur", + "ja": "/set key value *EN*", + "zh": "/set key value *EN*" + }, + "mtxcli.status.help": { + "en": "/status", + "en-tts": "status", + "fr": "/status (statut)", + "ja": "/status *EN*", + "zh": "/status *EN*" + }, + "mtxcli.unknown.help": { + "en": "unknown command", + "en-tts": "unknown command", + "fr": "commande inconnue", + "ja": "unknown command *EN*", + "zh": "unknown command *EN*" + }, + "mtxcli.unset.help": { + "en": "/unset key", + "en-tts": "unset key", + "fr": "/unset clé", + "ja": "/unset key *EN*", + "zh": "/unset key *EN*" + } +} diff --git a/apps/mtxcli/mtxcli-emulator.gif b/apps/mtxcli/mtxcli-emulator.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd1eba4427cb93713b5a89ac90a27291ba972a24 GIT binary patch literal 250269 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 LzTslUe@r$T;Pk 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 jF3vZhUQvf$ETe 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

;M0c*`M0l*zM^PU&6dAKiP@1V1o)b1 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 z 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

i0SnzgMqh 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

K({u|>4a_-28es@v zal0*oS$gU7{j0JNh7iglLX0FMOiW&^JvzL@_#YigG{gnak=a8NB=J`;Hg(=;3;mDpu^TJ`J1Q ziz$3@QZ#}|A`y~N=U8CM0)Qm~8CBeF_eG`#5sqFt4o2O%RIj{5ETZ3vx#LS|^B5$V zB5#bQ-OY~4ibn7L&?H_4`ejAP@~E%4D95_euFGF25uv4M z_bYsmlZ{pUDN5ZJ>(XUwE=%=Pk>A*l8}0QydWLu9IRZpAd`fmgYy$9N}V)!6LxX13_l9|`{DsKfHXG0UDJXuM$10PrV z2)h%Bz9N7#63h2_B90kAHDp`<_(mrIK9!Ns3m`=8wk#sSJUvSv(X)w};=j^WGHfDu z1RWuqpY`37KS6pP zaPqm{(99ea`yGvW8asPt`#Ws+lvxUL?6=E!s$^Y*D6eDmZ(4ap2mRb_LI|m#@YVpCJ(cyz& z4?q)7ihtacc6NTrj$Py>0pN^-Ibsx@i$j| z5x%Je#S47T|M-3v>3Zh#F5f-0?F=&sAo~YoC)LhY0FwOpc5;=!*9fYtgiep-!;POQGaiA+^p8R8&{-QWJoQ`p*sHi*IH$F{PV8|SysO#6t74Lm*48VUs z02Eh*WD#(NC8wZow3i`q#KE)$JEE5B#c9AFl&VEKK+Y>lz((Qd5*ExyVsaN0pwG|3 zEw!`Q*d{}v2pLGL=VC2sD-bp3a9|FByD5enHw|bO8w*(82n)zpAXwFOu^1XWz;^HQ zN7y-_soC1eu10-KHs9Cl|EZOZugUHjA?fTK_1JVa$~;~q&ZlIHq+G0}66fk8X>15; zM?VRIr*AK?p0X8a$MvD1DB~_sY5Rf5>YL3w|2{V~Sre6d%UmVUw_?A4tI5gh zMB!vc%K=gBQkLSYsFiRxFJ0?qLOCq&71nZg08~V471$%<0-5zZg4sBe4IRGU#g(@d z2smy{M9uRaxnhrA7trZfSn87S71koWhdWoPVmz&QJSa(@=3^SuOz?$$(c+&&e&O=z z+S#sh4veyo4KJmd4PAf9bzMbU5K=P>r9u)9p-_l~-D5uM(n}yB@>jS5DV&VhR@-i; zV<`jJZjhP}wH`>Z`TZ0k=fkvtDmDo<5m)Q?ODQKd9g^2$iL~4s+y$Y1kyRhUUiw>R z4>`)E%qZvJUsl>5Z%Lur9hXbo3WUBbhb4mLVyBiM*00mMKpvA5Z4`TvZcovun4tx= z)&(|C=pAI#Llhzh*g1M>i)^^jA~7u2s)MMhp1kzVStWADLk?wum>ZhrdX+R^Y;O1k zt4^-{)k0+d{R_4g&GOdF^T@dAgtDVkeB~4~PMGU>x!;a6ukc73tqI>)y{@+U{QZP~ zLgmmzO}u}cu3m82&5_Pq|9rsqQdSgWOmk?9DB~3 zu(?An(bZn=*B3J@-y_M|_1fF^bRt(( zoZ?KI^u}rEXkj)aV|%AoYy+g>v@80+AO2+omx%NAPr%vccU{Uq@0nAqWiFDuR&!{6 zXlxXINTJ6m%g}X}qbyPzFbfyJFd{pXtZ1oPyh^DdagS9T9pg)6eQw3`qcw1APlE#`Pmp3B}< ziUZ^PuHi7^q8~Bs_ngbFEpI&<7}arfTFBeu5E~Zwgqxe9#R+)o0qRyDS5Y3HHdp=~ zhZvEJ9qpJAbYz2cwhj=V9R4zS4iO($*eED%aIak)Fc+}%3`Bp0pM9vMvex<{ZF{0_rT1O zd(vT+&H>k8YkfOZsxFjXsEBl{Ij8B_kM`-DotQuNMZP%9xJqr-`#^M0<3SzNEn*^vJWr zJEbbA87=>N`Qv6Td_9H(-oq54A#v9Ikou`z!5(q5-%-bT*}?@MH6mWJfvu- zS`ctSWCxH%_kSaL{T@&l+BLI#&mEN!%``b4eWNtoRCPTgV+ru=N2v!}^=-(hr4QSF zTuk!ps>|lE>dbnZ%H-~*aaoR1kMJP`t#jU1miYQ=c$Q{$5Ot{dXOWFt3H z>i@S`U=}@HDDx4YL*j^WaRA7EjCYCa!$^D!0OqWyu2_S(X15&pS0}iG z=LkzLnfkWW6)}a;5Ro8#>=mqogmyb9uBJYY6A}ca+JUa1MSM zUv*oR$nk3kMK4XOCMVlwd5&8tY}Nh+u8W;)v1Tb62zyDhIT<2&X21?}Hb@$<)LPQc z1MpJY#OdVrAE_kmLEd~7a%VVRE1M9d2JAdc7UNIt3;B0 zcMF!b1^bo+i&{tD7|5~>ECpa7R&1nk6juy1Gv03P?77G(ogfF7f&yc}CStZK1DN{m zmLrI4*otu2QcV1%*#A&%XKW{VfITnEq44inij-zk2A2Uhj+`kPu_4O#A+s4aisLM+ zbch;}>oHI`MbC0c=h9|Dr+vW#9OP1NxgCS(K;)Sk6!|DO){NU4G*ns&LGHIfx7w7d zMA*M$ayNqZ2G5%2N+649n5__OK-5O1b4gVkFHB=O3*r6HB#WN=Our~Qu*iyNwc?JX zBY1AP$ld&^a;Xo+;O~Jj{VJi!K8DmXS&Ui)DFVRMRUTcM+3x{A^97IDfycqTF)-MH zL^b9cij(D@JynvZG?0gswly0ZG?S}l5fEBn(Z^CYHk}nL$Ito^ggL9}XosD{Y)hj$GT&iV$eBfGo<(w0Y=F}ZfN{~D-CMh}CQN(-pqxBS zm)m8#t%rJOLt3eQdjD1oWt!XGEY~ZA1_oR)Ob02XkI|zpoEI0yG6v~_dpBaa(1r^W z!CCIJ+mO8-xpyHJ1p`?;WuCQ=V<_B13ge!;S>z_TKA|-lLAKoauhY~N#+lw2oXLHh zQRJDgSdng#`|N`286;@`6&Q$TISUHv<+`=btoLy&yR+O`gJgT~?p*WT{9O*{A{rm; znOh^zFE(yvkpYd%B+WC{V`onrIjl%(xwhk6Q=#Uw_TCxc zuHEC@e!{5dH-lU60A7m3S$ zp35gua=AvW4Rlr|O`?C|3)ckO^~}{s!gUJMs(LwF7ZJ^J3~GV7Sr%^}N<&=xgURmNWV8tv@KdNDqD`>W?P!b>e0 z9Bi{UCKjCWl-Hkpvz&``JFLg!6L%BGT$kIV&rxecgAT9EiVi*=J9;6V>lt7z1UXnl zJ(xHlXPBr4h~rYI*OC<)W;~FzInK$p-c(+hr76!NH;ajYZTnSmUD6>QA2B(hybyZU zq33-(*Xt=OyjOF`4-l}S>%oJ~4vGw}Z?3MMHIRh$X5B7TPX`x&9rsJ|RWOz-t0^&N z+;LAIwl1}|rx$sStA`MAzXJ1Jf6U1NZdxQkVwkYg3?QA3tSCV46KZrxN_6Qr-O^Qb z=aIFG1w%Z&{-~+_l&M~(Z|_zG{vV9Rf55a^1-4Kiod+9s9U;&MIAjw40Rwo-%`t48*Yn?l$e|1LS%~p< zjpQ5Zof zM2#tXs_?|724qu?v}PJgP*|FB?KQ&D-6z1di0oL#%h=p3#yZ*K2+v8xWiVelrQY;x z@8p>C5?J}+v;Jezi<%``QU5~o2H895KzSj1=lEjm{GwYfw;0O_<7b^r%t6{hIaPH} zOTeUWZK*xeJ3<2k2XZf(D=-6~`=S8V3O*)@kO*dWxIU1cSa~ilZy?MkCn~E}T5J<= zmVCIf9eKm@=vx*?1}n0p=@GxNRfvu*(N#L%gBF|K%9;z;ES`g0y9JyKV}a8sdqd>rD>&GxE+^yJTPISOYpNX$_?#MbGdHX5a7R59FTr&UyK}FrWdj z5Us>{3b7uzFjZt*g)pJg5pJQQum8032B07ME?7m4@fQ7voe=u0|NJupx8;QwBSlN4 zAQTN?(GH>ZOxsn0txj{N<65k&N47eYXtJuiYa+j#h5W0N9nktDfTa|MfM#H`0~pXS z1k67GlG6j;HYRd7ec+o+)CaXE5%vUYQT9<5bk8QR`s_8%%=llu?4m-jVR{)UUHw!d z{7EQ{%PRAftX(U$w<F~Zq$e;SGS2sCw zvmk|8&`SVXN+MU_IE} zHhvYLw}fHbXmGxg6n5LdDv`xl)lFM;6e#^mRmnvdCK1%vnxPw0!|cC;+LYMAdhpht!C-5vXG^*-mPi^E0!~vWCZUr4t=_q z@4v{i8{nu$osVod;n?@V6FQsPbk7c8vOCcvzWvhb;`J&z*t!pFb>8b(OZ%i;qnS3b z_Q}czw{$)k<}3mQ+nUWtBO-Pk{Wg)GvDjC2&P!N^$~kbw;F;v|LsbEv4y~p3?*CCK zS)LuhvNB(oF9EFAjb9SSJ}PLgu154H+XmiH0z|wS{crnGMl{#9D&CLD^I$?g!TwTVZz^8#7s2{_9<>Dw z)qzg-gx`#ot2earGLLG^9;xvVcLd(AjNUG;vr2x!LWW-{x@@fnR_;0Gqv^)2U|pP- zA8)UxC(Q<|_VPlzLq_C5ZG(%rkR3&OwlSTFQXnIhbJCYw!bXFMK&4`%P{oD7_ z+_US%&rHMWT`vJ;)e2>SQbRhjpY5P}MFc7!?vWPIkp_dzd$^|P&tPjJ(|Phshg*h8WCAtX-bIs|jc0o(GHe$K{k!rernSusdf;kBII z-XE`PJ?LvU-E__|>OsDbuTo)JzTR1r!8?PJoDK(ejy}~cn@ydkWN*F4yKx=As~(Rl z??)1oGcA{*?#4`%Uba>?Cm8kwJ<7(@!ddsiX^?q2J=S2TYh+r0U2c5)ohWyIJuC>O z_cn5*ORa?kLy!dZ+wDgKBSW)4C(bT;Bma_DOJvCyVSwH`N#Tm)+7X_dY?TC$hS5mx z_~VuF%)*0iso}TG_(;>NvAl=A`)qU_9@ZubRF&2klP2 z&&~MGA3|C!ONMdECgK&`*{h~d((iY@GJEySdeH^OZS_$3;M~qE`JkwzC2gZR`*qJ7 ztXua<3Vw<9Gsi`ohBDoE&M#E`mrUKvPJZGzBcFpB+zhM7r``IWLdqgDOMiw%T8;{R zdL8lI;bk6|{({JQ7|&@xWOQ!Dw4#hs8Fba`R=)54nMaPLv&wk!bp&6TBgF@z-+usr^|)p2Dihn zEBdQn4n;4kem;+1Ab17cGLP#oh!}z?NQ>VnOen%Yh|$xPg6l3AHx=;_mOPwf7+} zfxsg2^us zq%M>~OeS0b%6DR)JAl zM|zB`Jh_@2+0%Tnu%z@AJ3I*aYtG#UZkvnIPXDWCghEZpdi-=6700k6Ics`GuQnMs z8m-xV|9Rzry0)&8If5EgvYS`V@G!mUWEv2bYt0Bnc&tpe3tcK0fH*^DVq}jwcNpic zoma#1|Kzb^Sh?JCHcj8n?Zte)Z*7>7J|$EqwwrL76;3d*eh{_^5UDna;12vDU|@qN zpC3W+Y2!gXzrb=bb*fvU9Io}4tM=A9;$-9%ah~?wp0$Q)>ph%pA)TN^TxDiYUL108 z^{NwH-GeAC)ClcY_lE zFlxRmw*1AnLL}+{zF&Z0u)J4gdx3E!C;q;Z{qqN83MFH@TNQ#YenjYpWKlu{f3c(@LewY43h(7q9&DZ>^PpX?JY zj^+?Ti{5J2B3?$pOiN}8bHc*O{$4Xaz3Y=@rm^WmSXU_%Jpfp3L@6S(s%su0TG|`l zO%ZfJj`ZR9MD5c|lBH~}Z+g~Meb3c&k;ufwc|k`y%16q>pdiaDhp`ZDm-|qi7DzVN z9K=&U{JKGj++th_*US;3yX4ij9&8oDuA#e>~Ijf z+{g`%qR!^k@*WWLC6KGwFM#3gJJ#>|Zq5X36EPhAT|&b-gaDX%(yGsE03s-qZ|g^Tg`n z{Scsrp({rN1HlTG!AwpE{}nfH#OmIS)|u7SFs&@9zh0nji#QX|>k$9kPM)gbTbl)SLhfeE{B;#O3A03=?SEoiPqINs^; zDNXtD)sXQIcF;-)q@*$t|Na*`sB3Dc5cx~HeS&y`h>&zd>awfju{xI<;# z&D2gAd%4A(NY~d@*J6);qTdg|z}mKo$-`bCWd1wXg`Zi$I)X_fW0;ns%$O+vC!gD* zKMS98-9A(Yg4_W*c!2)Kzzb~`ZxT5L($uAzx3E>7==WmZm(jRd(C=~?sQObRRRqM> z&HaMllSV1s0q8iVTTvs(FZbU&Dilq@0(qlih$L-MBCB5b5?@e#RjmD*rSRL;a2!-Q z@s!`JMRah&K|jgkDz99u%n!O4kcwNjG58)*&2AFlH7m4I}=KqVxVsdVjn) zdkKiBgfno@a_X(o)m1u62>r)U>p$%*xQLtgNfm z?N+ys_sjPW;0Ji{c*EqcK%4JOCdE45Fs>XF; z#z6!8W(^HoEEqsomK?IN@_avSFBjajp=$UBZ_GS*i(ip;xbz%u_rD4*gD+@5m7i@T zfrgM&7#)BerQ*i9bt)pTA$b$WeK&cgUo4wwCSDf#dm2V|8okX@0)+tXLFj|j1 zE{E0`0wPYyItn_sNjoA6IPY8-USjkAw7+w@UdZDEE2N=teH(Evkdvc3ZIWH( zBlWUCM(a^O|Au&}yPylb9A41u8oB?NS8j=Sy<-X2kYkuE3b@zD3=0Wo?&5b~d$`zd ztxwL!EkPXI?Sh^SBWfC!?s;vM4EM~qrnIA6pf?w0)kZuHi-5b??xlgV8^0>Jk6eyC zkM-E8NNa&A`EvWe^EEaKT*~B3cBT(>p|vSTip?q1TPXV%Eoa2{lT7$Wr`SlzeSC?3 z#Rd_IysHqup0w2hsxGLgf+r@IXe{z29zfu`L%Jr1L$W59DUIce#n(x~q%v5&{lUcI z%EZ~lo!~fw(nh?0q5Q8UAi9wS9#S#0yKS0MMp&%l=pe8%LY+?ey(|h$1c*LdtT?h7 zgB(*rgV5U&N3(EVo=<77&#P(n({YcdUuXOTZqCm+mVkoi-iEg^W8gS|+?1Gr0S4Lh)z z%Wam3%5Lyui|M$$YBde^{HlTcb3YB0`npJ_AY?bvc%w8$~_8I$HEyKs3rXspQEl|x(PC40Gqp5>Kob~^E3-G_n_J0 zy5adwgs1MNWWb&{V77Y%Q|M!*_POsR1;;sY-4`eo2Q=LG*&&U4qAPP00(ST{TU;;i zj&TO=A%#Wea}}-Llz7+P{iEu=T0`>9^!tY8m{$WDzevyj`%%&2~ zh#u)u?Rz@Fg&ylkycje(ru3YJ{N6@DCl+>=dP*;b%og4<8}}RHL;uGADXr}n6iznK za6-3~NS)FXg`iwqwY^w=(qMF_=0uJtIIplarJyi5=wFX>6;Iucw#Xg-F_*$Ulo)zP zS~igrHz)BI%S0^}cKMc!LS;02o>)A;&XQNsG%%QhjVn}ORZ;7$m@)tXLenhpz-{C^ z=Ed_iC3~D!9&O8|kMtJX;pe>YZ?+{#A0d$#$<9|N7D`INGRO4znwHO5Q~U>)aO4lu z9K(5#SwFjX06=?F)z!8fHw#?G= zYZX9hp~QbK>10LNw5qwZoXz~|Vju zr8(uPvE>%IuqDoJyAY30hd${9?A>meJy8LwhfWtW62_0eg*-Hyp$(jg)oe+PL$lRe z#A>1f-|INs5BjNb*dL2>+dB{MLLYrP=bAE-_~REp?dv2}g{G0lX>aNRc#MIGtyC#4 zvDU09ej|c^DEMeyz|%lvALD58E5n;R$szW4!Kb0}>24&ed?PsfUMST9;A-B#cY#=} zoWw>`fF>Q$@`xAZ*}W^&xr)g#^~f=0E&?lcCiUG0K9s06lhTI}O10&A;eUy}K}ptN zlqJOUD@u)C`J$5|kDys{J8_{@z@^FG707B#&^fQj7b5``8``OlrVr9T`L)onnYh13 zmIoI=8%`DVhzaFgY6@xZ6^?|!r&P&SUY&Wo;ev{{Q<5-Na}T}GN4?n#J!v%F7cPpm zHiC4bi~LEA%2or)qHU+wW9hW;<&=pN8MOb%>vqZtN^QKfxWf(8-Sv>(#Btysf!hPn zL)W34f#mz@EtimjZq*%%#qiYRgMELSrG@EL!fN~6Ku4A9`xwbN1=06lCxmibWZev$)Zf z%9JwyWo4oWi0uWaJ-UpRU8^iEU@3F5d4?KeOmUp54q+=v!R_o$-n^t9+4kxvtS-+Qp9j82u*|_O%z~w5GEqaWK2BoJ9S1Y0vS2FKi%)4UdN1Y?svWKqLj9;qMpNTCDm~eCkir! zgS!E96@Q}$SMBco@80&huUD-=rbUAYUyf48C(m=Nh4_YlvV(#XF9$|9USNBRGbBjprb+iP zZ26@2)Lcs3Wbb=7)gLm*6mWd!jv?y~J86uqyqxjYvq-x1)F()ESuGjHbLpz zKHE8U*hjgFBE)WQl1ry}*O%{n5cDn1`#zC0{B0e$-dCs~7n zr1dZIBkj`V@zisSBQ83Rs7h~%-c;=Ky>cVRs?yxcf8oCDk)~JUz!!6P>EG@i29mv{ zN%IK*7UjE*+={~}s2@5x3D~Hpfi08yDT;TGdR$^omQud`uHYwbfdtH5_)fX}eYP;A zpJrbR_MNrgA1+cSH6dBR$QK-2CEh;`ew;{Pbqhy(6J(N-sV)QvUWjd9E*#$30;p~* zq`_@Nwag|*J+56~%QNbqj@KFh6|!QRbj%mEMHC=}KvAUGmVr$hPDKWm)YZO&d~8Tw zp};(-*ubbxJAF^9z;K3I>moLHLd*Uz@3YBE>aUN{O0K$Q6;v~I{6z|!4v-V1|1@zr zWEQdkG9RgH7AeX9hD;SvW{0Gn+r7;#ci4j&BV;LM^x?D0htbO(z_dGTrd0df^T^?H z*cf#-S>O6GLL1-!J>zdai`zv=v~ye>O&UsTPasL}5R9V;U++)7hjA`MD? zrn~=oez)pvXcSr^owA~cfJz2@p=Y6uG9*q^t>K$y7lg7Zncq<}G&G>kKL8eyeOu7e z*B`to*WjG;UOv@cD43>Xd#i%16#44SW`|Xch{XW{TV1)qYW@3-y~PeEu+{B)Q#{OZ z){DWQl$sgC;7j2^Fbq>c8dM*9kU2hHg5MkUJVzK)RHI?j&sa@|mMa;4czpej$+D+= z!p|hkEDS<%wWi4sO}!2`Ir5$6xK`fmv4>p&g-clmOd7P*QqXYt*$HhAmjn5*iD>7~ zKGcA#jF%#&0^K;G&dBEiR^p>Httn;1p?Y@LVHWhlxlGgX(-c;!F;|C+Fa+>%i1qfHmlNOuKLfvf52IPgdrie zg($By`}dTe^R*1Ep#+I>hJi3&(FO#z;e)E$hwD+CZ45=P5yHp3wkw`4`Dt0K_#)>5 z7iaI_A}W80NUyr>MUwPc&^j1GFu}%OcpxC|r(vag_1Aa$traP^v8_?b`BSa_{ztou zVV^gug4a)VH$;5<@PJRfnv$GPP6>k^a9&Be&GWH^wqvX~;#DPg%7QaY(QArgIuz`=c6P&I{WY3 zdfgn85?ypIq0LbL71sEvj=zfDux{hg)KfA_(U5c~pevL(ycpm(MS%_l8c?B{QIu7T zO%6r7g2WNsX-!?8uB*4>zW||bkA}p`#SGg8lkWOfc@q-i&pL-E=O2eXp>`l@NavRU zwzvb?Pve`Y3AaJ^Q^orf8eNzhS5WIoW&6MU@R-g?PoVL;Jzqw7X2EXYA*+x=+LNza_hp0PI4wS^>zJ z1i^OoBh+0D2s!=8LH@)}Cw92oxjgsKt%?BW591X_?46%caSu9oo*%O>tFFkZuR->N zX%owm@|BqVP*{rqqXD?By`>F*^1LnM-gmcA-Zmy101i)UfKctC3-&=dI7TR6GZv3v zr+7O0{d}C3eVdOxnxtsC0FpCcvJPot?Z01f-MeJ2l-q>ukOp;V_vPXSf;$J1LhHWt#P@{Rf52&WBr7M(g zvr|Xz4Pdhpvg8=v-ipoq+qh6B2i79Rm>^sZUe0u5SbZ$}IOzIt?TX|ZLci!i&p3%N z<&V*XAJ{ais0UOH;%60b8Vxi}Mgk@#PJ*>I+^u>^3de*QUa%ka&8rSCfkqw0M{on+ zwqp}MIkoogeZqqg3d4xu0Zf1x2*dWPIXb{?(~=6_S9?~*C}|IVl|o;PtZVshPGgH8 zH9FmkeUy30@e?0P+F6M4rB)jDXd7TPR6O{46HlBpD6(ynEep8LjR&&44>CRvH|_Mh zXpI#hi6C=*#(cZFpQrBooZn=PSkbWI5`b6@EIW#OfF1qvB6wvA6vd*M#2KzAHgt1d z?TdyxGV&wOF$?I!is$m47HHx!iMMqUSXXC*-n(+j5Uzo5HSTHR|Dv)rt1DPR(1v)FFq!GOEDV1gM% zTZ2f`v>0%S@izFKLj{w*=eLp7;KT^^g_6HJ%?oq3lTJ;1Fl=zv`0{**>DC(BW*sw7 zY=d5f5pxnW#AZmd5)RmCN{h2Ki{ zX6w;4DX5ko@y2IBFlRu%#_yxsrt8sI#*mhoo#BV&s~xb%Bje=#(_sA;s?xjuR~mnO zf|{sxdD>H`ux$1B^oxT%z0CLJ`b!W4uM=F1(q#x)N`+bAIQn_3aw#&VY?SNG?DfuD z|M-+CP5yIHoh6TxBzx=2J=ckEl@OBVkHY=weWq5gRA%{m>(4wmCc`aRurRdII3 zW;Pe@O%*v^Fp9NPo^RK3i_J}0t+I00H+oZ2>3z{?FaQnO!8sE_Bwz6>MLKOPYL^4n-g!Q5E1=TZ zNzNYh)|mgP=D468mvAwm5zJ}@O6%KYWk7w$Is3Y}v>zqdL@}jw7-(SNzF-cC}@PEjxR^IesznBMAS$Lams*t(!Og zmL)9?s#j8aJkRl<*)sxxSfNR%c1bAI6S@Yjoidr_XA6(=qLnR@+v{f>l06B6)mIRm z9?qogdOqPh>UFTliQlW-CLFvaRBoZ3Xaja7U@_=7kT(W6ChP55frD3}Vz#NMrSR}_ zr;}4M1*Y?)2iy zQ=b)*HI3irtbYDlOuEtW(Bb0CbK|5PhPy=;*tU9Ih~}JMHxe_YkkF41Uum~@$4j*E z$IPl4^J4lES#^ne1FcY;poPO@ic_>QBi9T@Ut=`cgKbno*M@eKp+?h~K^zSuoq{Y& zvs1{bzQR9l$&EI(sW5=QjHD(!scDoH`QY*k1{4DtLv@HXwpLp=Kit|pnl}zdaVN~z zw!`As7QC){Rx~bOTHj`N;O+M|&h#q8(vvQw783>qiA7P(?%GHd?pJdCUxr-Df@P%HT_kY;c;S#Y;~ft zYDI6jsYCDUy2qJ;?^^eN zSF7MF5?DnMyhSSaIBgHpPwuhs)=$n(&VOuVz*JE!F~4bjj@8A0#?1VVoGnv zyml$f1=Zc_pR%g9LESw#abUgujYB>N(xx3;tlJKLy>`hVibnx(3x2)kxx6Xje$q}Q zzb}-iX(EV)_LMLToyMwGQles9a>=`Ag*6Eva}|z`x0B21fT{C-A5rRp*HNm$r!MVX%Hob z(J40r#V;Q3-H#bV4M|%&faiXJ@RulgGw!5CfM#Qd8LmB5{gqWB2e-xZ))ePpy>NKC zsudY-q_q|<3CQidbPk1475Ae(sUaSyyX?yS*w}UQ?px8y)!q|@71V&NOL=^auR`^f zXw@xe!o4xtYGKxW@zK7tD4l#0^p6_n$;C8Qwt@Igh{Z zgDQP>X!^_fF5B43`dGU~U%StnN3#yb4o%rtsb+94t!x{RV%FLMNCRuY<_B#SRKDkBNMoI##P7Ali|@G zMpGv#9g+j+uTGG-#C2!;dtlv{!VBTRrcQK~-+EcV8;Ia23N!`DlVYM0%9jwz1a=Ao z{z>2!7d12G#XC&@Wc%Qbl3*sfOZ$9Ldq?eKA+TIwQjEGpL2)RSHViO_fgep#>;MPo zoi%D(-|-AzZOEZ2>L~hKKyk$bDKiVY<1PfemaW}*mn|fl5@YU6!$`jWPf1>fV}R{v z=_RiT6WW|TEWK^s+1?ALBdEQuCHDFOxbX-$J1L@R8-mP-$)U82<^P@J)!E_KYfKZiJws4(!2dB zutkB&pu1w+XI-u2lN(nsYYd!8vZ@)m{oBK+20o?YJz-Hd@9Zf>_a?iJuxtIX({2{3 z3}<#YIq#0}uu}2RngDjvyR|B8KW~$*rNzFMfd|0uRop9FX+KUZaBEe06ih`O+^I&r z%qKtayqlF}=t;o^Fc2%GS@k9&2dGS3RoHA+)MW2711j!UE_(bb;7jv5Z8FL(S|L=Z zNEa$9jVfBOl|#t{&R7S~=b)`?u_^_%NP-dtfE&q(mhX;WT^(M$-kVADO_(i=oSp2c zWpnXTmUE@3+IdruI;u*pci6`VWpCNk{=$K0hLm{)I%}k}S|#PmT5dScvMid{P)7y( zgPzW|E8`B&7J2Copit?$QNzNXJ>yl^nStu$kh!)X3o%TRj$Jtzyh&4ijtu#EXK$V$ zPs`D4(=dF@UG71ro}e-Zz6w*7<^(Y0Y{ zUNox8Sy4&p$yQy*FTD#Co*zvq7F>85I8<1#oi|4{M(PB-VmUf6?f|IJ`9S02uL@@k zz#p|I)Rh(=o&Aw|yDt@}DqUM z|DVC5Z4p+{c(cw_@7yr^y z{`if@gz`ZA3B$8kPrXgX`OR*RTNQiNHfNDVWT6SVW?r(A_&nzf#fI{BK_Yq+7pq~5vU4fXFU zN}sOS@m4j^!AFpP;(t*P8AgZ>N;F7#wcz$#f>CMmi^5->PDv>)1(Tn=-`ERK_x5uh zR=(fY(FEm)<7E&pfxsk`f!bs#kn)zh_0$I0FG|?|{FnOAsU!cC{Q157_vJ^?%daE0 z#8RWR0NKhDL}Y+FURGuBa6Zwhww~Eu68Y+#abIfs;=CT$?_&`_`L)K{e<1QiYlkMp9&;`EO@3?HSdD?>q69;?psCh?q##+UbnxUCD44YhBtyHWl86~ z4%hbH^~QjWU>PRhkBKJBSVrGY2s!1^1-vTRC^XAX;q7G1{hrd{@aL+leGy$o)4t{N zfmurz(wpC>sC8!f;45v9%pRp1GrD2vf%)y_^)P*-Kt?}srbN-Gqin3kkZ6AF*T4V% zC(mGkum&XavADr0;vw(o0*zzQ6d)K)$C1JM9_G~=-ANV-`q{F^<&m_dXoP-zd{Bu- zi(N>zVOsZ>%DW-7+GBk5dAjqQx)fbAS)dhZr5$z!9p>UHFF-JLh35X#3`O

  • %(=Mk|ayK3or0ZSAVpP ztENsLzSEK=DhQU%r;(>hk3VT`QzZxX3urKvS_&2ZsTDV#XNNYQP%DkYm!A1IzQ%{8 zqd0Qjdc1cwvY9P7$-q!#)g_tC?zlD-sUPvapVGgLYX-!-{b3KUD9R} zy)j~k7DuPCt>$8DLsPS?>#oiS>1vpp1D(8d0r|B~I=@Fxm6|mV$g^(|gXEm;!a6lF zl7tgYyE$XFq#BV*jcSr;>>uS2`q+q4#h25{N)?W`CX~ZH$UoMpDVkgYE2#Ew%CU6H_%Iu1H<>w!<8eyC2{5v`Re?_<+(f&x@>$^(^w7Y^WZ+Z7$l zPe$WCgt%inU+y-%;uf0kJahR|(7D%lo@3czK4Fw~yBX^w0J9iWH4gXkhb7w1@1*Z@1Td+|r<{;%Vv6l9YhAVs5$cZ@{2Ro|Up!l0) zgn|XTRZqtX#vnmee*+!Kn7C&BZd)c5UwE{>2(vHqz=n{DHUEJX+KR^HllYRFWkI2h z2Rp5@xkX9#xU!Qt7RgY!ykgHYLs zp3A(Rn3bR7-^i2yu4feB>WNAA>Q+UNOMRvunhcJtkgV8+XoT2Quej7ikio+mbmWc9 z)Kw%!%lT|-foV8GVnu+~eF!eHxun9yexT*3r+eFWEGET)*B8{mC+Pm%eViFk;u*<4 ztI^+}>P3Qwk*to~Yb?(Set0?U1k-ZS;t8nrm4tMiiA#K{pl=g*vl!jxZ5%zum3f;` z^r?NV<3PE>qqe$btNU}r&I*6Lf8@Fz-OHZ3t^UUBvC}BI@6^(Th@iK@&~hMpPuQD- zxswC>%rXoc!1XuiXJcfC0a`nK!G;NnToI(*+zFg{V^!o8np%OPi8kLbWhK1tq$}9y%0NZ5MfcExD~UjTReUIAdce}t$1?uLzkZOnv%%H)u?-m{YpHj zXVB~EB66t@7?Q{ur{g3M9RPqx0mF;=Cg&_l6qlX^YyG6F;jbfqnf3vb`tu3r z6g4J28p3UL8HvnH{Ie{aP5Y0>e}-N`{b=G4v}S|FMHzM5nL2W``YWmZ#m2dUKSLSq&{gwUbhs%i><%bQ& zeQ-;dz%LNfkF4k;rz2z|jHG~bpVNE+?$l;+Kl`*i)Tt+45glzc^wi~jl;oOIAs1Is z+$yx;v)yD;w5P6P*d^)VyD!9ss~USv@0DE7@~SlXkn)#widL`ikVBYT=su&u0I5vr z8s+2q`}SLDfv=6>nnzrBEUd-~6(McP^0!2iicE1cmak~0RGw9x$&*#Tty&i#e+#VD zlTXWqKZ(u9bNL|rcO1q{*}p_H32~}(>s;`~Dq2%O`GJhDRYHp@?j}(MfyQx z;)r!wk%7#9&U4RLk2)8zk%m2~tu{cU4GZY}(&o_x?B*r#-S?6Au%eo=-Wz(wAfXthW(w7uVCFzH*QL z=}&xY#K7$A(BX;3I?Ys~7Q`gAS~2NR#IkHXiAw2rB)9k=Y;k)7vlWy*OzshjSPl4Isdu@cF+=;!~{WcwrD_*2Galw2yz<9DsUrb zo&~GlwhKPXeYr^Q<%U(*91M;>sY?gx&rzIamZxELTx z1i=|r;>ki+XW$13;9TG_`W+A*e!|QD)Cj~j-wm*9Fv>^>Wr%(GfjWmdY3w*er5Jf0 zjIi$q)=bH$&}cCuC2K9RX54oFJn$M5#ijXZ;Ewa~N+Yr0$CC+}IQZ;arLz`M0Sfk2 zHNNkmM(KFnZVKUZ9Ey!IhXVjVU*{+>K<)sPzXDv%43SCFI@w{Iy@fzoV``XS77OOQ z1$#r*Wl7n-Z{V3?SSAkP^9?q;l&L_3yQTAWbNCY)|srT@wd|XM63>)VZWr@`(+uQNlM{LeADWU$XKH1i+5-PlOhou!!F%292eP6!@Kh!52#T&ivgy)KtS^dgd3dKND#YOju4Y=Hp z8A6W%&lK$1($~@*lzYHH(Wlh{n9%)a-3v20`bkO(Bh_#ek+sT(U5|?cA$+gmQ053! zmBKe`pTFZstj-0?SYv%RhZtq!eg>~4(z$1WV#m_oya_uFc7?2fgaLeq;kw_ytk zaI6I))(=NqfMxUHWD5~z$TqnR#t?(BlqC6in6OIgy+T&n1@~YUj1AFc-H6)!3KOZ2 zu?%Pn6OY~n4-xwoEoRcIcU{G6TeoRL$k6>1_qz+KlW*+y#d-$gAbKQtu9<;fKTw$t zauS0_@R$oSpIOBC_5g=%6)dF?&CYe97(RJ zABd(hh=y7%{c%uEo&bdc+ur*9Qr+5ZUzQzsB zr!L*ONOwi}KJxsFOmu+S9MT%5J?G+qF5GEh6Y^y`v4U{@*R z09olSiqB?Vu$xEUz9?(qK)f13di;|j7}-rRDH&c1C!Ki)zJw8+g9!33T!oG@3A4~hu4#LVK;&1QB4Ey z{XzPa0;4T}A|Oa{3xIu=JP-s_VZaA>fk z$w6AqZ8QZ`hdA+-YHK9$@+ZMHUR|f`JksK&d)YDN?6z{*PXJT^!q^;Ie!{*T3FAE6 z#qC$njfuVE$NxJRpbU=G?+01=D_A_hwZepCI+;5w_ z#m^)2D{)$ecwIjUPJN$FV4n4aii7LzdOq!Ew!IHx#xtoMTWCoKY%2psAF=+;^nZFMy`iWB5efA`W3F1t^(8 zb{?3{K;tOYYDsJYFFjB?MzmIP=CYcU=V4DDm|l}%ln2P7LF6EbWx7cDFJ!L}4K>^< zz1NSLV91G{Tb_N@wG(Ux(O_ynf+Xs0P*PF!X z{Vb;_Ll~%ww61Nz^tWU-MnHNaD6k*7LPvj7#N5MSRv6d?y7Z+OD`jHQXRz~Im<2j| zLZBKhE{qSe9k&zed`3W<`#CySKYiE9v(k!_c=h;_gvn()S_JUz-2j6?;`MU2D|sFZHY`0$b^+ zes9}Rg?()fxk;4y!2U$)G?V41Br+86NV;I!Mc?(!g3>L8H~rE$myS|Ma89PzWssu# zC{i)=QWpd9FL*=c2@P)(-336@-vKbTn2J%;=6X6Hk3&ghXRF6lldrtGkLrEE7BT-t z`e_v1_>jf8*&Y{D<{VKt3Nnp%@VTUSchTD^05}UnRhT)>KW^E#3K<^tIbsI?{J|yx z86+@-^_@)bT~|{tNCKV=pz_5qv)sWKjo@TPoH6L4d@_Gn@=?`KFF79Wv~$NO?V$khe%&p3w=Wq(?IFsrO=QT-J4)pLT^K_E7Bj^)60J%xf_$%n`fneH~c!WRT zkw7uYO-rNh+@tYTQ{WJ>X&z+}hx%fHIC@cuSba)^K~Qh~bQSPv&>VRV*b?r$XS~{s zKYyRfecvZu9u>=>Ew%fA2*5+rQtE2#9*y`t@$ejtJD+1e)IYH&yTW7@OMMS@$P4GLQ2d48)7>MJHbfrYpHL=_*IsLAXYW=ktuZ-w; zYJ2jOOv8u^_a07;=LKAhxSIOHBK~4suTM*gPvjD6$ta)>)U%*9QB(rP^gfqnl?r;e zS6M-W@yUXjLPgB>+M~@{J$rTG_pOC!gjH1c8pOhCfY_ge_wjL}{;Ty&2&T|H6quqU8K@A&fg!N-RADwrM3tQlm{V=PS9=V^P7wqV|{1=?35;E^u%JEu64#bpxRkvNv3cS6HhnYD?%=-g*DhM=*^E6DB7M1 zuK9r>I@T=@EqLczk|=DWQ$ep{U5nr-Ht?9P``t{#`OeVB2W%4qcXykVDel&?IKe7}X~npIhQbEHrEmnDwR8F>0E9MJ0RH#;PgD{K_+52F%+*$Z3dJ8V<7@M6 zv%z4DReuA$LR@X`T7x%gkno0KDjhv_uz?HsZau1bKUFES$M}GZD2gQz1yTrQP4K$6 z(A!>Dw~nVWrNmGIeYh<0J~dvkv)nNiov-MX6I*=NKzoDWTkkkcC?SB}7=)$vbX42M z)M^!@5O%VLmChPhmlJntnh=(gp49dlACpuUjGp%78E4o@0j8<_67ud<-a8>jDFbn# z2yFqeGR>ZmbyN%K+7-`10R}>ohqMo_XWLL{)3V4LJT3;?u!eC&o4>xy^?eGlrpzzL z;TLjF$M#W*{Rb|RhN@#~Y@AM%?g~H;+^(?I;wsxEJS!iJ#8`=Up=330fRPXKI^kFO}=PqM?*c66e${P z01g#qyf?T}(uauI0h`J$t$80uzNEtW6Ia+6{c|H)SR)QA?RA}6|K(d}|GFX%09qES z$RhtF5(S0J;x-1v8B)s;V@a_R<9_iP$_%ssAqK3G#+;393^xRvR6`3JUcE8igyGGb zk+)jpgWv?!&@Vhe&|3JhenL}%uofS_Culx79|ZoiNgoqweN?)r(pPFY*^w03Hq{|8 zs?xqGn@5ui6zA#GwxDoM6M-vs$ROA9To!{)8_aXtp+oL%}YtZm>#{YIjKZs>}U7`b9r_(ag5 zt4414bFr>*Iqp8z{TO(tr5j4HlbK5ASEAJYiTRJ*epfVE%4|E)oOqLMklX;lI&Ad^ zDU~RuH8d!td{-~^qhKnes|vS*IB1a+O3I{7y%EDS>0~U8!OjbX?bcuG-EUD7a|RR$ z0F8Ag(wSTzt17k+dyMAsn?%uM9e!XwX4e@K72Gvn=sEvsuMslh+-QRBT?$IOB`IIl ze`HyEt}3C-&z)_l>Yh>m%zw>u^Mb`7C|}JHvUdnunFrSAm1xC0g*xv@x`vaua|H8_ z8dDo!v1bPyPE87h&x<);k*3;QYRM9+T4B&28J~~fYS?7x?WR*s$QXIWqPK7b9|>*> zvfBc)YDZy$8k?lb?n5#G&Y}nqj-#nBl3Hrk<=1O2H=lz zmK9?+J^7yMXq=_PS@MbiW(9a_|1KjWfhlHzMQmJP4w$EIQPLv9<*7H4NX5ZcC0%bY zg!nPNT>C=zz!*GZfqQi6?-q{z9fmvDWvHT1?X46L=?}<{dkoNRO)Zh7E0R z*W%dBdrw0jRtLHC7TVNGig>OFO^&3V7krK)gO% z;qMr*xuKv?EkSz7(iQa&HFv{$w@1Gj_AhaEH6NZZG6EuuMXNFB4Y8U91+l!{6G#`9 zq5B4Tey!P}3-R%?zgWen(FE_)TIj<(!W8xbq{^lTfHKVP7TBFbzpRAzLfHy9s<-@cd>HX&`E+@IkLC9C>dzr!x_iF>7 z0LQgOtT(49cY}>IqjT^gG0YKAiJ7#7cg{tZ__S2!snXftKy!++NF3H#99+N94J4Ye z<-bzu5A&tXxf90H|C9A3tA?Y*Di~*0Kd& zcmIo4+CjOx@xDC_;Y(AJ>fsbk0XRE{rF`kC)=AYk?}2r$hU!`^wckT=#Yqk8I}acL z+JINx_K?&qT6Szp5RKD8sb8&DYwbH`J^cZfFt*Z_k07|+U&~zebMXsEw_~R3*3V8I zVt}|_R7410vUOwa;nSQ#%ST$O2___Pcs}cLZmg&9-^ZOiD7c+$4)uldjEdA`xr3zmp1TNd3{m6N3x~8hHNPvJhpxM zdH6erF*)N)5_VRBXSlRys#5RPi!G<$9{3A2T59rh_X(6ILJJDD7UOtN=VLUaT$9`p zwlRDGW*~Jq>z;7#57a6oq2hktqB?2l&mTO~V*scP3A}HUqcS9J(0K4L(PVQH+mf^{ z2x1&o-|<-0L9M&INwIw=@X5XEyaw63z|?DmQL%ROG#5MJ^C5H#VTfKzTZtol=j<3& z%F`}<@dsMZeqM|HnP(jOpLag<=-)6ENC5|T{qGhE217Y#$gw`A*jk@E`F#9VlRvWZ z)~bvs{VewCG)UvpLCbru%AaP$K-s@v;rvgvoZw$Lm!@l#5o|Zdw8^k2xOLas{R+oq z-3;oOm($)_VW2bZ= z@txVRbi*U6f|qUTRK=kP1a~{ys4IC8y95apV?T;n=#fG4@(m3G&gEx7a2!x?oOShC z_GeI?No8YA2&cY9XOdkqtFP?@PHWsoD3UueTa(5sxr9f zxl(7jVTwW!wQP<8eiO^a2%HEw#1n1wdj4M8hI9OTp64s>6G|C%1EF4QM$zJ;DEWy^ z!wE>PeM5fu!)v7x-IrvVq+*5a*jre7vn^uJHeP|Y)p_Kd;u*hP@pp&ctPO?#mVd>Q ztuAIArzx5tFf_Yetez1SAlKMVh|*GRGb_vUYRsix1KZV*z7Om?ltNfD7vJ*0_lgO| zI9mG^!se@XtuJ6B=I$$}#%yvf+ve;kp^ATBMx6ViTRPKlY6u*4ofF*HA98&pe@owa zzK23|w-Sqpj%R;=06J2gU;R*M&M#xekT@##{$IOV=bDhXOZ1%gY0hAOdj~)x*t-nc_Nb|t+i=o`~jTvId9${Ua#l#@u-2D^Yk-$m}Nf< z_s%}C(1CDkjqUD~+2`bAE6M{@+=U= zQT(e*g;)JDH*SP$ZGYZZKF{2)Ti$`9@_d&8G<>_SIB)N3h%I`12}Ka?(YlWfeWL@3 z{@@QL3*d;7w_h>wokSnk3uDs+k)c2&GH?RqPE`0}roGBNhM%usTqOKQ64DD6_-(LT zEZ-|{NGv2U zG_t@}QggpD>Q)ITvJ-{qlvLRJlqj$cYMYuyoHf#mb!$jx4H1YFn(#Pi90%4Z&7-q& z5y0Cj_7*uW0I21`e-0tvs&0yS2T4?-dRh7DTwyp@T=HU*MwY3|3Xi}o5BCuYHpEcG zh;MsSDQ+6Ht>-ol(1OmM2Ok6C3Vj@UIF}~;HhZ=s(+~f@Bs4zA(p+3P#-R| zZNlmtPpukgMp4m_bzv2a`+5op)n(gXSk>PqCin=0vOuyv-gA7}J9;ZsWZ&w}D5g2#ed! zY_r$J;2!GcH+Q#n1Cg7ULAA3O!aVkUWm#&W#^19?EFgM-0<~dtGVyy-BlZ)-NPH#Lq9z9f9POAGm7t02A!t-B5u%WE!1Jh z*|JJKRes{Z!n**fOWT6JHar)1U5M?{0M-hYT|JiVd2e5~{hEj59K1E# zCWz$`N&;m- zxCDTEfNiJRWVV~JS@}oU!q^S`OeO;L1F~g*p|7@7)6-uV&&Its@2%Ab)gOhlcb(~2 zoY`E_EBTLa22d_#a`hBIGZxsXI@gc}tUoXdspdj5PXTjZrRmUU(ud#^=qx$8gTC0#nEloMlQvlLP7rd7BFCfdgflN z1m7Nx-1lf#E^5qad>Zq6)v2*<^wLOFbT#DhK`1+|oY1EE^y_t2fd)mP`Dprov8*w+ z?0GzG`x#o9!0qhDJDod+OK^x26+FIjNT-|$74!TygOsK z--(^afz1ftKqr~cAB(C?U{5kq+H%>a+3i?&i9+LWOxkCs!n2a7;;MNu=&x}sJO`PQ zhI7e;#6?61ePS}$FqnIA<8*PTL{l~VMIs38lV0jXf#SEpU3}*=*|12;w0ak~kF}8X z6%ZbQ+wNu4`de%PcyHvEXS_z1^mkoCg-8$Nnn^%K4}f2}u}1dER1VCP z?i>J4O+(Oj0jei9@6xN-?y>pr@-m+eKRu<&ED%IzAv zBUO|Sy=k5~Lw_qjo%;YiLOpn9%-bH`Bys)HIEZGifs)?G`* zDn_XplrO&K!sD6w3DwY98jU>?MSRJHv+@djV9Nh+hIP1)!F>1%ubu$bCIQtH+^XI@$OEYQ| zp3So1)HWVz%<3NF)ZHZu?v&s^FED5rxb&^%&+4X-sra(4_+Hk>Jb~MC?niY%E}0jx z5;GML%UoimeE2@~(($S9&0Nngw@7luzSUfBK;pYW7P+9XVhQqC)WNKO6ZyC-eYGuR zM()QEzB5R>F;+E(`20pU;q`Wpv1yx0xe{0&b7V!x7Qr@L!d1VitNPS;3{4Nd_{%5> ze!goS;Z9>GRzv>qi8CctC+Y-0Vq~S}T9F5#4(62HnPMf09{*ifzM6}iJ^e=>zJm(n zAcLM$^OR!5=K(86metuJc&ZpGTHPH{fNz{=rQtQF?a@t_u*C@xJ~psrgRi1DE)gyz z&f<0$>+sLtcTc`1X*t6yps*9tG(BZ^Z*Q>nG#9np9g6QQi1}Q5;GupxWE+)l`ae4j zyx+?Dj3IvZ+w@DlOg=pmWWNPOq8(AK2H3tz!j36-F(3l%h^7{>)B8{h5$IqL60pwK zWb$;UxdtLg(sW(|-fKtZW(QX8omSFT{KnjWM37QyrH5$q+T|4QrxnG4eZKxV@`WJL zUO=Vx?_k^`u^M8_&-}ZZo4A^pHJyE8T{z{X`mVur+3soTJFe3*z)IF5TOPITgqF3y z-w96&SqB1_i9UzN?ZKO89k5%cHA>j#?wOFR8~Mi(^29yptJ0fRGOxM)E$ZgQtP@_Z zq`7XKAAD-q&U@6WS`Zi7Gxbc&w|m=G-Q5&D{8{PsKR2L>otGW~N=}SA`;>!LF#Kh^ z24^{jq}xX0oXp?|zqgRM?8&7^w5@`LWY!qHRLm0w>_RnrJ<{Ep!R;)9KaLzsJPT-7 zWqUt9>umf+${8au>rYqhso7W{ESKoGoXV=I7{bloOkc`O>2eP((dRk-qnI9RcvR_J zMWtgQBJpXby53HEvxm&i^e?p|v&M;+neIZ%8KhyHJ2do$(^prM3ndyBA>9!phYmad zI|}q%T)SexLYPVPT^g^~tIY7olACZ(DQdJem%wT29(C1lo(`tu}lueX?16&=26 z&%X0LYHWHu?&qT^<2}#!CtdW|i^362&5w%JJRVK@2|?Nm@$8V6D8;9H>JqmR&gvAY zbxb*qpe}OVQOS`T$4?7*Og22{@mSnW2U)iJDK{B`{lKyovyiW|2O^gsp>+TsxFA3c zPCA<%KWw@ay6R)A?HWodef}vCp~HZvdZ4TpxP3?g9^_-ff;67jw@C}b1#GWBkROR} zmq+7FtEF;ahA$9CuImmdC{Eqmkf%Q&J@VM)A8MRGiA6YYx+H9vTt&c8DEn)Iu7E~K z0!;cqL^@klWWPFmWyYJ z`(e1d;}b@8J@7`+XAbFp-)lzu%{e<gNzZGPk(ICGK*)zDp&C& zZ@vMj7{y}i@B(60a{jdplhdfuZ9n?Il{y;*mG3`EeHe4*FMY_ku(678a(`Gwb(hh$ zrH>(_Th{`N7EZK^&GJ;R^)eb%P?t_L`xBXX{^U)M&{2yj)_RcLZbtJ`fyIs8G}ptLg;2M1O2b;8@^BhGDIlmEJ0>7UQnkr@OfSmFPBIdh`*zg z#ti!!I6@yHb=rGbLep%D|t`Mg+)fJNBCe0JYd6Z5NRo)4Oh~Owl|Xy zr)+~Bl!9TDyFh%c1WIZBng>%THXorBJ^sUm0aih}@5JYSge%dd)zBSv=D}xXEBMq0 zF{nM&{T8O=5qV&v#sFZ*o^4wY)t_rHE*c?mOmERK7I16xC@4q{+S+ftjn>t7qJ9GP ze`CrzGux9ViAAX&Q>(AfXL|GzZ%U!Ywp2vIKC?E%pW?kxhCc-8u6uM*J$YpzB85xxCHYvo80UdPn7PKs1}?tc zwy^sRpv-=8s(7!+6U*hA<~fnwR<}viM>x1GCU!IddKt8v z)mK%p*fgu|AOWUkjvLn!M1hE)l-uam<6$RSmO;~TECcHSxV|EG zP>tQ(;puLmSgRnNx{js)m^-=JBqUUS*#}yJ1hXeXJ_RzcH}K@1gs!k|fZ++cgeI9~ zox|N+P#xAO&|k^aIL|dvE~$KU6aK&=RY{1l#N?;(m*Ko6 zRG18zc=-U8zrIR4ADbd$wC_Ao6pv{H zSSf?oq*eT|reHFmS}b>iB((5CG=(jl>*wJxZt)( zTeN^sM)^Z|3IxB$+s#nruG{2otMP{8W4$l_&%XI&q&QcDmaFbjdrE)LI4XCT?#0=N z&9{-VP`d(qkL0p*Tc+YtZB`uMkIp^`eMbDguvcyw@l|O3KCo`Kffvc663rG#t+2Vn zPX;T&kaJ;UM<_w9j{s-#f+A>$(h~vUh;z30u;otN2A6qrI5l%Tqj68aYe<1Yx0wZk z`^2;d_f};s2UY&KJ*l^p3EPq&zv%bLvaPDT7ZpCn3+EVV4@il3Kd)}i+{Qw4IS})7 zAHG_c0_voAeqXr$+^X6YYQJ0^Q=~}Ry>lF_gMWmP%D|?j62#?%67{z-#QwzpA-3Xw zp#3O&)I>ny=yV>Q!&#-0a)x(vuk0@b7Vqny2RQ12u4lGJ``|!kb)bz~Hgz^)#NWgG z9Jh&RDuTcSEcwclJ^M4*y~ZB;Tc9kfI`@oYB^`v&w~nW*gJm#fpxhc=n)%X{4JvSh zP^e()-CVb$iem~?=8R{Vlm-r?>AC@mvnStYmg;Hom)9QWeSaK&CD3G=5g-XbcFA%f zz%b;zLJ?M}@V2s!DW$n{r}^?UJ~5e>tpHR*{7fQ&F9Z3e5Ri`X>;y1ZKXcArT$n?v zI5{jJ@0G*E0JM)BJ33UOC?>Aci}%tEq@XF)p~Ara&S^SRgvybhBe193DW!UP4_5$S zqXRqZjCXlXy$JYNXn>`Y+PFG2-rKtn+en0uU_uwa2N#aJ(KEt1`q_=M@3XB z_x^N9m~0}Wj$vEFcb*1st8~vEmmH_7kpvNiO0X<|fh6E+7riyp%Qwm9jNG7J!(iv; z5u^ToV~Z#KbVJ=bnJFP~d?QTjlAEU&q$CJZG#vcKpMw4_I`gCjfOgn9zs}28mqTkj zX(ObL_$R`5BggRk{*o9*v2P($S(JTPF!jRmq`NI4%*~;Xv=Xw&sXrzGLZyKEO08YI zK$AAPG0pc1r++ua_Y>2k*rVDL2r~AntQinwiJnGq>*|J2f#hLlfDB(fQ?f#at!yMJ z1>N1{BQ+jB!}w^1`(AF*q1AFvkze)8SP2t&#I3h#eI|G%#0sLhWtd@>7kSNC<=T|W zhhs|h_Z|ljm`ur27QsJaST``*!UyJ+xu0QGZKY_XBj$+Rh%j&B3#N_hv|_9tfx zvDrengu4M>;ieoO)sx6N$QaBt4bmh0kv6J12S{B8I##ObNCC5*K&|f6X`}mf7v%w~j4Y1k4RduQ zpiZY!W`XZLrpV8$>$OM*DVd#?+xUME_c_b@Be{VmXC|%N>0ms6C$2mT3Icx*7!yU; z-R-mNEaBsaG`jQuVgYcJLdDw4lO7)9yrIg3oo>lHca=ZLlERUSitJJECZ7tj+mn@U zg3(ApIAo^*Hi)OluVvDJ)!OJb`ob=B3BEsoljoA`KJyFe)0W>nlYcsbggd%HgZj!f z!XV62PnV~H+YWt~8D^Kvn|f9zPR<$PJOn8>LINNffo?kuQW!@!M|w)~@;o3F_+H}O zd;$}wwJ5*R?@>W{;4#&|vZi^>De@m%-|9d*z7Bu}y5D*Qy7V#c)4&O?H5-y4& zBU1U+AA2pBJQa4Z9)>AQTGq&(wwPmBtp^sAn2QCA&LvS7F(vx1%pYSIdc#9SgG1SW zj0=1on`*smvIw%f+-q44I-XV^V^?^FawfM%(bw>tG=}Kl=H_oGsk9t{TfF*6^v)zeo;BxBK|C**BXg5!Bqfq_*{{M;`(<6<*0mtF zKmBuKEqn>xu7r$qo6<#icZc;_c)a}`pkn3-cHk;M19WM_X@yD-0tt4Y5f)^GYUM35 za=kjTvlXi=dNT4f@}A?uQ6LECKm)eXH}4td(Xdr6;yh*xwDf7j_Yuy;b2d1y%o#ap zR31tb_kE}iswWc=Du(a!?rHP zDnMuNK_GTu$dt?YQbU6>Wm$$otb{u#k!`Sm#KJjRN{0@fQ-;nwjb_WPI*#JBPOJBL zC7h(k+7Oec2Ju&3OWOgd$#naVz4j0~4&mubdZiy@t|gUQawd;SeaiGKRv$b+>EUZ7 zKATxATI7~M4}0rH@U~q6K*MNw3Ed$rB&T{{vavkBy40Sw$M1G|BqgpKVF6RVY^@cd zYC{UzO6-$c+~Uu;4F>||3j@ZI3)i{GFg=o#W}XJBxV~sQ8pvyIu;9A8CA<6A59I(r zx`NQZmbGwgK=i0jo?Bidt=wXTZ%=cd8)KNY@6M2wYei4EYxv?Lcr|QLBL%%cHhOwF zumZ!VM#gxsH>ZWkfDs!>BuCU+%#(;Vdb^{gMzr@ejG(b5Pj8(D4U-kT!M*(i-%{oo z*j69LMBKQ%P@M7!#*`UjfRzvh`>|p9)3etNvKIhyY3-$P zAzC6su%9LUnZSHc;E?Y7Y&9;ax4iMJMHtJ91|A#kdloNp znPY6(_=V7MK;RG-V2{pY-3&vp_&7b#%FW#sGQ73g-Jw`?yuHL?8uw2#EvM$|QuRRj zjrhOs^}D6<(V&68n%=o7U4yL%G{U0J4|we^&+uUsk7;uBDcrU_-snU8uVUn1l?7z{ z-nVt4hyx#1lD(_7`J40(GUjtugwwzga=b(Z zrV&^%ePgCZza`A)UZmMIAK*^a-t26xRjnkKmwC}FtIKu|vg>?Wo(c$*Gqm9wT6V)G zow8%+Wym&KdH2B&`<&62WytP&)Z)Uiv#CL64(;R99cQ7~ks=+fgWGI3C(1yBNqpp} zC*n?_M)ge45YViR1`JEZuMC|)T(OE|Jw%lhT9VDeNClV6 z9&4^ne9hKYuei(0Y~hA&0z90jjr&Z_u{V<=6_I;?MK&Wn0vIk>Uhds|fGDPB?ZK?u zx9c#Cr{hsyer%rd@F+I!x1Z-8`aa^#u|GS$&tttKLN2;TuV{qJ59My~P;RHfj6?09 zJe4_5J6|AyCMSl?5|e=haY1{N2&2axS>&Fqp`o&o)pauK13$0+-*4+%(Qwht&O7+qa^%?65GvPiIz4M?ch1)-a5$}7od%|9gWV*Zi8p@*+04SU_sOcV*9P`;`C8LQ zkZk8zz__N*(H(KX%wJp-3wWu;E4HKzHZ4mC2uO73R=@oE>aV{DKsv;Oo9t2St{VWZ zmJ!XtN!VUwHszr-z!$*J;4thW=+Mf{qbDRHhdF;GufrDXvBtIvo*G+PgRi4i89P6!8Jg|^?TyIl(>`;_BGErCu&|0zV7-c{6LK^)Y3jJ}0 zY~2nGfsX%UxV=GSVLx*FS0i^VKH@>ZJGrdrp(nng)idGs7@>02Of z9Y9e0c5(8-6(@p=N3LGrc542Mbn^^GwIjSe*+2JXGadhDO@mK`PxIv_`m|2_k$@VDADcgyTEnM`nlmJ9-p9_Bn9c4>o7(l;h%l?e% z>Td&iC5Gsj9`i=vK&hcq-Dq0ZYgR5HE5o+Q^Nm1{mhtiKiN4lAT_;oUxa)zUKp-)M zA8;|Opu!@sA|UOe16$l4esfRS>c~OydEW~GfjR;&6i&}t`CDTMWd;Rxhwrj{@Gk6e zVC`@@_Jz8cnS0s-Q(hJa&c!Bi@VDDX#6eB1$>ePV-4jNk&M7lVj?+8!T!JI(*i6}} zLSL^ajn97-ZMhI$g}Lr(a%j>x(Ag^QG#FNl*RxpY5a;HGO6XK@+AMNPyh)M{Y6x!f zLTT8rTLW&b!mt`dQ!TuB!Dz!<+-?@(Q)Q_?g#9>uQ8JL<8CO z4;wkp8`sdM6{9}ppAdZB4+Dy^Hmkf0>TT0p%_yYEl_m@qy>a(bMgbC1F2*mD2iJ|( z0z!2&Sl}lY_=*^ks#+H>2x~efgJB(3But)lFB?}-=rf$R!%;je+@fpTp_UFPsdZ5%(o_)1qR(Zcq!@|$X|WOADWR!=^mz|!gfYp zERTS_ih0 z$dqzlK*OUpXE6jarSn%eqmV2_fJ$gfB6qZ2fDfn0?oAH^VO5Xsy`tF({sMU)WIit- zq?_|%ofcNWLs;B2EB6nFwUcprs}J1+riT$PfkAG7L|`tnFX4Og;4j->dL$Y#dcjZu z)I&+dc_6jSpZnBNvYPieP_neI<>jHPJoHW`Jx@bc&wyG9t3i%dvy_c@Lr$_xFviBC z+#S6YaiS0BB8KcTcBet(jVoRuAY$5*qW~{^Iu?am*RE#?O{;xhgSPWqYtr+@c1LOgG$`x7xR`{E417Ueg{dOrp zM2(QkgdDYh*ktJP2oKB`gE3+n)(nBqwmi(hqH_VU(ciBXm?PzP=#m+q{=g`QA1VYn;p-P`y6j`KmmaHj zb~@jhD7fTSg(8(3g3Eh=M8qmE^5{;mmKfM&AhA^8a0#xIJPm7X>0xUCxO))bx^Vf_ zDI{(1VmjG*`{1_HgEGBrTLF%H1!N($#6i5&iT~Llc3Ap)?d+kxiZ6E_ty2c%(){9M zJIuTdH8+A*7ij%Yi-=NC(tkdK1^rJC@yP*mwkHRCcSt#rw=DGRk(#0`RfYxEYHkT6 z7aFw~mnTVc$w5??+mX+@(xu?iR~&zt>Nn@?e;;LNK5sH;k3qk%d3@^r9Vj_^7(Xzk zMyb9N_>?ySCvZWvtVBMB#fp2kNdJ_~wQ^E{j^h&MKgjL{pz!zn(%rl7CxKqr8{&3bpV z(>se0{QBfsOfN5fCOL{$sl)`4!0Z)`q9{H1+yB0xLM6Q#^~^W=v*LW`u~qDb5B?0^ znFZGFlU08M!!#h|%PQ47BTT}ohGf?P5H=GC8XKgZrxhW6Xv)IM(D9b4Z3kPQkovNw zwK4#rkFlyRO$%`6y_qP4+W46h?hxj z+FR-Pk4HfN9+g4NUvR;eWi3&2jcS}I=R5aYkVC%86!cq zKLSEEqD2x@E?*##A^oT2ny}8Gyx+cLPc0q{b{k*$w>;=x6Bn~a6V2~p zLw_Ld>{#zG3cr9|1Pr?U8H+`?DU-Yk*k&F69lKW2S22yDlC)FrS_IGuZU@$o(H>5G zb~K(>42M6uy{jnBw&x!%)I=;+bNwn%lah+ehGnGhFM&MXqu7uh#%$qJ;lpr4l@pl) za=7-{1l<-&%aR8>sIxF?x|h(kjt-3vt_e?GAmn!rSW?omIAw&&v(C!zRBauQ8mpf9 zVlEKoE}EV4f9_S78|c?{tJmTuR(wsj<=n(Z@STr`;&Uh?cLh;?G{6C+GEcj$obO*A zF>$)+VQ}f5AE=TJ2X=Ho4$CquKSK>; zaZ)bJ^)n3CyI2T7nD#R5Mxmr$my zCHa7Q!k6Y`Igc9m!y#DBc?hR$)5qu9d!?nj#^J^Nv(@h^B#Ye)(Ub?`CkQy1)TDMA zlx|7?PuyPBw#AHNoFF-SBzIaq@40ASyH+d?qupn2zJ5Ltz`06CWim3a3p$)KB)VYbP@WPI@MHR9Wm)(%X3q$@N2q|Q@90_yFV!A#~Li%>mYtD5AXUuwOlo( z|7zM@G>XlCiSb2AWbn%apF501tqU7%V7K>JJ?Q2GNuxl-3SEbElmigYjXr{G2nO$d z1elZVo37~hJ;32P;Er;@4O1~_%EQP z4stW1DmG5%`BF`_~PR=Of^VC6GGBha5=Daio0a%$^`_p0vW{#cy3bb5`C<&5n5+)6IMwazVvpw`C7b=4K^EoBI*DL%*C2qdLKA}^JE4|`|Ch}ApEVS{ z@CAm4zGbqqm^5ZNyl;7NNdh;zFIkFp*zo!!K$yjn7JK1(JS4m!ps}Pz+!wa6~vw*RvyAWdM&bMO&|t8-H>S zL&VuxAD>V?Hbu4`c+hF9=!3|L zT{^s=ue@;a%~%;^kWcctYmBH(E8qL(4A&j~46$vv36$_9f@p?~37@OCI=PmY3TU{k zcdQ^?1~E{mW;NJlF~W*B1p8mHFsrh|=1*pszUrs?Ri-3iDUK?r+T5hE7=7{{OE_I+$7X~`hzm6|r(}uP<7$+h*9)gL!%0l;EqWu;Bpo9DJnGIqv ze%n8Rh;%N5;1TE0s(0ra=+BL-TFtv(nj@4X35ep+=|N7)AY8bVsPI8Am;<|pUr9#b zECDp5S!ZLHVjo8c3Rp_Cq+yrXs8zszu)}=gXxS^Fwyhuf;s+Gr?VUCWa6#2+Jys*( zYPQ~0VaTKkW{CXO)QT$aVFu&$jG`R->|*mcA?iGbgFie*lE~gR$qPpcuK@=oc9!La zfidarQ(w-q$=~S#+0$&)-MoG0c!ntr(OMN6BC>8Q-OMybozyv%nW_#; zhPujdUB)_l$SSj2SWo-li1}lNpAY@;cenbC%#{3{%7UCA#iq)Tg)H0>3mH3Bk4u7> z%3!}Ed1pvjn@8dLJ$;DAdd&w&S~56`rCu*LiU43eT5t2G!sZ53OnLrrpo_C)gF7Zk zvo0D?YZ{@J?je?sOoO7&t5IXWSz7MGL_v~c_du6bpUfJAai18E)3!YrFMX8wfX z&Rn+iFxB}Lu0;2JMYXF)z_fl>T&ijOkvpULHi{)Ix9Q1yOqwqD@T^3{^u}8HU?Ih? zImZ8afcE9&-Q}<%P6FtLi`YNcHNx4rC6hGJYgJ65(?@9zUcF{Y!Qdnyxbxp6YvEi} z+iL6&0jS0cJeeMVvs3`GC7_RrZ}Iedf9#%e-ek{oM{gJkP7Bl*X}J+J`#mxDHp8ut zTvm%9>+%~kv-oEBV{1Q{I9xuia2<{+1lG)GsGV$7=g(h{Y%t?&sNlhA8p$=A!&xWq z0kv++iG-@N&jPolD~`SYz&e;8GhPEWyMaOA0lv44Tm4QS(;vdnV*Q3u!%I zV#LjiCLmZ`Nd`Cg_d{eRm*2!v&*15h$Y9fhCqdmZ9t6|XsJ5WcS9x}6%_a`iL33ec z%*KO8Hy7DC>;0EHx&{W@u`sWMJ|Dh!{Nz)xxtj4je=|DDTtc6{>}MQLF@5Vlm~v-g z#d)~arWRE(aRuDk`pzI1(5k?kUn#rzFztrb=>-LLbrx3`bi3oq(KEFje6G5mp`Y~0 zP*6i2g?C}}O=Yqnp1Xc*MwDbgGk3z;O9)N>2g=^~E5?di7%=2O@q7aJAr-22+Z~o` zXYh!)H1*+-J^0cschh+uD$8AIsPa6U7j^+~vSU<(x{m0l@zlMlP5WDnu45^On7 zyLz7ZSW4I2jBsKZtpSMrEPBUdhRspM1d$9+nBPDUGwg2k0^n1NheG@zw!`skrBx{$?6Q}&|)shFcz0%(PMWOSx0!GKmxR%o$ zAim^z^{5Y}phlV!?*QDF0QPlC#2F5u7D)&n5`4RMVzVr})L4-5gm5(2NlWzesG(o& zg0mzphSXg4!|>5Tpu_2YWr;{L!)21W<$AW$ubkJYjbWE7G}Y^xT5R5@eZ7Q$ZMuUu z4NHjD2V*on?o1z1P-AS&TiIW=x)x{)pmgG}YZ$+1Lomxe}O4)|pjXlQo*% z-cDr3WZRYm{M8s~hb>rq?PCDEZX?yoB>&A(3CPoZUS{a<+4DMQC(#sGpv8siT~)Il zQ($!~v#-|d{@=}`|Ot>;jKQQmU(ORMh&9{ySQXA4f1Se zsavmnv&NH>uirl4udocglzgS}dZD^mApUj4!6p+#ZV`dvbL)*X#3V>a4P5XLjTwjH z=;^YAvCtMQ?v7Oy4eSOwD`JVuzX4t?sw8-#Nfn@kUYxU&;uvs2dElc-|MZoO;&W~;Q31~{3B^A@491f^@oclYy zJ7!3?EnYpqx@Pg~pl*hi;gIpa+OcN|)H){JWJG!#O-_%n%_CUf(CUX-Bsb(6c@K{P z(b|6tC4I?n?OhKqe2Q5<&esphvU*>Zz(4AmJeldq}+qbL)44iX)?);3}Hn z9UmLFL5#^gz5gQz4Axy&Agn*trGs=b7R`oq(-(gYMy1#B2Q_lz#eAaB?PCFx=M9a% zZ%>;-=P+nn-j(R@`h)0%$D}v^M6nRIBrpiyi`4N3R@BhCR}%cU2s%TGmCAV&^cK*q zj6xk<3gttTcTI2Y#ft~Ke9flwo;~!h`gpy--+dRq52h<6LACVNn=jhbauQ6d8<)g()WOo*98fjsXHJagH_RIAz-tYf}U^)})5vtTZ08wcXl7IMc) zfy3VX>mfl0j0g-c#6=7PaILJo{dsR#mLKwLd+B4>1bteUIKumD*NaZ8uAsu0?r?K4 ze=a6L^La?*p*=_LC+mgnddzG)g#SgfoRa{lV;~K{*GqqFR9puTtSwpNI?vluo9)Al zab5{$)U_I0JCH>?iYjdPeNxfd`xlxNuiXgKlfenhQx@9?k;WbGiEq^(qyI}U1kNrU zQflwfv`oIUmJhB4SZuw%UcX_RVCWFNmb>ZIkwV|~hF!-^1cZPU8=E@rd9n+RlspMT zj1+5ivOEkD79`G?3{zpXKtFi|fUhaW?|s>yYkkeV+Sgo5BmJ_DUZvB;Vfs~F4ge>R z?Xki15_TkGOs-Re5u*W}Uu)tG4^d}H)wJuD({Ht`kJvj(MNxb3Cb9mv%ohDZ(AXq* zeDchLLn9zhme|DRfNz)fyLp81@D%cBJXrT50KJu_mZg#}BxNdK=R?&n7ac&>4csFW zQ!<2R&c?(bAxj&8F60bj7{HUia&N{_5LHCFA|OWCePJpAPwvs=*>A4p>~5K(KG zINk%b$sETlZ&2eT4ZfXhZcOY+)kQ+CR{!@lCJtjo7{f^r3 z#PL>p@O)H{Cd85*)5aa&9e_3*mL9ZKHiA}Et23|AM&HrF!=h{BoZg#@{SC}n9{$jyd6%5h+$O1hD;2xtA-;ULziKz(2tf7D3&9R;6aC69v77%v0b7R@& z+4e}?<}r#Rk)1Ehe3EnHSe0#Yh(=?Chwf+CK1VK3oYcd_hl^+3tk(#i52+Td-Qd|Q zuHMPsmI#Yp@zU&E=^8 zh}FBhdSbdtztUl`-jESo)R(u`JRHd36E6(Y@EBwC58B(I8hU3TI<&YIe2G+XaYaKg z282~B4s8zKf2eRA^8-@zZbFXn1_-&_j)!}VA{_cP%p7T6geBFgv>;L!8$nB!3thzaLCrEQDU7j^0sujTrb;v5@VHK+ zEEo4Rchgpk;g=|`E;?W(*``_s4-vbEVR&0TOK+6Tusm`;l12up!?^3fzH;cwyK_#h zPFyzFtmF6vHwq}>p7`gv)ykpf?>caTGK`ik-Lst29Aw_OU$-vxfio9~8QF4q>kFv{ z_Wp7bqq^f~;MZl}bTpz%pcr*|LZ-!QSrl z92Upy&lwO-kvc-b9vV0da)w@?GLX&pVuqgZ2__i*WiMAcnEXFF)l17bCsQrN2FI`JH_y{G1zrr|BNF{!9z8Gx6ktBJ4nZ z>~zUDV$B2*T3}QF!Z&{BcDb5IAF6bQ@p*xqH<8KtdVtCV_LwH{ zpQ~@^2zQ%}Gi0imdn{c;d4YZW-pK*bi%`JUW1!z;NA2|F49+%pu#TKmB3yx4#b|>C zuqbJv*%&}y0@Wuuq^iR413CLAvu|jilDV*OCK6{yJErE~A}hpD%=MXEE``R`h7W5X z+E~~bWhs)Cx|;=UWaos7Q@baCYRU&lN(nVCJ@||5w3c~r1SVNKHIfLQvqNr42h<{V zWULS}7aR>LQ$gCn_bxz_Y7F1j9RJ?{=rm(TXfyr4=i-nRWuO7w#wwrd+7wPvRnIIl zlLF1~DLO6Y1ZE(;EZ=2^b(~=p90@Y7&ZcLlGmOh9U+; z2t@=%Hw_3qRB38Jx~KsWQPB-mKvbHFiW(3VU33v~|LAJ=&3n##n=_xDInSK=J@ zZ0Qg^mb3OYpaa_=aNYU5t;^ngkoh*oK3$jiasx88#)gHOnx?5{xb_c6$Pn>mO~{mZ z&ntq#dfymj;~Ejnu>`KxB+&|wnO~GRXy}hr*s|hElOKv zjbvhC6jb3G6~8jLvLvazv*9knF=x@1J_Wn9asdmrr2S#^rh-v zthLXN?j6Bo;5R+L^-J}w7{u$Rc&GQfN^^~-GN7*MQ2EMrj9v+Ague3mBkQCX?h0*) zy$G*Q{9puSRuFI^uj|dwn_ru}y?pLvoRyC0W=xk*h8*jJvU;2Ybtmz(SExGoJfKnr5aj_fC?m_E(WL~0@Ct9zSOF6EO1{m_+hNU zyL|x{ZQ=BFhz1!LDMk)R6f1~PaQUis;TIw@Iw*6t}%Oa|%1%X8rNNs!~TZ}A7y zi_BAJ0eijmy6%TX9qzqVwQkgzM~09NYEKjEp4Bsn5VL4#hS=_|nErm7s#%nrpj`Ba z+$TZ=IE!FKoSh7zT;P&aJ;c7dj(BgBkQ1HoEat#yCIE0JL>RaKB=o|c9k5a%vK`Zt z%7P|HcMN@^i_$?|aINdH(3>+T=t#s%?oRV%${*3t{i~(r9ta8?io_}z|m8RHWH^xr5pf@ zq60Te^)g`t;bhRwe?2?=%+CUhzqf^Er6v~sukA$D&XIADJc)PN#Xf<28Wh=|D$VL* zqxNDD^2}CFPe<;0d#8~uS_(GAK$z@=`ONCzx4U|C;8`-sz3#t^wx?K4cY1wuopiNV z*(mc?^V<7zqogF~?53?Gfn|p?g#YKFkr3;8GYVDtqx9c#j@!wyh^VuvBm|8Wc$fz! zhiEkjjWB{p30(Ai0pD=+tSjHaYGZ#7?);4)$ERUF|E4#fG!6M!5PEoh32&(@e*2)yqzu9}-)(vL)S(lG~2nD$@4jJyb;jZE2D2{RvfdbbN zm*!IGO?}`DgTyKD#h9CEImtpmi~7ojWmxc8lftajq5_S~}Rs`c%%RFby|DXh_LQpT~nexP_iT{ZaaGvdFK z^+fku@z7B5nH$*vb0Wk@xWlJ6Y<*_xw~8c%Jc0ElTeoVKCLFLL0A4NwrU;0lOKfA1 zLlz0Xjcb!j*4*BW4E}aRR%iZNcRUo>_#-az?#Z(^8|xd~;PesX-Nc%hCqOvO6@DCg zg{n55Rlc}E#3Bxcu#A?+iKqGG_4w<3m!>ONI%A_}9~MRC$HI}`XTAm%Yei;-i9_~d z4iI&G3YwuAQrt4L=f6d~a`eMY?v%OkAm7ezG)EjRhT@p+_8w-NX@vv-i??@$SbiZI zcSqRk3;()l^x$tZ=l=n$r@&dW03`w}4#Rv3EDX$~VEL zG>|E4=L8>m(cQ(81d@6fh7OHAOMe>W0{3GWBq&rdT@5YCWBB_pN7}PfVuj8!@NDiq zY2OHwarDFyg|pKDL-L19u84wwt}2^bMPfwJIO;q(f0rZk+3{LYHmJD5feg&9?o1m$ zxsxAx+wAN1Luyu?2k%@x4&PXUCzFs>fP?pQb=BU(iC9!5#F?Td|(RzMH;vHid zds8qwLiM`dp42k?s?z-Rs+!7iMl1BSD&#K*iF($B|2_w15fg|(TERic6q0we!=J(Z zA>T%-395f$YV6j7t0!b_iS>*eO_2BZ!pO^~U6VN1L(`z;`{;+$Z4SAA`q@2*V1tQ6 zXAL-?o}rV%8K`$OC9PL8$rQvkP_|{Zy+fs=X7MBIQ?9^|MaGAcPevbio(8&$_s${n z@w?ByqTmMhsC+o!Lj&uAXJK-1?gLx%Z(+^mseXZ%S898JMwvJEzILVtgKpV^K72=9 ztZ<1ubT}mV@R5fwA7^+b*||2vCB_Uy+dW1vxtV?*94&(H_5e9CJ~Yl>*qE94dOalA z<5Nh55ib$Z^C>Ga8Bs^ZwqZ)1#hAQ=Pnr-X+tgyb)1Yl9MD+*yQBG?Wzfb;K^TLD- z>g(#fb~p3xLZ+;qb&6T>I020KVvQu9)2zef2}^)xojZ@kXq-@WyOke_Rk5a7|L@#U z_roy9p)5bc%ML%SlZ(Gvx`bXzmg3A(wCE#0`jcMYxE}I%JB$o`q4!fgX@>AH2$?E* zT(zW9oHun{^>pZrYE_U{(OcI`C!o)cyIP(pTy~;I2+x=SbU(YO>Nmc6$qkb;dwW<$ zW5H@6A#_>slorX)#%#^5^5DxJpYvo7K-6T3rhT}g?@TbQM8_FJJru$`hEY2Z) zT)32jmT9>*xSR=Uf~eUAd{F$kJd%UBs;MiIYDV2hD7(JTHd$VI&|=`{(N7Qd;6J;f z=e58XhAC8Q;euD=-}_^8iI8{W`4#wwYWB=!#n~0OpS-ajhU>dzV-UUjENt{E*jRX; zock-(W@KWXIG-{P8RWe60IP@7do|K0_Yz;%DgN%WHF*>@QUTCFg~rb{`!F+>y(u7Y z4k0wqd>#i!*Ug#$pJac76@T!Zay))}>xb_e(a4yD(9Q7-a6SHF;Q3~2K%8ATU>|50 z-^wormgGttmg7Cn(Zh#&l+%QN7`65 zXh?=Z4GrwOm~$eVtT|nTdLSZNpmUGVZRq(K&`L-X0Y7M`&ATa1@>NlL6$lO@fFi>s z_&TwnnXUFzCxA^=rf&*4AjNXjQqHyv28yoLROef)ohbob(JcTB<>-zTurI4L)HHT= zUHHA+b%nt^b`{b0!q?)im<9x53G%1HQ;ii3>{ay;#hSmJWbbg{zDyDCK}m>@0avvU zEF4+E7gxO6>=j^_Zf8&5#jYHS!3Mx|EQI6#5YU)np!1ahvj2f3j8>XJ2@Fdmzjc9P z_4q;{IH+T4O0nDXafqq&D6Vd~f7ydTUyuUSV?)3~19YRHcO9eKj}C-cdlWb9@%Vx= z5k27KDCu{RQOn-t;1&nPVVoud6IgT8cSWq(r{p3EDOpGgwGjH)B@Cl>e?F#H+HQif zvb{4n#^Hij*a3+D6hrlrE&6TWsfSEU^$i`i{`p!wt2mQch<1?L>@qX|i8kQbEb9|8 z0+BCC7G3>ZVYl=Cm`7@Bl|u!y2+l1cX-!5lXh?11xX(|EE%H z`?1)6@D>!Gu^gZKeasK_>jus^Q?E9nA>RIJLwX%(6h{D#s_YRt>2#=O|K7LInq;g4 z9xZ+Nw1*7V>W(n>Jjd1??TZ`osvrQn@x zkgAXfRI1y5DRV|ZydoO4xvRA>~HULe%@5@^;oy1Qxj1oYKGKdCqMeItw9Q zb^7C4Kaoliy~~8f2ctUkGy@Vn%Ev&r^*g&vF=8GPwl+7B@4(=S6g^?V6J*4x7IGVD z6ecsJQIK-xftCl2JK4iQ&=}_+C1mh+<3Y53zqwMvWyJArAjpadM!F2b_DZ;jG!|rM zx_yq>0C!;J2sB5++7>Xr?HuCksMe{tn1t08J^#URr}7fJM89ZMK{?1o5m>;(KQvSv z)P5anZhuAWJr-zarB4jl(-{yg33t*96?373G`71N6u#nrM)@3~%=@)yW>jVS* z_9aLmaC4Gm4^cFUhq^8VU5_4!(W+Ptx&YDYbJNg8C<vM_gn`*h=)Z+kjRW(vaCJne_lQGLyAeg85aDHWUg z{$N|L`2NZ?a_Oe}Uc3yqUR^@ij7!k5FD}bFi*Wn9@qt-nC~km_P7`$kJsI23MDbKc z5a)m-QlgaVDW9en!WwRv%m3-2t_&UqFXre;lvPa_gQ%M!dYX+(e}1Q$DWr;WefaNP zH5EpPMef&`*?O9f1YXuShx}Jjsy%Gjt0y)g`L9B`=odONeCpGm0t*=|udTgHr#B6{ z!^45e2?G-GuKB~$&3E&yL(ERiC`7m&_voD-$yy;pzkBt_59J0Qr=M?F+eF0gU*X#h zb$?FojaL2gPCwx)kssG40)m8GZKoM4JK+kNpir9q*81;sH@e`ouDxdaH1T87XMhEY zS}V^-75#z}zOrCOB9+pk7+p8P?PdEvwIPa$B0uwfDl_=od58Wx__6EBZm|>$Df74x za=U(FD_rY$$)th6^)o-Slo+_Tgb&PInYq)WN@ep^0qc=-jqU;$$#u2z#$f9kqRZih2-qpaDQZKhpWChXIE0P)A$6S@6RW zkQza9ls*kor6GEwq&Kvk8l$e1Ck+9ce*4<@nR}1jiq81>wdCZu`*!60#?;72%-K6_ zflis=80CLFofihx?=ql9;Xy^UHBIqMEM|c^pP^q!7cLfHELc|MQk{B| z?n8|~3ssSWrp5RUJ_P`|9K{KdF=6UXwd&4#76`}zQpp?z$q?jeyxe|>q4hh{@sKU# zP=ywZt-PlUWIA49Wol<9!DX~tg$UpoOtt@JK`UFu>Y==~OMhBER}P^Y&ZTJAVvPe5 zu+LIj#T<=`?QHd1Wh(*|awfPKz*~#Xix%f3(_QS5r6x;Mi~dse9}Q~tAQA$yNxx9s zlapHGm_~w^jpuY9!#XLJF59YMNgOxYoe1yT03mO{xud~J<2(0xiTg=If$<09Uu);|_+SO$MTCIEldPWA(gSEFe)(*b!}d`L>%wKX<1qi0+j0 zSfN);QGB+bB(nqX%%&l)=t3~f+GK(M^t4^E4&S%N>U3uA(MUb(A!^MX6r$amga(zN^TKXF?gPyCG%w9GRF^Qtb<4PIW$b9^+b!RLUuYrwL$b z0E6(F?Qf>BafM29d@Qq~Z$_dFqEtFhYdp7wAC>0h=j)BwKw$aiSU~R|5e_$9ik>bH zIf(^1g|P2>O^{m2om-j~M82pI^RYnL)rsWij4VXCYr8@18N4?pDl=sCpQXJ`1kzbGdPT8bwtW@-6Nh+Zs`>(K8goh^H&I~)gqm>?|c@5l@v zl__trRABll&I~LO19clSz4L-ta_;b#uh< zZ@OwR(gU6exdG0Nr?+bR^ynSCScNLM9mCd|cJ=E88nL)7HJojk+)k0{kptBVslZFY zBHNHrXOgFqDd-Lhs3j=WmKGe*xbFHd$bkuh)!Yf0hS-vTCWx`m0Iw(r*iHlu@8>=t zJyM(IlHzNdI!MZcu+y1&>Bx4bpol{ET4^WiY}F>ugLFvz{O4U}0x*CN%OdYi7UiY( z=P)zjNrHPwz9x06ca^r&!kF^|V*Z+lHUmOJ7A`RRb8>9q;WBU4H_~3q{AR)ez%aG) zzjnl7U4dIWBy7%dL$Tr;K}BcCVpUjxb0Wx3A~(j1j?FgAOk zdFj65zv+S*V`XQW@y|2^B1+}IA%y*}iXMGP@2|Q_fq}E&Hc`ZW7s|;+-M;bBxT_b+ znyx%5={|DGWqF*?5z%ok!T3Z-P1ki^1S#*h_qIdAoWNHV4$rSm2@T*H9yhM%#Ewrr zT%58@xf;>oit4{}2&m5R5zS?DG!Vc}W`U8MyG*hb9YLC2sso_gJ?!iEAx{+=usO7O z0FqUGC9}XP6J$zyB(J#R!>z`=1(cU1;#vDw-hYA@*jr2u(gE|M4Uh=obQtmK$r_jn z1wGzQHb!u}o&$^}7T-o1&r(Xl>A5G3;f!{#G-FtDW?pQj=0D%SiyIu=I8fIb2(D^E z=&Q_I6MUU!X%quPi?M+q(oD1wVyRMERF|BkDS^yS^`K znmBPx1j8p^@@I{^C|kniudoorP272~w)^D8jz&>@nU--8%-{vsR$w7)zvc=*v<`mv zT*U!Vs_(31L8`@aKm-hT&REt`&Y~rl<`rrp4|iFeQxo2;RSB-V#&pdP)-njPYh3Lb%k`e*&xbhueL$=_`y zG#GPmo4<$I$Ff;D;B(=UqcFdKI$}}_>W_JX7Vg;N1PUEwtB#MDodyL#s_)fvR2DiE zgA3bih_B^A>sdgprs;M`fp1~}=#(e8j;+ED=u{0f5`|%%xFP*&Pt@$PQi{dC$N+D{ z0L(L%i}0mt{@q14M^I5#8Zu_fe7j&L{_*DL1zvDxbo&af1TK|JTrrgu(EON^1 zJ~Q{`y`tSS1-8p5#X5wc|EV#OSuiF$H*T7b+X;QT4vxEQ|0;p4vs(Kwn)hhheCJn8 z2L1l%22b4c;UKV@Q`s6p z|9Lfy+{8DJO-0B5q~u$~M2eh~6l zZ6PD%f*${4Ft0SIra0lsPZB>}$BBCk3x19#*W7+rRBD13;wRdQ@mgM&x6OE? zyfPm7(Xa>E=Ki+XV^bw!9adJ8l7DrYl%Lu9xovxSaMV`i6nTnzZ-OssAJ87 z$RcOdQ2iIpVn9aTg>SThPbzu7kps`tfw+Z$raCr~MqCO|ulq#AXDWcp*$9DpeL{gY zO~I7xWxe3(?Ua*|zwPT09cNKa01cb~)wZC&G5e|Xcmc9i3{M8Y*VAE^b^Ny4x&LWh z+!8nE`|Cr2(wzF6%yn3n=-PiHUP}V71yN(oHqdoqkGt@|s|u9^{l*1UY{WF={KuKX zEh!PPbaXh-L@1>=y_j6qjp(=92-U0Cj|R^uU5w(qDp$6cuC2r?6Fx=n-a;3h$vfz+ zs=KV;ya~KQQF|Q>Y~EC+l05<@UE~XJw1)4DZ+4)YJB#v3NQk%vQ2t(a*~D0g=>|JX zcReFQ4oK$%_Z@wh<#>>1S6qu#Y)5_!2A|KmRV*%dVDO&lKOy}+-)Z`K%ELfHv=_nmS===J zG~h9lj`nd!H}FfoyF4HQAP4Zfk&v#h5&gx`TqccKBg<7B^DRm#G*=}By30y}I?dQ#@hxl1+jBa)0*oE34i<&p{^;qdrvuV^ z%0L&6Yb=<;9IA7aU@zW~mEX_S8MrhU1|vw;26nU$ZW-}uOxV$I)wc|##>+_8Cbroo z5IfG%(pdK;*+Jus-Z~xI^;+ej*RiS^?66u){|l;li7~->`0z%_Tgjd(V_(=hhxt-@ z#d~|RhoEFOzoZ9bzFNv7BX0T${#hT#dIQ@&BNrr`+yLNi?`;Q!Ekw-h_sXjm%Q$cy zjVUOvpdhzyqW(Z1$U<=Zu4+M}H%D=Ghpa^m+%DxXQb5~99%}8Vq+JTV!iQG?3PD8x zh)dGTwJ%l+C`Vhj{u;NWN2u)#fQA#udjYzWc2FgO35-g4Yo1|{~vlNa{BaHj(s@FXs){KuT!=bLl%pFjcC_+M@KG@ zI2|#7YI1xa=#w&~M!EZnMX=BR>b{E0Ku@mdT!KIhbE~9I&_82)EBkZgE(XS!urvcRWsuy}f0{IkbEVWv6W^rL2FL$ux3;W4nFvOigr+&cvjb_K z@!&^EIFyq`vLZ+?|IPya@q#?zPXiA9&r6b5Ld#PVsd$|E(J;H=l`|RZ7o6`M)N(V0 zeKX~%(!#*~Hvlt679*2%EBo{QpbjhoMZ@sEmKFGnbhb)P{Q7#Lt%ew+|Maid4|VB) zCYwU5ezzN}LIrWsHc6b8y#Ga4fAPQHyLWO4i$j|7NB-cfO`c&J~1UE zPThPv^x(pLnh2f=|F};|2spKS>N9}1Wfl9^Oj}e*$U;P#bUsc_r3Jt=>-qUVbT0q} z1n1yp1_OjH@sYKe2Hbu!i4*&_>i5Y_Pr6nitxhTP;}egoh~R)wW6@9n%02fremV5x zk(RKA@E1L!6Z0KD6%OaiTk>NXgyz9w21`CXF=2<^OaE9IV|HHK`RWGKyM$m&p{J9g zLIaR$lxD~ayN{+saw@>t^~06t`eZ)f$5%b0X^~IW8s?LqfjihfICx8_n-iR2OM z{rysidRlhSh?3?S%|peqpTvc!6p@w`4rg00s~$Gj0TtUP5V;C|!c{Ihuzw2*)*_@# zTJl8Q9Q6cRE36`b+S+V*M>Ipu%3bZ9)30MTJqzdy9r1Jdhjrc8fRLg(zE5uR1;=aY zw}e&`KHJR@>**_VCIhR_3;gRE%I64G$TIM;C-H+rfmO`Z!T@Ya&xB#arv3x3dZzx2 z7jJ~(iP_amrb5wDk*9A)Z)m=6+@sJ|lj`?BFh&ER8wev#(g`iF3?ypJ2_;k=@Hy0` zsJlk2>+Qju=QSJTsfX6wuMY~2m2hzhT?TpOT%X1qi)p(wRNuLS9GF^)s1YU?U6^^o z(M3-hkWL7}i+J;PhUUE=bq*Lx&(gFd`2SP5s4?WTm+|vgK9J$&QsFDqLC#6-tnjXB zz!;9vbtqFw9^=mxX`EnZYllh?ozRY@4KZJIlSVM@(8e6?_5;8%9QW?ml{lt2MWKRz z&}Oh%V}_EJKM2LOX%JDd$_c-@=!ichJXENN#>Z|~*Wtp3DDUWD znp8nx+m`bLG1oixsLS6Zy{>DV1s(XUR*Ia(1_UjC@Ti-PE~x5RcvR7%d?R|!v~9X6 zzbth9GzhE>*~s-MO-O%d7#=u;Ja;Ah)Lcuw?@~wF=rInslVsg8;}HhBmjAie@5O#1 zWBT+<*q-BB`w#NQcMEo;Y;kgT@FA}<%Y(@}MB-}z!k)~5!kv862-P5tlnA#C0V_q1 zD%e-XaX=sU4+S!;)$K$8Z3K1ZwjM8YNwiBd27r3dV!bTtZ&k}?RpHJ99GhS9 z?#oX%R4kfX&<#NF^{eanG|DG*LME87_Z;sh37|LufRV}vk>t&zsIxdBPS^t?uQn!_ znNg5b@r|qT77!g8P(4EoHd0)6$MygP`YT-BA_l~mK2z$wqB}4%?%`w#!lXlVebkqb zFb#qQaS1%qSd#K#sK{ekgtWC|KtY`l;zpBj_wf!oVIssfv+)+ie-y)B2*t33AV;LP z(%311Mcn_|L&yn6JX&S-uk?bL6x~ePI41)`yIQ?Gey*s*~n$Av|)TmZCALl-jzS_6SF zo?0hGl5N3haM%m6?Xf5YblvSD_xjBm{e!ufq%*7T!=q08Brl5$Z~y3476?uvqei`R zEgGTQ{S4(i$wDn1C0ng*K6tSlFV7D-Y)dk3N%6rsYGn^1Dclxw`x*;Fm4AF(1{VqHQj*E42UfT-SAARIZoonb zJ>|;kqpQ-HMvR97l{jLu{YgP9Nk3Rp$J?T-Xqbc327pSr!aSXJhMkF5LA}zG zYc0F-+%_8@D`;cfv+P9&jlKn*30r5Q+!$_mRg|DgWWc3gVjdN}4;(yA(LG6yc^mXN zvuoHe>p0ZjJ#(0FfdRL0!&#gW_PPIO2Jo?NL0VCZ`QjMxuAO~?uBIZw{`rrglW5N$+@*- z#}#b%&JO)CHo*N!K;!M7k9?KIK(Fm;6P|M7DmsX5)cDf!$m@ejne1`ZST-uKW`$6& zuJg**8{#0ENt*k|(Wqa#hdHdG7|B{B969Z-m#P9LvLN!7y|VKvx!inCV@%r%o8AG* z(w}_#$eNFh=s8+_wHaH}jv8J;4W;=@JS=d2*mmD1e(yp1`zK2=C>UfHT4jIg4|b+G zn{n%tjU>J0vNc5@$BIcC_U0TxbbWn{^q!uRf!MjbAe#7-tHXdI>%V}1E{#-bNdO=> zc9fz>{VT~3P-K5=l?+)1lW8k3#UGFlXC-&n?4f{tf5lU3sO5+Vi(44bzT_m7(fiA) z*yU3J<#boA zCSLGRL0w=t9C;iCvEx#1deUwt%Kj%vl&as{P6QTM5aYXY53N#{`~*&kT({tHj;4Q# zdX@LU*|TEzgIgSTi`-@Un0_P$n~4h!g~xBPH9NMc88e7g7s5P4d^;{A2w*2-$?fZ2 z``z|bb>yY2E~pg4VVlAUMiJeOEm3?9{zU^;jwo9k04vT+Oog6kkjO1K^ct@i$rOIk zpGfCuihOEom5kas+AEa*_EA?NC#iU<8GbR~m(u0_^S?%X3?M_1iA(~I9P7UVFbQ$tv zWC`c~sm(Fi;(ZH$o;ha7{p;L3Fc?FF;{=o^PLiwNHN`%&IRk8zelW~!kaSkS_mFHx z1*;&=!Tj}5u>fU>w&9sULcau>{iaAjPKl2wB|R$~DE~o!;8I0CTFnYnfLF8!j=4iQ)_QA-YYooTs7%)y%mn?#$mtrl#Q+Zewl%L6uEn3 zG`>aloZqTPGhcg?HDai*+*O(XE1SPVg!(Oo+CGH*SFG(vg1B0HbQ2o>Xq@ziP-{bR zzwu9rm?6VW=(EvLeYQsP@v?B}@_7Rvw@>@Dcg^D$&d1tKczEh#pSOh7ypH$48Yn@) zPjcyro`ud+OuIdX?KTQKv+zTAHON3NYf zHU4BWb5IZO?lfSO-NVbCG}<}NbE|ZB9{+G=mgg)ra-4Q|k{)$(0$&1v1AmPKu!i)e ze4l3p9ty1t`+3ffP*^Qp>0m-G_M$G1Lt4q6f0Ikkx$#@NhC)|jL%Yr&0F?g1FRHgr zsz1yL@g-b=gw(Ej7QfGl`oX!Vra;XqF%(T0t~LG|Ip-%TkXd^Kr}91b;d0ODoU-sy z`SRE#_EpFCy=*y8j?`40kdsxp{jiHrS%kk4DIL#`HcpZ-S1MB&S#q^`E06@bZ-f1ZxRBC|wq+wzvzM@$njy4v%p!@+rss6zxtb-gE zgRGt0ZRE(`NJzgr@0L24RAXkbM!jt_X*tigs2Or6FYWE3?qgB+^{V-g4+XGRy?$N3 z)&=^oI^sC`sJdptZ)(t=5xtC-|I@oRjs|Q5T3$S}`eh(Bok?V!VyWr-k zpNlmt&KM((biO}DYfbCjdyVZjq*e#2b%{auIFC<;wUf2F5LafOUU@<8&1e7b#H{?5{7fewM-eXz z^4W(|j=X&1U5>?3z+|>!BG+b(s$||-QPkF)qh=901Xy@uhy!0-09omyNvru6q(QTb zAQJ8GFa4TdtP9K=xC6nDWo}j2Jxs0%Gk+gb=?fWkIi2rMnA z8P>-g8GNp8K@f3*xV0soGdXYWs%TEt(xV<|O|`sfRMK=J_$8Kloao4s6iuzQkZH@H z?}fwju;W6*@o6u3u+M6 z@d-Z)3l4Syybi}{t^-=^b6Zm`>Nqek`J z!v5oU%#aj~7C^TPn1!us@9oy!Mf%)zp7ern)w9QNZdTvFzy;r554gc`^Kqz6obJId z2EewbtXQPK3@B%O*uVa=t%wZKPc{0e{^=AT&EVymOhG;~qHn_TM}BZx5WC-5K3L*t zCX#Qk%Pc5kY738v3seI;090}I&o7TQzLcC>%pn|>jG zv;Nkn)m&@mzdWJ+-@Coxj7Q;i9j&hpOl?$!pM4R{4F97cym}XL&ku4GWL6J0C?a#> z7ulNaUf|K(42;LT(;kz8=7~fybb9(is(*%IFsp#xdT7u5u~L! zIOo6q&~o#kqHtJoFg{&^PT8aUj>FX)dbp^#n**$Ce(qkS@keEu_S9e`6Nn_TPbNz6 zV(Ne_kV;$uUI_(hg$@z2=k(mDor1@|e)XzL>EI%crS0TMbjcwx)heBPZ4DCq&Ewe< ztPYbx!LZdLuUR{RNz+3CPD`|VkiFi}m$jaMCP0X!CZs>bnwD(MHnnuH>qsJ7y?(J< zZFypT#XVuOd3?*eB5O(gt{o!Gn+Cn_i5hm({ab^o1)5CQ(NKcK#faJYSG)$tr90mW$1xJrR0xszf+z-RO)tH* z9$lcU{TGH)A`b$!*{D#^fLG2hha4SRRN0tE?Yf5nv&0Z`0`Y)zuG!3D5fsYaYvx9^ z+N8GB3|UA=Hq++}6FK{703~y(#>KxZ+qIiLe9dFsN$J#peij?wtj_pBT;dWZ>(RCZ1L9)Qgof};2pMQR_=V)_Y(1h+&f1sg zA(%AVTDfy_Nn*ZF-C;@PlAvF58d6c{^uPCzxMz9lG-Ww1e>U-&;3mi{mS-&wwymo8Fk{EEuq$&StxUqr6{ELsF)b$-cf7%vu; zU&)v?3fg!hLH8_=7qPUqH2x~6d?;t1PmHs-7lq~JUr?jNPUO&!-UklW4J!D!px1~! z*ZF_@TUmx&yRZhbb>j`+u~86z98}DkJ3nMgLRqZ)IGgzW?j6x%3=!8h^`W#qVPJoeI;2RGttK-Vfvbg30F;NZ=v1EW5Y^wT7SZla}M@}c!EDVmV zqb^K7HR0E1CyJ({Xa*sD5EroFgC-CD-J-@lVMzGeK)M5~S&oi& z*td)`j}V7d@l%&q%H*)qHV5EP6ci(5C`$To;0vUg+T~p3ye@(A7w$ z1t$tY<_CJhD%N_tb#s#65JMYRXVUm1W2zd|^-Otlq|C}Qv7M&U#IIJd%E-q6(hQxFv6el)HCX9Zo13U=daW7gdM#`%zwqLrZTiTw*K?>Ci?Dh9XCRn= zy#sTZskw5LmWMV=IHPdia>wpJ-u&;bt&!~f&GhfDpUj>6qIHKgwy{WBVh`n_wOz!_ zvCFz`6yE!Fy%OMC(#RDurU6WG0DWvPcW8BLb4S@HMKf|t zFt=NDLlCCzBH}f3!JhE`=6991KhSLM zt=5)Y)!N_toOWb9oNE(rrI_7az$*Adi%fL`rFUg9KlxLKDSg= z7s=&-?G8Rw!Xizfdx3)~5Q)E9)BrK*jqWzA37og%3lIPCJ3;m4$}}R6z$G=SnPfS) zl#>Bv?%~e!)4I1-nmtKV@g3iF^3bjAa~ctb@!+DnT%qnOB3FJyBZ27wd5WR*sn=tg z*ByC^NhAwfqeS^v5uFG)Zl?u%@6S`ssEL7V(f=KSK8s{E_8BB#DG;rm1$msrSV$=i zh&6edckJ51z~T?n)3I1PnDZczl5PTPNWY!cc0Or#Y4qsDzc#b}{Qb!-LCNlg3_mnf zY|4z8ch3p#HVL$wi7jv0wQsVLfW4hl9rZ@o#6uYmETeXy3xdrE`=7rM?f45a7TAWE z0TnxP86pn(iEwn%@x}{Z5tkjGBRX)@KE2#&x}REXfnQ|^Ob}%`x>pLibJS%kk3yaj zk1QS8W?2UD@FAFcN&yxth!q1y#_gF<-l_O>-ChNo4qbZ(CNbwSplr38V;qfC^VG1< zRpW&Re=^8-LPEZSS@huc#}Q?tMuAtuDy!T%KR>pu|4}~tQfY-`d4-$#HQzk`jTo$U z&~`#k*%j37{>QHgR5RKnn8qPCOWAwoDdi5|tMiTgNUQKe4y)+?n zu_-c)y#MyrtR;MltoZc>8Romr9a#g|y0WM$>S;BKQpw@N3xfz2lV`9Xfmu$|A%-Fj zGLsBNzZ_Jw`BvlX)EG@-EvrTfwY2OKl@cX#b~p<~#e6VjkinW=Y80z~iq%Q3gD6Z; z;Su(*h7Rr&v@tQx}uVQbPvHC#0J}d-!IH^(*TA5sE&(ko@{{ zraB^n^AeZ+A}Td}>G}aR)1;fEF{6+AH>p>mOIvwFB_$e1$y+D##L(gg$kF?IRZt{?^ivYF}>BeRLnNBP4A=%xm2fBWSMbAfn=aR zHQY1W zEe?WUo9CQ81(a|`OzeUh(tgNh+f)a*ayLk!lQ+dOuO`PSV@Tm@x@Aq5NYA%uNx{uw z7U%tyr!5)=+!|TJjV|Dp*)v6PYY4o^&dUh`y5pb`tI87$tM$@Azq|+GjS7TPa!=vG zaT`LRO|D+RgG*M{*fworGPDy~E;-MvRToky^-{#`z@~ufsMw#^oQL|GE z!rISaZ}uk|JDxNR#P^2F+<;Ie5y%2EsKgs0kN|g(ft$Mc5pk})=4inlp|7F7EkZ}c z@zsMu7sD$myson=fi z+gPXZs*lLVF#C9li=*6M-b-kUd{jg>iWUmdQ!g3^CcWj%rrYjP~TrT+8RwGT#oxG0m8PPC^O}4?|F7aB`CCQdPcaToqdtm z(5Rk_YOU(yKHvN3cG~E|s7ZCx?54d4od0Ts?4j$pWCPB4v=w{l^_;?70e`nlM~DGw z=$Rx^d(QheS0>yyUhp-kk*CAMS(HEaxo^e z=4`-Mg+NjhTbQR5iZ!XZ|L&Iu}rR>530m)=+EG(gaaP<1OrE*ZLg{LjF_^!9gX z8y$S^l0=|`{{)|!m-Hp>4S$id=vyMM-zq6KdiPmkx&X=y%L^`pN*)jYnHRkWQP4JA zV79cVm4PZ)dt1r3A~F?G9DKBna=EERO~EAI<3rM~p{vj)Q%I=faP{hj9r>zP3?p;ZPSP3G0JvhO zmv3k2KvVuMN6(QsXd6IbY!rs6i&!Bl(F~o_mF4JLbgV8okb$W2@U7u2l=wW2`&==k zqme=V(a=&l4?v}|56=_B_07t>+Fm3@$?43$h4G;0PQJBU9Uh!HhCRYCz8!#YR9rzNO;gPH;zTtkub@*X7# z07L)KXqvOwOWd8xJ|TN+Sb7Pq4pj5-$I+HlUI+Rl7CcyCD2z9MptGU5l2vxJ%D>dL zb-)F6ih>C6WuWU`(U&!D7ew@yhAVN zdXS$`s7!X`TWUMPR z*Cb~jt%YA$|Kri9b1wkCI68_-LqXm_0+zHU8}Z?T8dFQ^a>tg4qn)^fEr_y-;9$z# zQLz#@NnojXANM-&(bIQU4w6R@J-7?`GL;AcjUDm`%8C1q3wWy#sMi(NotH3oHAAj< zyR;F>bZl)$1X?*=G`^OdGPfyFiRGXi0PqXLk+5UV*+}#+hWA?uDwlx}%y^Hr^?{aD z07@4MhVV7!1|*8{*(Oze)9p_zch9S0dgDx*-|jZ$>{9XH?-G^Z<}dSTAHB%!^rs?> z?@?)Fd;kAq=uE?sO58rozJq|MsHot+ChkyH;I66RzB_1EW?E=wwho)S8E)lTU}|a` znwga~;J#I8)@aKNn%U;enCuPVGu1Ym>VDK9Suv@(nEM~vOL^a(NyG79A>qXft7?W)e=;SJA<+ASMhKDVPXi6?Z;~I%^wWTmk1^xD{7q*a z9k+F?bqvA-HX<N?%iD$H0A{0ykaQU1 zT?W!s^u-m+V5LNLwO|`uIl%YK>r$^vU^wKR?c2`jB?V69X0g<1Jy;!s=^$6nf_=hM=TKm6$3+Aa~!#H7AG};G?dFE?2Tm$7P1~=Nl z<$p(` z>QTqSxFgww`)WObw-z-8ov{>u#tA2j&=$^U#R9<7`}UQQ{UdC(!X*=_q3754;_+#l zm!u~Pu7GS`K}NHQKdJGMG}bEM*C#qUAVKz|m#(YqF^JLe^lVZrbtB$79J_KFrI4~r zz6(S$z0I=MIjO{SrPi!V2P03k1uz#)O!$@>$je|Zy^&FuTS%^RC)9RHlfcbXgn`sC z|EplK%KBi&X328QGT_$ABMT=MpbP$IF~LCFa+0Q24>8hcxxD zrpJ9#x%qSVNtfb#n-Zr-gbI}Vrs{us&Kz8C$DCs-I9MSUo!-~N-y55_yX2~G$gyK> zhZ#)B4WAng<1h;iL9FuELHh$r<5k(-hBNpBixfVvI>aCOgs-RK#|6{yu$@uog3L~+ z5urb}amKa%!G%FXzho-9Ano~1T1C+W_e?6tm3!8ILjetbg-irP#YalirE!7?2p@25 zMU8akKCS?e@=~i+kaJrcdf^7FPQS)P^I zrJPt{A?AJmGWQ7z;ge$ug-t`dzoES;MF|n8Uuu`s9eh;UxyosC6}g zl8(C2aJa()aY8Dx%P2beI>_WL7I0X&aYYf;l*0_RJvrRoawQcpJ9s9yZc`b}AQ(7# zKNt1eF^Wj~N4oAQt^J()Y-7@bDKJH7zhL}cM&4$Q=hKW?F)dxMFC?z$c3jl~(O#e& zd-S>JJ{CPqK~MF#vHyuHhvjqtkV1u}z$`(2QumheBVbEau8T*0oJ-mk#x64#`ru+8MXz8+dFc(jaQne() zaC6SaEWaNwLNyL4W(Vr1ZL%&G${^2W+*cDmV;azKD>_v}>s%V7QS_5>Flz8T(;kLY_NSZ7r~vMf82Af3$ii`U+F!ZekI=;6#V>(+LoK^eLeO0T$t9bP5-y6 zJOaaABynYy!y9)l?fFkOX^In5p%lR7|5&=gfzpp}5?z2gltG$t3hNoOs+55Jd0-)g zj~e*jNeE=%F9m5`jm3+FFo=)m!{@*Nb3 zJ~}WJ)L`QTrhNTt&2QtGg5#K0cHrh(#`g&am&s#&@%RthEpzP+F7bh;P$UM)9)QI(og~36qjSIB5M%Jp~BOqJz3Ix!T$@p8hd=eC*Jh9o)!U_m}USX4c7hT&lO0b?h;BIsIAtB?CJ5n#S*F z832b{@o^22F*_c52#mMB?=AlIj2sw1IYlPCYTBHJ0okA(IT{!q#ULZS zn5H#BC^pI(PVuK!_x6iio*}ir|b&-Aeey}h#=t;<{LH!;S)ma z{eCYXlv6AUAji?5I-8Sb2xO1w)PTK(fC;1zM=c45V$`R(RUU&jZ>TY*WnI#$moeqg55 z<<@u#^dj-2I662(&SAsDsjkB$w7zMF&%w`w6&_8?iza6%ZDYxXo|6K7D5F(crL&hn ztWFMJPAT_%)I@yjC++^B(zRspIrvDr0fOoQ^V4z_XAYJ*G;(dGTpk4HlrbMP^&qK~ z391OmuA40B>{H!q=xqTKN;3SmIwyf(v+LE{iDorYNKl!f@-(9ZU`9^G{eTHPo&I6Zl1_4pd9o} zopQKZH;A+{dZrAF&pSwO*VPG_sZNeh%pQq1{PG%3J(#L*D$Sm^F~Av80VFg7l9FnX zo1x>)lvnxFBlpXLK3++i-YZcw04n zIM@ef3V&h9gofJnozM=kc(*l;Wc(in_1pf+phA2xt7*3x0T^Q3^pO-d++{_7H=!HO zzq%L#H0SpWJ!~Rw`tN0`Sfi1rYg+B;nzrpY$Qu`}Eq-`KsF#g=@EgDnXj079N|gYi z&TAlJ9}LvjdJvZ>F?LXhdot> zYQI_2G=ACGB_`B7n0MYo>Tmb1Q>}xLm1r{*5F~J}z__Q)!9t~Bn+$u2(@Zh?L`(!Z z`l)#?-fjWt&EKFuFHonAHw)fwYYJtSSTCGprxO4wfndrG%MemGN&lv)eITlQiL~^?+s94%Ai(U7JTyafS(&L zK1)7HURRV5cL!$iL6Oac+)LUVHK1}z_pvLX$TV=r(G_`tO)xO%vW#sSRG(BIWD3>o z;5z2j4TEkW3q8fJY{c_IKSqmj-7+79dz*CmnMyYNV;TGXZUO3dU;h%aZ^etdXmC!u z(t{Ij+LLhBWx2BMpRH%&FN;AMd>_jWFd?BV&M{Y0a0lylb-Y1zF&~D_?HL!6+?F;< zF;r^7qikWJ{XJQ_so22y+CN2(tkjsYai14bZi;7m9kz+rZ5_&j%zvyyh+ly$PYKGx za~~c$@9n22socG{8LaCr5k6)N684M((aUe`K4-RVIz8)yr*J%MT)%i@7G`C6(Wcbh z6ZJ;NhO`ZSND(0&=c)%Je^%^6Py`)5Vg#}B57!b8j={t00-s;7R6LtB3ftn_Yf^SBDv5v~|EQ^?5#KdC;ao>6aT(zo%I+2fqfA^Vk zFgbS7V_Bwi58(GEGpvN2Ta0%r1?w0rm@E83^Q#OYy>F*BJ6Jm!|M7iv!=tovXR&7b z8L}1lzULCr*4{ibGsxQYE#Y)OtLE^nR&;=rD+FH&5|M8f52X2CKFARL+K8Ok(KmLn zVw{a~<^t*pV}iYcTMpaBMLW#{v2jgDl-Rja16J^be|x*^Lv;4pDS#Dw8AJLr#f2^n zGv%q=xXxhggl@EURD9+VZ^!MF&CqtZf3fBvKxM-W@_e4H^4+~Yvyf!iUc+=QlYp-u ztGVdJc%J=Vll6=SYR zkiOMjVs9yaT>mJtvf04u+3JFf=w=``nZ8`3nNc?t(hDp%Fis`O7g~si>auVF@~92s zpy$ z=V)$SZek8sC)Zw}A1h@Z4Pygxlo59^G|RR8jqewdE&c-1}^q&z0OXZMok>8Zd8rod2feaWAK<^LOk+vrDgD z@M8NXV{w^mbiC@D?ZE!yc+gpq(Y1Ovi*XjRa3jKLK?N(Z<JdoDl<_tcb;It<|rkz3O2Kn+QIGXhX(Q?qm zXe|qGts5@M8teTPML;~{=6nZk!1&%4#(6Y8i-o~+Z0S(0G|m!42nXogB_Dk-V{sI`SJkv*qZvBhaV4$4aY1 z;Ip*!6x1yaW(0uY2`vIXT1s=FTn+e00Nln0zsh0ob5J+(%<|R{3NF{yJ+pD`u*?OS zn`7nJ10-)KKwfxA-&0s&8UmI|&EX&)st&$pX?^Bqtv@+=^G4alT#ybAP$gpJw4O2x z3)Nds`^d#T;-ZDF+e<`=c@ZI4>1Ogeo+A%xOhx^P*LtKtKUzC=Np-T|F)c%3S}_MC zQJMID;+_0)rH?z8U(l zbf44kVl#!$y+y-=yD6qp&7mPe8ihc7^9r0R5#Y?-B~Qa3p$eGenvo>{>Og=O-gHTq z4@LkOXJo4S9S$Acr&Z175}W^UQ00TYnI=ae|deQOjZCi2SC|e#GBL| z*vgDr0Os@BDfVGB_#Cx*&4c|apukf{pbOng((7*O-r7tqIPtPp{$G$}B52 zg6a z8n)_XCelh_*8a}rdbRe3+on^}QZ_d>IWzgj9P4iwHy*mD>Mo_54ajzxUI6L`Qsm>T;@;#gN#3G=;ON5Of&w)>#=L`{Eyx zi>8&?HD>UH9$ltJ9;o2fXd^m3jZ(F+mZvc;XzK^*=7mo zK$$uF;_FI}89MSiHV*GM947!zzpt~VgHF0ru%Dn?)<8LJ>1C{v`p%fhWy%%}?YIHl zh|fEJ$F_&eS+!L36vujI?bKcT<`(T=o*cEZmw=zd zHd*GN#_Hob?a;nIPT9KeSa(CVT%^U&p`c2)r>;=8#9hSI&7qs;@exz%rf(43!jUYa z)PcKw)d?%?l$ZHh}1@5)_)CvG|qi9QRcqJx1L6N@2n|K2mIq(hH>kZ|B zj-0;$2|_m#8T8;$WM(5Bxh)l*5Pt9XDdcwOHKQJn=<42;XMl;_O{U?2PKH)}8(^yu zmR7JqLV~l~?HjsqxIYB{o1B?a_X>VX7g5Z=u(EdWzsCC+VABjLWc*2)rJ@BrrfqzT zQGOGtmf+a2n0ITKz1e2(7xlEdx4{7dWVR@6{wVz;;vOFNk&k7f7&Ch;MwV0m+_lx3 z)~W$^e+CcXkE2?t2tI$fR;JT1w6)Ncm|S_BHM8}&w_a4Y3tck~>DDn3>guIg&b8t* zB+>IzznqJ8bZf3y07Oj`zSPM+V&_?aH3Z-M}NdAe{)GvJ9VJ$sk)f z0Idezp!MgRpp-A{J!9kC^O16|(pho@sK+gNvIz1OJL{_eh5+bBBLJD0GX9>B_3uZO zoioCl8*()jzTW2g35sZx3hA%!tVl5W|5?g2-5dt__?&%h?y>~u%imkjH)1i@K47K0 zP$N4KdqglV)thJye0Ewhj-O$c147 zmX*&S(w3~%DByoG+Z;~U;iiJ()qr@en~ zX7nyb+wv9Ye+Fd?d&j{vTjdJgMgdrBB%1h}mlCtow>`0U2s64w51U|8RuC3JO5hCi zt~8q#&={%WQ;Ua)SL5T=I=UH-@vHuk?=~NE+MxRmkRs{y1a1Uz@cfXr;0VZa=Dlgo z5F-V6i2m)e){^PI?@Wb!SMYz1+tgqj0J^Vl4~Y-tmmcx!J#wNSd~)nba#kIu7hHO@ zcuEE&aQbH#Ar`x0VmARZpEy^=K*Z6Y!+(Jrc_ybt9y4F@CtnImsn;h{d3JJ&AL+X<=MuN9#08PfZ8m3x7y(G$ zoWlJk|n|EZOK3g`bZ{L7p-tn<(#LaI~InI}% zr*lE!{(yCMz`KSf<(`ux>adlK;QK{GF0;9>o{EX5gt~jIiCGHdRW3oicKFc~*t%&F zswVyz_BWe{qW;9d&G&4;TXz31j!iN5|GZ__Baf*ohiK{HR`yT>&n3d8e>tSc5Q9zN z-`+bixDi@a4oKi38`&DWfjIufwC@Ss_nEmRvep zJyJ{0%S$;I`oP<>*T5XmvDdew=c8fZ+!JjzaQ{ze__lm3xSs!x63Y9uKgo&t3uU+1 zh_&W?hzBNyuiT|0Io$F8xvEW{2<4lRJ#@s?MXT=rJ!|4mHA>M7c3S;eT7Ro19wZ@q z_s71k0n?n2Lw#|DQsf5P)ck?!)IVIUe-xPC&RQtk-`%Zyb}SbZA$_-QVRds1c~gaX zB*)J4vCq|?3q(_GSD{{t9V_twwwm*6WmxZRhu{x6`5OrDv!z}!}c8f8KdKZs^ zs;NJ17i|r08spnw57W_Jg$MuCB6=R`#Yl+5!s$q-HJ6r+_m7s2IKK+XsWdtBQ7oWfP`K?T}In;~KSgMvYvRd6Of#k82@kRi+*=&%?o z#Nw%t+lM!%o|?0A=7JaJXCYAQ)X&A0-7@bIy)E}i-6`Oa3R8C00Ch7}Db{#&=D(+! z39*Dte#O%F+EA47FHPn0u;r;H(?d-@1z}HDtF9edso~0jrIsNX;kg`b{}4ZicvT|% z@hvPZq;`oj&wo`)3vIH^YUu5pZH>5dRscTo_Y3!Zy|z)#!?&ZF?y({FgK54f=|cf1 zDty|&*>SH*p0z)(%VjA@{8K7375kQwtPr^hT7gQ+7Qnh!rYAUdNdv7OuMTI-whoIB zggagq0c$uc0`f82054+|Z_zroVa>5i?s4CJefU0+%8GBrq@3)d^~H`Y=c+D zLVfneB|JI(-TTeVr9vh9-KfPfaA zU`{}b!@Zy3r?EI{u~3Ndx&d-GN>>Zu)H_uL#jyxN(b-KXukDZL=phzN(AJ$;R(NFR z$mc5&P9r*pI`)|-WC9DdYd=pNx~Of-_c~LbMzt4d=y0~yq&rI`9WAI>4Nba9wXf^i ziLUpyq&@jSwAHnB)D_43cwnK05UU%jH;{S}f(qt?s`_)Jb`|8L4G0*cleKR|!g%)V z#*GKp8i(-_!MEG=b0$tZ(!DYDX*U>m{$S#U1(->Vfj9=MyC zS1^u&D;^ekLDGm`{caX74>R}q>XyEG?o%C@KI5~6HMdq#pzUk{C|ZB$B9;WLUiG;- z{PZR+@lCu_TR?4VT`GbSIg)SWjy60= zl>jB|s2a2B9S=*U6{aKKQ0vSOmX-067qq%@ql4 z-?G+}*|9QF5hO+sSg_g@0liu8dNr_ot{-H^y2cBuU~Q~$%{X3vNWgf~U-?5mTUM#A zZLAOvqtgrwVe9p~z3E`gf7et4zN}|YnjPJ8T~k^k(z{1U%qwzX+m1MXpk)K@JynFy zAx_Sj7I$sq0}aNdPmKDAI=0t3X1U_{y{ZiH+By7w+%JM8uZ3R?Qj*BMgKRP9BYEJ}TvGHui6;%ajucn6jT zm{@Uh^)k0i`p#T3EYEXg4lH8h6-IuF4La23b2%vP1D`Y}hq^8mWQ0pZ_6aFyV;3si%!zqrL9eJ?jQ8dBN!xWz-G z+Yxa@Zvk!!mb3#a2p|~ratj=i1$mEKn_quzfodzQ9kb>y>bAzQn7I+j+X4hg9-uyY z-gNu=ojIg658^a@$kfo9y|u)&=7WrN{Kco_?}JBl^yal}!}Qtgt!hYjy4vd8d`ax| z66jwg-wL7Q1$9?%fLWO!yfO@IFh_TI9jJ}TVu?(yd_jb|Dook=6{*&)$Os=!>eciD z*y7;TSFRY>NC1)7#}b}~fVMPn%55qxIY%@tk+eRPr_PIZ{8>^MSUcacZ*Ayyb@Q82 zuiBx!;JGJ1)0LY9cgk4CLa?=*i{AUf%P<`7_c$GQB!UhhPmWg6mcN)z-tZ!$b3ian z##09vnj+Zs&_&|aonw9JS7HwkQ*(nZx|jw{p5;66#k|ZVvnF-qf^9Pw(L8+_wMRYP zwSd7yj~C-Tk9B-n-GlEw6dL0{EdS-1K>IRno|-wY#~h}Wb(zH;ya}*=9Cq3F=KdMs zzb&whp23Hku3T-`ou?Od6da1bc{k~ZORt|prmXStoTP9PZ2oyE5ViYwIId56k-||G zpGr;M(aIBo6%pr2z^E_DT#->tkoCXjsBgLw!4>h&Xw$cWQL30OL(ddDGuB&5Znzlz zv&()k-mClmdI2(*3*}2kY&!4?4=J$q`4c09{Qf#r6BQoLc{F*)&197hV~#JD(^mKt z!@jahHh3>ok2{1(g>4lnV(uLCoO%f}#U12|=&$GrHZ1l|+qV(_NDbli{F<}mnVn?^ zp5E*N+MID{m;xgJLAdOW15B{~xbZGTUgV(n3Bx8Y$fZCRCpDlM0`5r$^;hdVyDM->#n~0e1eq7-`f8d{Z_M7pqr11aLh!yWKD@uYq`s=IuIXa8rqjTzhMXQNF0y6tj>qx6^OjKIAcr{VeXQ;N(=h z6@_X84^5qI7OF0g#-*mO+y$6uD#0OYxn=ETR_o@`u^m4EypJ_jUaN6ijq$rrxRcrU zf6+vy?YW@f1vcM}Rcp%eg%H$}QJyM0Qg4vmmOAeunyvj0ogEIL<1Ba@D>Yzz5u&ew zzwfttT4P_07kB1W?Q};ZXM)D37PA%PLKCXiAxBor;6pFhf;r_zPkMNQS>jbqVC`uL z>NUaKdZz@$Hr)q(gB#TG^1D=!{?`seJO%f8RERTD9ISn9h%jJ63N#sZtNbDCs;bmV zQ}p*R^m_4O1CqY7nCBhP{$fl~^7`}ad?Pyr6$f^DL)X`Cl0mIpWnnrwg)2oDAfxVm z`iB2L)pF}iks$ppdUU{ir|sWmzT)0VbFRi7PgyYxZS{5NQy!7VeRUl{U-W)AveRLf z<8~vnVbAq*{)YQzt1up4GN%;s4Sf&ahF@a`LIVFi+DQDf{nUXW!9BUNgpF(3RhEGF zLg&9OolH1PV`*gMn|UmyGyfB2|xt^J;U0ltc!n) z+v(0-?pEqk$RHh#;MitC#V)?bJHVDOpe|KFVVKjI0)0x`Z)AIvTG`)S-DquYlz4Zf zQrP)HpH?R@k|=4aGmZKp57k{M@)9ww`Ex#G5Zr?5!s~X46X?+IvCs$w#67Vfz{z&M zQx~sO42{Rtq*fU3(6a)Qw{yx&48>{#F>~DWPt&?6y9V`OOSKbZd%zi!M)2GYt)%xx zY*M>AgU}<~RLi-^TBO{1PyQpYWaF;-vi8SnH_-imQ?FAQ#Hx?LtXKE5z;`3Msx~5z#uu1_5l|w^ST^}^j*SB3Y3+1e0n-Rt75lJWS9j3XwGm0hS z-7b(NLK(sJQ5}#3*2ZL%N*qukZSRFHBQOzMZ{04>mU!C;RfW-(0=9}eYzXOB;R8wA-0#42#lETpXHPwAk~n)1Dv+Q|+DDVhW-WXMhmFJ~vjs1&d(d#ozQ~VR(RL z_Hl6Zi>;%{ypTfG!e!T(FZ6Y~T*_&7#0$)p5$ZP{j4;XaQz z6fWYWIo>1QXTBm}nSKGOe0aX7E(45RD7K01)^PKZg0!9>#QsfS8R0yse zp3t9eC@}+2VAepL4&xsmkmuhbjq`hl*lf@uA+4o?4xNCtr{IQ4TZSzyxL&o4gK zVY;D0x>MQOjDjRS#NjOfOSxV-XmnqC)?hO~jo=Wu%sl%OQG(b=XXYwzuGszE3tV>ozf21 zR~U*fnNJxtLjFWSLO8gu9k=bgD~MsI3*+=pSAoM`>3XkSJxznuH;O!|;YkMKq7>|# zI!KB^9rXr{_-=S-aLH2_qdzllzMeGQZF)KOxaIcSh!pU}vunVi+r?JQ`)YhEscv&e z#I}wb)k7u4r0*4&agzHx7k8$g?tDF#D+t6pnaDdtidO9ahY)c{??Ul9N3;>hX&duY z8up{z_5EC#z>-DCV>#Gf0dkkLzY1=KAjJfv*meiXdv4s6V)TpHwVuJK?c7rL7T^h14OP02EaI_DHAN=CzWO&M3~JKsYtV@A3aS zfciEp^jJe`Fsc6EOO50gZsc3*u{s>b`KUEP2m`vkUx<|mJ?OXhE?Mf_)*y_h0$D0@ zCOE+whRJ{h0^tYgaKvHGUTfHUp22$wPWMS&graV;kr~RxB;Bbi4$})gRJU!q!bnv1 zAQpGv-OR{1_Rk#5lYGq`F_02}E&&Sp)0S9+H<(K&E6q1*X7rnt=A;lzvp$oMGKGE$ zGTZjfAl6*#Gl*y|@TEyX{)^jQn_b#|_`zi6l~I&_1i<3Wj^bNPpaloWQr{rIGQ`vs z<5-CQ$kVJqJ%>#2g446dftK`pWyC6B8IhtnYrnZbLsZSSW|keun#V&?PvkpR*F`NU z0+clZP8LO5!?^swcKp5)0_6D%?xvbfaJ2^~MViCe`+!@+4@m>HdycT*U%~IW=PZaL&q+*^*26>ldtUL;g`EqKlz0eROWrkV zKWRF@#dkFL;xpQf^&a`hB z75Hn~k4QcJjDjCr%tla2szE~9ULI@@!+3=AbhMaEouy*eX%XL(V$%e5Ed@(kla~+k zKWmoS$F@tkV_``8NtECSrXSNUNEVcut|fmuDnEsxx96MulENy^VU>7U+atPlRNxRk zt2d>IjX=7Vkd!lYaTTxDL6&iBm% zP$V05X+0o)ne*=vV0SWvguG{SRqQ`5n(Gipy6n>MV_{NI1ONs-;Avb&efr(C!E|V{ zth3z!@@5|Z#t_t`EYCEbF|6GmEvav6R2W$R<$`hf6DhLlNnn{i;-#{Kjy ziz(XEi&o4lYMvjF3e-+~;Ghq>@xLlsdaH8Z_Nqcea6@pI+gnl}_?zl3ai%3fC`Bo& z*Qk8(yzt>xe(+yd`+U$VQuD(FO>0r)&#LgC4zt&8^4?eKbO40b#W;o1JwLFzZf1;8 zu+ybW7U^BTIEm`fmD_7u+P<&CXZmlra`ERXdUYGZy(98xD({6I7838MAQ5Wl9&4EY zS*HFOJfa>|MQ`o-05z51h}hm8i-^bDK#7)^ze%+lQtpL+J|lI;`GD`a zg3DPN?ZGDp&H7UwK2b~17<=o0UuS-Ao~H}Nf{s|>bsoq)>_7k=eDssx*$<=pJ;K;K zbs!q>JQH}+4ye_k`OzoT=T^};APX|sLN45AB67+XdvF9fK?x;q0d@g;_PfFMh=X)S zvqzoKgL{$n-E=?>Vv>cvfANoQF4kscJmz#)9upyOVkbG+q4oV|-d4~=(?Rbh@3QQx ze}HsE@1L;n-uaN=fQmj$T0N?nM-*N%15zmZ4qWW<+mjXtgWMy%&kf8(rDt}T)|K|4lK-zUQ)szdsfo=UKR$;+K)pM_&uLwlQdCdThEy;M>RZa?s~BTNtsv-kgd#V5Fa5~jFMAGjV2AqQn6p~Dw6!^+%)h?u zz6)AQcCh8K1FS*@gWDAe+3 z@Y{{Qwd#f*tGlj2R(phNENzT+F=c}T_Kt05u{tRx-cQH9`_p%~5NCO_cQhy%5eF>! zmcyr8$ZM}AT*mcf+zgU-Mk_LbuZC@Kjdlq+6b1)SM2bU0ul4MnTD)3yD^uSknv>R@ z(3@HBOtQx5SX((aaQS9&cMNV*Dvc#4l>r)ew8j_*=6@|=#GbFwUzPazy%4q|Kj03+v zZAmzi<(4z|oeorrO*Xvy(kEt2EfAkprb8HOG`}-sZA0Ebz5rBk+SE6be@kiPTY?0F zFaZ+wh_;olPqCb)VF3L7hi~SQ_2q&>Bj5Y^9&ikph#1oN)E9-?znqw1K`k?ZCB__% z1bpDGCO=A!))e&&y%U{^@g$8}B5{QLD%jQbRK!CMyOw~Rj32AokG3rLnmsTtB zaFj?ZjPhCFp)9ZBg9po%{2b@Q*E#O^G7?jIJ+MeZdD&H3ope8~G)q}r=rmay)6`3>$QumL(jmDu{OS(=5 z7MXHC2Ojfr-*YwVah}t|<)P4*&wW0X|1m&e22i}p$>zAc@1NgZv|Rj=?leKiRW6o* zFRoBU)?*qKJWrgTSmd&yO|LQl-+nU|vgA+EL`=1ThUqhY?DO9GG0tb++w5E70nMf? z`2ep7yp>#&S7Aqn6CDOtHLvq>W8;Udmj4Y;*<4L4EzDssBs0i}0K$0n#j+n9$LdnZ zO2F0T?Z^U56TlarM{aq0kzNm)H{beYw#=q>4*G1b^hrS+CjbZyU)$n94c0|nLI1NV zy&eoPBX`in;MZ%7?y)K%Un2Tn;g}GoR-g`5McrQJ7GMM$DHy`^FgdGzu~ON+LD7K}Le3ADdw5qqdUBP~%qi}mFI8^++Iu%_84cWg`i z&x$-RI;i>MDs-DRP^C5#8r96CzsMfM`6;B1)4&WmULZi_N~KDt{gw>S@0#*2I*I1d zaaV_SonLruw;FQryLi)!m2qv2%4#tdwnY;UOg{lOaIh({fi1#aF(4EsKwzM#!t5R1 zeTa2*uC&St8`;uBre`1>To(h?94XM7Bh-BlDeqq!)E`Lqb6zs-%uF-0=q#Vgwq1m8 zPiG@CvH{RmdO>ae-+6^-fA?dR)5)H=4d+?}gsNgeDRLxh{Q`LY7b+OUgqg5xXeCgKA3p*jN&ZTCj9+}@|viW(ceI-wb|JWm? z87q;|xx%J_DJ~2cw#fvK7aJi44K1@#cWO9T!%48MkWdzEpNi>Tz>}TlU@yK)!B*C> z&{#ZVls+ZQkb@%H=&&$|H|Z!xsMF4kDv68m_)R+l9?oSs#Hw(27SAhkxKF9hV>n~1 zPwxplq!_9!CIL>T0c3@*%k8hvI4du8Si|%ge9asp^hkR2jn#72mN!TidGDUlZ*`UB z?)#tV_1_SA`2EG&2sgwV|0ZwS+O_DS6Aq?@jm;&z8z&~9zJ>Zkkhc?Dj!B$<|bLa zP4VU*ri5g+SeZHL#;mN*o(ozgpg&pRu3W67l65fR^x}Xe9fa}6V(pG%%s-({`b>bA zv&fo;w%7B~#Vle^E$*OF$c+mFG_A7OVM7Jo5dN1;ynI{bS9Mo5542tok01gmj3@E1GWi_z=GTckllDQ78sO0A?&b zp|1LQXrn>+M-5;~@S?5_sF3pAez?4?4BsFvpjEx{zURCb4B-oZ+0E-Aroo{>Q%gts zUX9@G-OCGZ#_Rh^sNr`3P)F{No*!LgG#pj|Yj`#Xi;QI)K!W{MLzXAxK-S7pkC=`O zYUm<7L=1ogFns9EGniY859@4{|2X6?b}ZPm=AP;wR0MMi&Tix!%Fgz4Dr4S?1ih;1 zh7{UlGK-(3odb1s`Z!S{{`%28+&Hlu9lZ{-;wc&tUJsaDnIwd#e(13)X5*RX8d~c$Tw0(0854tUU!6mbeZ{Z3?8A ze>wj(EY-U>$DUky-PzIVul)1Eq1H8f_0=7Sotpi}KX)j%8V;k%@lfN3t3I^RIGE~a zkWwnyTl_40Le|6I(k5qj_QvGQKviqU^6Ry;k(W3?!&bw_;PptW~pRKG#cR*@`WkSvD z65psEDcMu>_b<=Bp0^4#J|DEnF*hC#=gLL)p`RHe`nXMtC+9Zh)6hr87OyR2DNxZD zYp$4oP@1^GoFl4gOU%f$0YlkaKX@cx86qe@z2kN;>_*L$nOtMGmfp&Q4dR928dDd8 z1*HFh9A}?iP(J!mm~>A-`K;mMj%H=z|HdScrMu_e&5wo)1QoB@QBF}P zRCp%jC2;&XT));R)63$s_Ha7zTQJaA4zev*CIn8CLd$jWcyO+cQoUfv!DB+oiK|A& znTW(6s^Q355~K*sV9j7-vvP}vU5m5;8lU}-GG06 zPf|{GBm+EIAMP2eNNh;mvy*_+`SgJ4emKRccu&}AU58>6;(``mNRgHmKoaDg>|OJ- zST5jv$RPc}8T;5t?;7#Ru*q0!{E)!+-MmgAwgj0DBnMyEc5m+bbcEM*wL|b3(Y-nI zbg$cqT9K|SFuB%XuHY~M_D^sjE!S(qheMYS?g{oP4JkD737$w#1hbT=0HyhrIsg3v6Sqxs`Yabz>Svb!|A9$lfPm!ChIvCYGjWt&<)!za00FS#D%L#`r_3t17fC zoxT%`!*!tj%O`Dq7UtMTMLB@%><96^^-;d%Bk6H?oDn(`fCeb!`y7G{Vv(t8>u zzC13B1;>;F5AQs!q#Y_Z@)NQTDe8$q!MLVrgKK3Oi2<)CX!u3NJeD-EyqNGHE|t_A z*4aj43GfiM@x0Kb2}CN#pv&22gAeQ}UV7h?H0JYtnL-C0zeBv_RIVhji{T9}#pIY#MVX&`tT zx{N`p6o`}q_F23-(4nNNgnzyOKoP)~Hk|(e93i&QM(zcP_Uelq{10DfB?FQ$)A3D! z;d$Sr;->%d6aVk~nKVgRU=}{vpkv>Mw znUOxrDBsyRKWiwxf&-spGJDz7%z6}V0cKG|%Zv&H?Sz_}49i~*%afkRP3M#cy>x)j z?0X?wO{+UOs`EB({H;;grlK&Mazy$z>E$r627skhUiKOp2aNxUmkrckXYzyCyNB~-+KaS_CjB?BH`>N)-rXVVoG&O( zxXEty5joUJ!ZumD^1<%QgR~~Wp)`zJifMeN>6_OqIEjVI1ipn%SXZ>`E&!(I%JX}d z9`fM%lCaLond2wmn;t50(|jzw_;2j^oN7k!B8+zy0G24OCFy0*_Z||~z5@tNS{1+n zfKK`3i3}CIv@AF{4RIjtc3nkNJ=0*5FnE3L_IKj0C-xcaxqN}UVra!R_;WFu3OpnQ9l#3z~Sm(QdzEi7~fbg1P@ zvjJtr{kU=aq658TsHRD);XfjPxGYd`PMlTvc+emq4@`P=cz>c%eRbKdv$AN&SCu#!Ir~+4@o7qqX_b+iC^5F2MDK_dO)6 z>%`E76_CvpAQ7_@$4IL`HCjEO)PDU0B?l-q_Pb6D5>b+#W00?y)|)TKro9K1^Yd5v z`Xk9F#+TX$34bR&rMxx1Jg9)G8U(EdS5BVQQWcmy%=69}-ZVUtfQ7`>6rR*~|-@ap1imrvC6m>h_#bqV3cW%|W zL-eN8LGLNG6Ze1yV)NQ-Q^5Xn1Me2j-@G!yt#!M{F2&aWKSyUC59Rv*|9kd*3|L{yVRi)zMB5~V`R8ImM*w0_#ooZozZ zf8PJykL&Tculu@Q@7L@3B3G+#5T>1BpyGPf(|1({D;G01_9xU3RDJ-Z+4KN|x}bWB zlm45X9dP`0$xt{o%F9onqqBhosr6vp1L9`c^5M7B24F1JYsYRaXFG}w4w*6yl zDHssq1Jiy)AzUv65(YAUr2Ksrz_xMrMQOm|0JN*c`2x>sVk}?uGYuSQ$HgEov_EUy)&_XAX`pj6xZ*(<#42gBn3T$yH~9w zYmRwnMswL~mrq5X9M$nnS+>l?ULv-=B+h{hhYB_=o8fxU#08+f^4_?>-f(^%gw%htswl~U6^rK$fxG0A9RkwsuRr)`Z)-REp^_|b% z7l@JLW*BZ;wc}joT3hl3E){4bOkI1YOR00~`>a}a{C%CMML0Lo=qC-WiH9ZOt&ubRyL`ME$`hOJ>1o<>O`HkaC6)%ss63sZMK%s)S_5x+H* zl;we$i4in}HQAjfXcvM1{`B7Kf|@4~i7t(U6&)bxsXHTLgYVWUS*z2P2j2A?VQRfV ztzL*#xJqN)!plygAo+pLG@?E-Cvhe3278empJZktrB05lqI*b$?=)Qcm`&ew;cZ!SLKv4}khQNSlb4#1 z`A?6EgkBiY6oP8L##VLGY$fQH%D7~HYk|0&`a@F4GDacK9Obfprk+MP*bmJXc-1wI z=VL3B1U@?3_rEo?+dWAn-XyZQDRQ4bqEEqW^%RZM$9!|NtjeHG%YR}>dG4Q*yWD~! zoo`44Bo_%cF7*HWt@wCfrqq<38V`#m>uA`FIbN#SS*J2>Q-1N+Q1zjR6uR#=Nni(P zXrkDLzGO}xbh3p|*zr5wz7^kiff=2@3FT59A%8gxT9F}^aYrrKzpaKos5@Rd*hOu) z;*&x{vYPAc<|}4F!#X@39Ihg^uRpRDhJ|dJE+Gtw;EO7ajTK_Qy=pdP)rBw zpK-UEWXe9imwm*nwGf;r6|7YoIIh`4@4$b^Zq=3g;w$C z-r2zzH`F75peSVnqhw^W*NJL=Fv%YJ*dTDoLHW{Hg}c!-WlK6=Dz4DUM2?13hhX^>@l7eKR{u`^H5($@D~^dR{AS= zy51+1pbE+CAO@yBf7|%29_E{-Gj#6k7-%`XOrhK?AWO_*7mZUxy1G1zLUE!D*%bEb z&*vhluSo1dr}%lLy(e*+X|rXnaVr^Z zZNf7<>`%;6zZL3SQtR>RSJ;GihF;9ty=_!8qoRC5(zM3p8xG63K+BMHi)`NYRn<8u~`k zG8%5bAyKrOr7iMXce#8_=+H2=sN134xBS8^YTaHYG=T$3Q?g-m?u%J>I93P{pk7GKaOE z_VHdJlKJG8k@&u@aa(P(lKZUpdfAS-pKUfFD>*#$3@fRnY{ZD;XRVsb3dWxg?`~E} zXe>5xV83b)@0pJ0F&)tvG%AeT2I#)vchU6w<|jUl>^@-sZq|Vw`J>%YDVK#5+`HVf zRFQT!z2J28MM$dCP(~Vu_c6fH(Wr*Ad6l?NcCrpuv1KZ9yPzgwg=f~*Z{yLzu!UuB z35z%=E;K($aL20mzNbKN>d9$^TJn^_02*?G1(Q>JStE*`jpqkC+WnG z4KMXWk<3v>JsSXT`pVja(J6DSd|=uO$W5*RicF63K;uDMTz+Pmzsm852-&hb z*;uf)CIoH5PB_F3c^@*7zvkh*c+Y>49?Qhug{MNiAgUe5KbewOH6R%qv~hPV4)L}V zZmdF;o!Jx)H5A9Q40cKxoR?+XEsn3>F_*K{_viYUJrYhRk_F0j9|H^B8{xSS_RJ48 z!?}Fop6v{877gT+#s&+n%dy@(+`ayE%)UAZ=@PrpDd#GTmybmdX$-uxkXEq$A72Iy zYAcjrwvR2vhWTRgeD~91U9IN6H+>0H8^zI+ON5<8;55~2{Vt%;8z0G~nphzM#u!_i z9?yHjp|k0DZ#G6 zpaFw(5ck%sL*U0AA1O%!l{ahl@DM;(otm3>rZmFPzwAoxG={f4@Rn}MZ&SJ+G;2O# zg<}%HgeqWY$K@rfS1O!bcS3acGKWNSJfS698lhZN(ZEG5QYXItecpNF!UREQN3kN+ zF(>`Rf!aLP!la_xQHC(AK+mxn1li*71DE}R$^Uc%c5iB?H0mrt-*7`2<0HtM==bzD zMS)3CLD=odO9Xz={Q=rj!rxY6o|zFUgx^ChhsNNF9Ql-69GfohB)iD%{0*|n7jB9tM^ZD>T^E~yT2 zaSU!#(p5TElxY&A&3^q24jKD+Mg9N&QaZ6e^QOeVz@)p=xb6bt>DJn*L!s|j$O zMrGupe0Dp#oNSzL?;2~<;H3T5j91{kNU?Lyzv$CS*kP>agVRa5Y|e~C?I6mP4AM}P zP)Wm>(+V|{`-c50{X26UsL48N;L(_q38As(x6O=pAebP~*tU$TJ5Mp0nOA&sTgZJm ze4FJ(Z0U05Iamz_gSUN^cZOma#rfyBdIl>yr$wdLsL&}umfmihuo%u8JWXyFT^b9` z^6hC<-qu4I$Q$a%T0itf$(D6i<(__&;j-TGQ1pWt&mRb!*ymcpgX<#mO|vaGgSMh?TwO? zu^aET`UT3oJ(zsE_p_3h#iCA*|5}UwA9%8R$?ghfB)gt1RYMg{VLmqwsyEOU>sc9hadi1Fq{}Z^*&5nu)2cKr zE-<703ScKnmd0X={%Ku3^9t$Ho~#8{IyD#AJE6ZvvL=SKO`_h1Gw(Zv>_ng`c{fvq z53_OHCRj?|on|R)U#?`gsW?xjwjrI-LRTPJ)6}j+A=I5P0JRlETzimS2m5D~rk@He zYpHkyt4Y_usx3V5vqMZ%@up?g`yDpJ+?JntX1RA7Hm<|kdG!(AM$_Dnew(eH)fbyJ zFXDjH5K>-|yZnSzXo_T9e6xphI*-*#C;Qfg3c=pgZZ% zP9z;rUE&;kx6|G*ZWngf22XW~t+Qm>a)fy;0C>`)Yt#iaiveS=;q6&_1_Kt&>zB=Y z#Y37BgQ=bk_6UM+DX26szl~2YU@T(2SK?v{ zk^?%-5IepqP-T4GS9k;D0#L&mfEG_Z%i$_dyjHKC;y&7jb{0Ps3Ms+TT?HS`Tn?bd zHL2IenYH_}8j~QheUPH%;*!|OQ_KfLCWyHSU%%Kx1!DXk4gnsc6zz`g3OJ$H0xVCQ z09!JM{AuhJq%9QYMK3dH^|Ou>*|NR7_}w0yNAYZA7X{)f-G6rl!(n?cA9$UTV%k=^ zHR!v#umtqblUWb%1vUY`m>9r@Me%$mm>7JF>RAvUSWF{;Ek-O5ysJN)>97DyJN}K4 z9RC^zB6*FIZ%Bw>Dt=9*6#E{{qaOmwLA_-LB$gaar9aD7N|rpEl#ok6f$(V=euce# zgb!U?0+1Yw0A_Z#nUT^3`8G_ByQmVyRbCe(eTE5L3XYM&3+Sms8Rv175=-`Ls$8{Q zF4Ss{QC7kd?3cEM?se(?M`HB))w-g-*(5oYF{qP@@v}&WCQ!>*811~~04cnFztXH2 z6vT_3qH4ua2@@^q(Ro?;!mM~OHK0VVD9*S`7$aj=CnYGQHmT>tD91_E>lcYe$ww-? z{CWnV>*tM=J~=FNh~5l^&F_pZLpFLLxcz4FBIbir1Bl}=d?z0kF6`14HyFgRM% zCvTBXKu-d+d&rAQdei6>XtH!BnF6(@KpICLrb^-1a)F-gz#|qNW?`=Ekd9vwCmHPj z3NOP=iiza_@fA~L%eI_Z3Vv4*(2srADl#L2)y~P$cul_uqdKb0;G!#F6Y&FAPfi@q zAO99-LLJojs8tz5a6=qUxMIZfyioE`*FdNFc%Bt=npm<(o~%&&BMp)659rb{^%g=* zq*kH%M)a;DuG?_yoTGBaAt%Nr;Vq6fV6XzzVk^T!1B2c2L4S+KGxq8VjA`F7>#DpQ@`Vf&RuWc0VTIb)bRnJjeGxlSTF3 z0DLM)vtBYb6lion-RlJvPQ5>-x&(ot|zLUz4CI$s7dp@z#@KMPL!V zY8%Ij#Y{XpWx!BYyFW*%;sk8QlkVpWZKW?6-D8z zm3H%@Y6(@{Am$fpw)oS(ndLj5>9R~Uj3C6Qdl_lnsv5m9baQ3Nur~aD(k=mD>7JkR=DAzjiRKUgP4pY5|K_0#z+TVyDEMXO4I& zP+;+_t#+fJ22+za%Y;XJaN*eo|5*K%Wpc1c7x7~$GnB_BL83pmOy%l+$PiMd2zou$ z3GO<6mG7~bWja0%7A~ce0r^<^((J5iT&%*+%3LxX{*^*Ialo_GU>aR<#aC#hZUuRT zgk_79F2;L!Q6TL?oUa&i7D#6CJxm_j4BDskwSn#F!6*=#xUr|a8XX`Z_DFq@;vdy5 zA(vZm*|Ksq&LVM{9>cY84b87Xb3nUPLXDmw2S?rNH^MgsD7P`qp`uZa-I`kg?7MN% z+BX9%Lv3o2ES8XasS$}ap$6Hm?{%Kvf*_0zHQH~*FVH*WgOLechY^NG00Z#%%;XGH zFmW@LlgQ`NU0v)O8A}G0YGhGNhH}rZIPkvJW{BV5nwx>aiO2X1Vxrxoj2Jxi!klFoOq%2K^h%ipAB2v??ML5ae`e*`ysM$PA#dc zm-l_nY_A@r%h51~;3pvhF_@7qg~hLyx4$RvW^Ys$FwmJ$LV5CkN#JTP>lgre%TdWw z3f?f< zp}#Exs0qEcxx?E$+*DiKq%M+Z)-sf5IVEWWApPOozI=;g(oEM;iR^gjm*=71(p*4M_~?FnLqJ$&TmDY7$XWU4`{_jZ2f}E<^e!RPnLcAp zPn;Y(88@WN7!nOd!p?GVlcX}`gV1PUmrr^3NPN;99kv!p|0+IYU`Rb>TxXG?#G?Q= zEPbpE>X=!|B@%L@M1eP-X~2w2qgUpqsUDNzy~Vae-tJ@Vv=i*X~S$M_G3^XX338vKFa8VJKwvTZ^TqJ$Wr;2 zxjP`{y5awfGx8fo2cR@M(zqoD2#%0_IBLI05-qAn{*Fb(;G2ur#I3oJdyROfBVO@J z8jHPC#$wAS{{7g3pP>Yoyvu!9XxPg>^gh}gNLBJ~QjKd;{dHAowmH1hh+3oxF%oyR z2?AD@Gr>(cXNr}h7^+5T=RPKG-Ty|nzXja(xD)+;-zzp8xKrM+J3Jmo(OCUy5xGTY@kqHfI3tdowJ3L zXWl3Fegf_N_z7P60sHI>m?E{69+Mj8^|{8v3MkhcbZ?k)RkOLOj*{ib0bMci<{0A1 zaf8v{W)R}C9M+T!@xOS#7cingwDl65^}4&feS+Y$2Y%(H-zuAe)^6lwa|wx(R==g11dca1uhnRU3q2|t7Ol}TA>@e{+p}7 zHWtd*r={CoLanm~x>b_wPVZF5X2*u1;~=&UNE4t>CHvfrbbBY$yhH;l;^2%_a2JQG z=1M?lHY~RY`On_h=i}mr_F-0-`(!&V2D?XXX5$OkiQ6MCwoW95X+W&Y6YOcP{_O() z>T=Lz&(v>{ocG-a=p)&@A*Qu0fw^yyX;)>v+rW6oSTvI6oWm2d;{DKOTN3=mhyasq zl3Uw2fju1o-ZTyD9ED)ZQ2v;v63$h%1yQiqxk`G-lX*_~r7;P3Yav|oBw5j&H&CEN z&FL3iy;_9R)D9{&s-V*4i)byRUmYw)s?j_XNL;1|R8cqnMGjA&k1))XHRk@*Ve;Ta zT8h|gX$GZfuVOSd4H++0K(l5OKrQDxtFP>Q0)Uqh_Xz+#yirWuJ3*vpT#lYMd0K7k z!j*!pmoHo)UkXkW%+a}^JQb%NsCCaAfx;{xWhU*tAKn?#V1PsGjS?>SCR}Er2A24V z2rcjD9Ymv(O}>pJO`V>1vs8MOy<+7TIE&(vvJi<{(j6_vYmvwa$i00UudKvWDu8Z}YAYKnXf4VdH*xHZ_-}Zd$}`Ao_89Eq4QvY#B^}So8v=LY^hy*RTICIxQ*^ z$4SSSvt9)RTxjR zHy(=2V-?)c9gbkwVK=?`nzL&XLRh|X|F{OSYalP*Ub_D1or}d?bmmMO6M8?n< zyX|&P=fYG@yQjMmvp&E}LkMjeHCXUErRrkoR%1q>~##*H#%lANPj^_+y z@91b{Eszn+fih98yy=5%W8j0!I=!+LC}6+CTc(@1UQqO)4dAKm(jllx?XNW@3#ly+ zxvdAS6ylkC)g6wlm3oJ^|X#qFfR)}P^}5k@d# z7v)^!9jcn-6`=?$TX8r*8YGG7H1lMJ8`roRLZ+Qf4Z_4O&S=)~#AglPjBYWbNRA6a zxDa{kM3OfM^ZnX6auxtJr$$G;*C2^R^=acEuZ)Uq z&u%r_$!3I9w$A`qbtys5m?p}N67njmzqaZhJQ0z1pYq2!LBO-MMmn*_ihpGZRoeF= zt!Z2XyK(R-m6G%%M~0^Tv(t`Pony7n$qmRR^@&U4HlhwbbxegUc10aLwp4{eik*vr z5|Ar>_M7Wx#qu1z!<8mtXzr*|Kv+`F@E{6pD;KqLgwVj+LACBazJAsO%-09~J!_Oh zT$L#HK2p~J4v+1WvzU7vhgGzLo0Y2p{&`~tzFkToI|ip8VAT?V3b6lYO9s5DVMjG* z6E%%+9IFL(S9~q>SFQdFTgyh+bF5WWw^bSC5%RpC;Byrs2x$)3T+?E%D&r^aYP0em zNfYK*b#U{76HfpA%Wl{n(8Etme;?#TD3+)@!8gEkwVi@ijLTa_i}lm2(B95u#lXPophf8=#ttWTM&1>GEWO@RXFy^y@%1o8&~2J5{RK$%%+ zaE#)j14AJ%#h(K=uu~N7{fD}H)2zwU^HZfbo_+{ndmVliYCsSe7~gjUsT^r3R9%=h z39X0y9N%&UwwTBYX}6>T2=PU}dHwll{Va*&^&nbWE1nnUNAYh3~yfeo=1 z6k*A9uF{LCU`zIdZ}*|w&wWe)IaxnFWuRl#)AHsNnSuOT3rg;eG0G%pcb59xNwkbP zN~CeM=}m=X7A3-a?Fsd^3SyzXJRqCot{wZGbH<$Fp%5cRwNk8Q#l-W5Y5%}!EDAjB zJJfv|N}CA6r%(o^BY@Xl69_h>D^^A5etM@i_11I~#=g1Jk!qX%DZF;vk68YqJ~-Nt zDOcy4US_QPVWIk6W8b8qJoF2)7VeEn(91_4q9tjIyw{qLjD%{ei{UQ706GkMQk?Df zRP`WYGFj>o(N-H_R9zk=QyB8U4|)xeIA`SjVEkti-ig&b|L*-bs z8>nYB9=5v70yo>mtZS{_w`l+P#X2kI&rT8o+r)7=e@MFUT6Mz@^uQl#LmCJGA?Z@r zEh|Ie{{IFJ$R1Y|f8i~5(jmydx7Z~#lf={5K9>3gHl~J#Qd85c zpHbT%>;$uwp;FksNlYi36(_4v5?2)VXi4)I51v8^ZyVA*F4T2aLfl)_NZNp3(^LH` zi2k@qg?0mW@gU;~*gI)j3%&=Iwz&1kfR_1^!^f@wrBUd2V-p4Z$yFn^9n|y!IDd{maF}@=uk`;SD60V{O=C z>-#z|IXyf?CqhFPW=dnoz5{#M81Xdvb~(Wx&N@tB zgQLWD|24x2LyXL#ZLkVR?1dx)USRuRl7aaD*le*<=c|XneGsMLA;o8zE+*oms5Igx znU$-Km8)$K*mVO&6@W}=#OI;On<{qBJ~OeHR??@N$`Pwh98hsk#A1-!zAvPe!d+R` zsDqW7`<0@a_o8dWoQ5x?xOCV|yZOK0cRLE<7pBpDVoZ0MMU{wKKttW8hR??O)X z(Mqo@K?e}I&jwAN^g&NIgM&e^BWci?T1f9#6;$RH|EG3IA}4a6!37Z}kK$Z$71c*~ zx+GTXVPmjHi1ca1ae7fOT?Z%LaxxE+vY~#Rg{c6keTYRaF)cFrb~d~-@q4u*pV7ZL zz`j*67)WiuC5O~cY_76n^RvT78HAtd*5L{HrEd&_i)4_HX^<(Ts`A^R(=e)2M^y(X z#Dt>*I6zHlkN{%Rp~tEVRB`|WzK5gdxDR$FCj1!4tDGI4vXPM!mbx}h((#H7gL`qs zsJTSnOja0NIVnHg#+eUkOv6mEuzefqw0MIi{cZl=)Q^s%UU;8Re|Kzx3*oXclVa>6 z5vH4c{8okf;bQfh73y`|T`ek6NvuQz3arwGd?hUAN6)6x;v=oKwWW2=rcy)0jif7Y zor!cnYXkgzR`J#|BTs^#evFb)`U#sDV@aN}1GipR3L0z&KU;>n(EX%emHc8L(;?95 z*WmGeiv7m$cn;|1fay}UcT!$ly#U)IV_T4bHfr_~#bbCPA)=S5%4PqTK(0zc0 zQaDJqazImT&f7rMh~Uvu6}3S}!(n7L5;B=WWMq2+pOW8Lix z8=K<}w%o!%t6{ke&Y)H4q_8)IN*!`rppqFlmkm=MQ|A*b%B2N))3N6Eh{Ix3xtxa} zCS`B5w6^TQYHC_KWCUrPFJPrt#Hf)*Q4K6j>TT2|&aQ?%7MH}RL$PYLAS7d{8ply` z$OLBtMLuY3Cnp0*a@NLZQtn?{Wg6Dbm_Y3#Td+b^#bGiht6(mZ^)E%1I> zy$A+_fiwxwN~3HUitBtxqc^r8yUch8Lb2|osHA2LtS$hZso(E+Rq;+Z)PDm!-UDFd z4N+}rVxg0 z6zsY!B3(Z-VsV z)D>H2r3dn{C@9v8VIL8h9(7n>wHc?vD4EpO1b$lOsb@bjTMduzu;3Fi^tgT>bk zSj8V4!*}hky%BoBBuhv6sa4_y0&ekG&l^Z*t+~DsOcfgqx9%^QfH;UYp}E{qHw$;$C2;n-Hj$i|&_B|FfFj2(oHr z40I?$%YkwLiS6D{Zxo~NOh2-Ci8&* za4`8yE8xY+Bo_I#mCxQ2!=}p=v!Q)B#ga&DuL7?`b~PJ%;|YiaI?*=>)t=dZd!G`7 z1)yl4p&HNuGKe-a!ZB6K=>jWDd*hNJG=VWK=wef8sU|9PL5M?1`*X%If`a(E0%5Tam4(`~GWKh~%4 z|33KR_wrxz^!MD(>3<*2;a-9tq=E0ee6^XgxOwLLp9jB6UrpmAD07Ve{pr=ofzIif zf7ZoqG%?|r;jd#7z31W!Z1jZ<^{Hl=ikkqe9}4W}LWci50GFwk3s4rgL31rE?TkFb zt-1M9%#C3ywy^up9nBbt){7Y}9gC$#GmHHq`0s-y2cq1Qgj=!~3}g4}gmp!Jx;Pwj zyVf8?+gS8OPYkFC!I}I0(i`foo%Vy!fTTN5w+1N>S4H1F4>A$MnHzw#CZfz0H|mxCx%l6^h$xQ!kvA8Sj~&q8w6j7Y9GEZ@)&zr%2IH`o{@`ZB z_$lE;e_H3x1#Dmagztp7;<2{bhC7ZBqdJ-PU)RJ@?bVC@_c^sMI|+9)DQXPSU&J&3 zCeY@HUvO3*{z!f~DZ+HgUabKSq>GncfwW%r-Fo}R|0R9>)zY2!YyJ-vOQ$+g)c?El z5SFYaNm9r8O|2!X>1cLSj!I1ay=HRM*8=m%K=>E#@r5YDy&u1kCkPk`0n;udHrAF5suNQ+o1U4uO09%@U-JJzend@FvuLCPZA9}Wvv~ux%Xhn zk<7jef&RU?tKc^k5T$hJ>1ROi2&5@$x$jzg(dYd>+Sl9$pKi4R54-2u)0K6nT^%-n zR2PV@$iMKn(&4h5)7Kzu*^O8sqIl9i;p4&GYL(lUyyaDgCn6k~1R<-^JDsMX$pN(3 zur`3x_%Ci6z{%EG?=MDUABeu?;W<+T93(;Q`Mc^6b!d|GRlgYHfWeNl-}#z+1DCCF z$3$n2!vu9;vnS>mG}ME#HOSaNkKjA+-oWjRwfQ^mU;g_L^LFZ^>%$KzFC`y;^p{K_ zlP$(mE!>}rt3LhRY}1oqax%npn@{Ob>y}e{5>MtVLu86a5flh({((v#G6z^}BB1N! zlp-;*PJrqnU`s{x+ug9+I*|EC`HsTo(k7Mvr8^wvpqn@dY>juQHH;~Bz+8pp55&FF zc@nbob>*oI6Q3uC>t9=I2P3Ap5&t<*_{hlXm5h|$2NBy$=zXqH0*%%rTc$xm#Sk|e zhz(l?0jv;37&RU2Eu(Jeh?3eimg7wc1xDO_B!f*;^q3eaW4I<&f3`xNq&lXF2(e0A zeK#@rFVYUXuLvp}lYWWb1(m28v+T)^GjAT7v!{gSJK(AFmtw^wn^Q)*B5f`PG(2)X zIPp-$+|ikqz=2E{@7l`+y@#32Z@=I--@Ezf{;>0|nM=`O$(j^3#2I*s$zD-TZl@BE&;b}iviqj$qnkMTEyCygflJgw)` z`KC8832F$eMm?j$nRua9_g#MfAII1&t*>xag%XC?q+uLV4h0wa;UW| z&QL)+yxn@ZWZ0;*J+hrN9BUVk9zCNO!eR>@ASb9%xq)@DNKhe3S2?UG2&SM9w|%GE z&^jjJBV7_+mz~M*rn=)o*iG&VTPCLm2`;vh!74xKRd=$HBPCyV7oWq$TeD*LYN@%r zV$GBrpYjRTNXi&UgVfE1s@Af3NDq<(P((ihV4AEPZi%65yA-aOT-$;)u*=Cn6_ik_ zCM{Fj#n4SAw-O*{n9YH$^%|jxdWiSf0sZo|uMg7(ear5v2528%#@NeRS&L9K+DL3b?x}rH z9h}m1zGjTHXWeEx%IZyZti!nPsjgFDs`F2S^HLtowGEdE=Cv2&?A^QUT6ZiVQBX(v z0L;Ttx-Nk1TrM?Lb6yrt%gg60PXsvI^~^DybKk!nLz^zpPZ}Dhjj?V+&^IpUDW?g* zjx=%36#+9g=)B-tEb2TVh!;dd);oTVf&2+>7xI*$r4c36&~TknCY~Hm3L7v&6_PdL zxO&DPA9q6RfS^5Wth|+BP&wcS?H#s4TX9&yKNggzY9d%2CdD>hC%wBX#><$C$1^aY#4*_#^_jPCHjNS!nnx zwsABZZfHy((Af!jD)yBS)vw9nA(`RuDIKs;dRFx>v z4JQzM=p-ABDL<46Cu%BdJG(NskC> zb7GWX_?(?(h zim_TD=4}jyw+lM(L~&fmkHJ>^nc~R*lZe@#hLJNTqMMu5?u>a@mU2tBE^`$nNVx7< zf*o443Q)H*2t5GuNpkZJJ}tuj*;|XnIjYlW(6fxEd+)8bgRs9Jt2v*)Rss0NU`nqI z5WA#ShetBq4#*aYRoNs;nWF^~`qkTqsdItyLyS1O;4N#F=8?%Mkf1mKUeW7g=f^<( zqZmWlAi(vF7<(wTP3Q#Xg-Vsnb%sB@z5SMg!rFNSwnR@-ya0@5e$3IiUw#No&DTpB zgL>L7DOQl|lq2^QKYhnit|@4Sdw)X47J(q-v|*(mMkh88td)gscwWPG0Br0duos1g zq>NJ%Un^?nP)2W*iBY@RN@xuo1Ja}l)ln*kdL(1UnAze7^ib6YNR~cQBZ_wm})!)vNET95)YZ`U6)ah$%?{F+z4C1l6@gfSs zZF+!Up@C5<5w++xMp8#u*T}YWrZ^)y+Mc%9cq|TPN*cVsE6Ux=i0ba3+r_5>T%7kJ zn!h?x;FzT)G^i=kc3zwDYMnhBU(`f(W`OJkkj}*mps3#iWj(b|)T-H?doTe19*G0u z)60}2HJ^KlAu8<$!TKTz-c`!iA9@1E1|b<5!E&Mk7o;NXlxY*6J^bz!tRI-WQ2fel zcY6xKDNhWN`sOJ4(01)0Z7tf}^?9&$s11zhu?SA|> z7XRa^&2!nKh7VOcC+sF#FmmEk_3%d^cW|fS`5+ndWRbFUyoEJIjX3rEmq+Y z+nuCSaq@63w8BXUj%ukaPfgP`nIGG_3mYu2B@!%ODd-4d2cjE>hE-!c6!TQ2y48-&9I_)!xl05dCUH>UFz?%U8#P3nQ%@6pQ;0?8= z9pBITl`b~Q(88_Fz1(cwFxZ||snw2>cc+6&Nms{gxt@w^L7g0^ruYhgB=D7!rO!h+ zn@CHBLdpxep)5J`oX~uH)Hp+!HK6=h9d&qkQ@N-&DZBB^OYZ?M7p|LtdvN1y%9XEY z++9A+-7qyMIaRXsNa=PK>2r$BKvD?^waxqhbz&%90i0Zfia=>i?fF6MGlcws}d=|?(cZ&;t(b;M56Vb zLg%aN!O1-?f7k#Bc>=%MlwfV>g#lv|Mdd%PfB$7S)=3-U>DA03-EKC<-&WQtv3z;k zHL=QOs=-F(sukKYI$kW^a6y(s=IgqT=i9c7F7s=CN z=Yf+ssxQFa9Ps}q3)+1Twy%;3T0`7Xr5YN#T`jj=$7aA=it>!-#Bu^$YY1g*98@kB zUW@WsAuuo|&sYjF5sq>dH=`3w(2?%?wOlJPL@9Q2=23Oc;5)^O5*iDH6_-OCIcOwb zxt)U-H$gI*PK!D`OYFU4?MsJTcXZHd*1Vn5byViPy-F;tUW}#M`ixc7w_K}n50-Vb zzXQ;80O|-_$?5yJTGIN3QaVnW%e+$-CGfgUt8xUvDI8qnpx%P=2jxC`S5r=MkD^s^ zNDI(dbeftlbpGZL?>%S5MI+?CfSLeN7MN_f1Bkh+&Bmk68AEUiQ18qmi$`gXG&V`@ zYpYv-%ku=Wy{Wld4Dz~>Y)wlH*YE}xOSAqL;?=VN;*mf^Bw4~3!FzM>F7P_IBV484 zh9(Lrq*e`Tl49FMo~SbxgYAUi_SYv`W{QUDxi7o>N`eINdR|4lur3bxBke^{ice9S zih~pgB^{?23S~EY99mQm$tG%K?%3)^Cp%*@R5^Q6GF0?|0&xz>Ne zc3kr4j@N|i`~E3~cZRh?51L~Y8$t)q&ms%zwG_~>XO9D&U42w*>FeUn_1*Tk7;gG= zQLP5ADY0I!o_6l{x&J!wK4v#?Mi*z|G+Mehr@8zuV!Oq^Owi~HkmN8AoxnNwIM00U%C{qW zh?{i>z7X;yn^komB!?;vPE^5T{f~KcaGlIlka=1!Xj-LPzh&IT7wHs)PT+q$_{M@g zy?^QC5%nNPQDl+vH;M#m49fTL1iLzcE>-j%lP+x$TK z>^mAv77VAD)C%;saB_Q^-Xp z08}eNOBKM3fM+3Kazb5gJ-0ecR?ZlNc(M7$tGDyNhNwZq3W~>58v8%Im@*Fy^-}Q} zH+^tUf5Ebmt~DX>+56DpXO+K}OT7mGn#QM^DyoVfU@N%PRSNU*EjbLh3VEmbPs#Jw zSCoHP7Tmge0Mex1Q%hxCb#X1;d62Wq6XFg)j+yG%?*$FMcR~N#VKZd;b_QIr7lddZ zKey-Z);}HLpKq(p1K^FulsgwSK@pqgE7Nv%U(tDH8G8>DsjE@bJ(e7yGB>QA20r{R zm`DIU(MQ((?v7o)r$&2(|6od;13LZnM&AXrU!CU5`OrUhwpf`Nu2o-N1pr4twLX#; z^HBZQ=J^oH*|kX97f(1c{bFNBhZ7P|Mdjw>q2Rx&?^vyZXD1vwCoRE6_vvrk1#yuR z+su^fs_<85o4<{Xb7#+(FGRoba`+NR;5xSK*Q;1XP9^u$y<~xE>nn{FcO=qqpNf70 z1jBz9us20yvCBgrukdTV@DYO4OhiNS`cx|77yRvtAnvTZ{scGs{NlCu6D>0jAOb}i z3leS@4W)3Z1W&i-8r{iI{3}z=gnWvseWBf?WPH^mT?GIc-JH|{=~GQ@VP;|MPN+HPv6!D%LaE`PEMtk#ck+ zEnqwwjP8=gfiy@cC@A7Uq(QpHNePIG2#U(X^YVV#$NR%}|L*_p>pIWlz*I=l=2#!q z|5b2$V-a`B(3RVq8#R{-`@7OoX9Twg;j};Hq0JsuU#&w3Bw% zCV&yRdK=qLxUqDVUt66Nnd&DTD07y5aS|d;01K&a?v!2?08J>`pcv(nO-dDt-_Na> zyfFA$m%D|6vZJDNG7Z)kncRR^-+H_%xgmAD$zQkusKI^d?zXGB`5pZxh@xyz zLg?-LF>)C$F5uMh)5gb2CH3I#RBRn&3`?mr_BNPhwz|^}FH~nI0!n0f-gZk%Yh1IQ zl@^0F()a=IJReQoi;Xk)QKNyPBX%S*#wdVXdFImDS3596;HDvvooH2Fjbo{xc8`-7 z)E9-Mfm~0g)y;+ZJ3(`2X`glG4HEKs`3r#sJTuTcn|JzlnSYwVXn^FXXZn7dT|H|C zkrnrOCrbxBj>>K%dvfP?^8Dt#{&{n698C1y(65IP3$(0LJdLW}-U>p0u3XZR@aSQ- z^>0|3gSwQ*n!GUXjJL`npP5xMzeiclZg%%fBd2;&kG5>Spe%JsJz3&7T9#^+!|S&J zR_<>mCY~X&kjs)R%;w&#o38Lz^nq8rC3)F7T_&$&UdtHoz<0b`Q{Mi%2oN^cK+@0u zFS@yGzP@=1>M-Jyl42Zo0$qD?h~Ul{T?HZPNf}Lkb`yExu^^Dqk1DBM^@K2<8OBXq z+d)lh_EFZp9OX>0n&&>8sno?VVb#p6eSjJ4X}6|&f49~>6@}>B6nj>=`CDqN#Q!)= z)aB=S~f(@gtfixgBKDVr6OLYfVzB1nH$EOX;k z$`2`~i+a^*hPH2x_g*R>v&qaCf3_kch4)C7T0o6Lkn{og!eoZ3SRd1yeP`zx40#nC z42aH-GfIj>*9~`+PBQr)b7qsnGq3k3SO$%c9$Jl2IPL6D7sWm`C>yh@6tj=$l6mOY zmTXHR#=Y4lON8mKW&EVsNucP8QFI*>M|RJnzax*%31d4I;ts`|U!9Fqm{bhKF4((0 z3)*63JG(R=CMDq1s{1Ff^p8EyRjG>t%Xy%zI}OR-yt3ctIk*J++dojge%-Ul#S_eR zpc7GCtsFzxet*_u$)?y)6%u3}dGkNr&#$fD@O%@hmQt4@B4rP78s!luWAdkd;;&b( z=v?}XIX@9%{P#qy>byA6iS`{5=!? zDWK<8jbe|9$aSAV?j~x{3L$rvF>5opc=lB{!4zV&J{5E65;UgY8cPL9V>kTYG9PCExi3YU}$AjUwAqz z^=wtOyzW~rO_#IFqjY)BB2n32#rp9xa}1*kVbBlE_1_$qKex#XX`Ac^rrA}Rnt@dx z(DuMr_Cwng!?xFdwzy1+|L`>1H9QL+tpp_@8CcG%?&mfrw7RW=Q%L2<6tt9S6;a5- zt)D|ew0N71r8!NE-GivTM(lN5!(=JTle02_}IoJE&L z)lR4q)22vPv_q`x&>%v!0~I&dWX<8zD%6+2%x2!Bj#rFpLOzis_)IGF>9eu%>Y_t{ z&xewjkV=e8>v0qV&R7OV{_e`SI0h(eeTPH`%)|IJeX5+g;ylxfEgbSH&-6ymL8NKr z*Z^LG9ECJn3N~7diU?qd@b1lP)H*o$M zRrYfOq;Mc-dv(cI^Qb#NQ`S06J_R|Po+PfBJXLq?`8Og}N`-k%i(Bjd0jF8hj$s}N z@La$Hbf?>*y$=;=-=os}GpKv_X`}EeY^H3^RTT-(1xRna!>B@K`WK5j*|pWG zX(S(zI*kNYxKU+ke0f-xOi;=qPT~;6EIiaucJ6#EpGVcs#`s_Ww)V0bBnDw80EPK- z+EzcKJn^HhgJ*{-2p(ys(CbLVe2<6msF3jRtD9MU29&nMGZ(m0#}G-#>YNM00+O-C zc@?O3-e9?ULe+zVPWoxE8K#6c=S4t8UvAelU@3}bbjgB2P|g4aJzlDvjMT9f9u>D- z1+0e1Xbk~?qfkkd_GFR4OFI`Nqkp(4yKQzv z39sW#J*W%who^H-nl(RdY+>!6uL%OqON%Nv!lPm~`@buOkdIkR$8+XvrK8^s$*e<; z6C7T-`3X0UnBJT#Qt*pY12oI_PZqUhmUMvjR>3#+>lZ9=Y|mxdW^+tgs;F%UzSfiH znP`B9=&;f6hrNIY{Z9bhO`ga?670;!t3bZh6(&gNCbw1w|TRmPxCDYUv-_^ zRo`*~mi8!7001VNz^#hU4r7I{=y_h`BLYR@aBO2^FmqxYT&oq_PMD14O#;9p721(~ zTg)btI7W2^61#RUgY|i1CQA9)Ehtue3=ES{3Rayu&*8r7ML-pTb@<>yECdpWDfGvi z=`o3v;y;hrZp6R+xtJ??)Q>YM_Zi$J!qL=$gEMo>`Vml0dDL!-2pZk%j_!eq93~c=*6^?)PN9r9Ryj4 z8s#W)xzShwE%L($SgQZ(VPYU*p+c)w0%kn#fJxsKxIAN>GOU9nUO#m*H+huMvTJN# zxt_G8HuHF)`h|$=Oq!YgA3xq02>2q?L!^Mh0t~%?{eIZ-p%`x2xb{^KNl@TGYF~F@ zC-(97I5(+u+ni6MmST4MzeY>XObCqN{gu<5F> zvCftGE$6x{qqfUu<3k&I&aHSGxLPEId-K>8t21JC`fH(zyG#0hsHKgIEeRqMHeyfc zg&33K<&O|hPIU34Flh_v$0N^6O35@Nm`kQXNSE6i4Fl#mW#O3uEh`b%agAq zhREe}Sjg31lb>pb>uz}umW`++>K)}7HCzxoUR)%j9ER%jtfPk?r@;E0@7UfKxFM3C zln%9IbgYmEb2wRD7Yl50b?o44f%_;K?p7kS$WZCbS4|x9^-w@$aIRcbG6_i`{$>xrGl~*>VE|<{-sxBGkm~0>QUyvX zn*ty$^l^__!auG9POkd!y53*{5PDGb{0hSzkJ-rfkw|V+hTz!{GACi!0M&%&!)8Yj z`WKpVQUftI1p7?uv9MA@+4mf7T9DV!;Xl@6u&j68f$u9%1*|PF2AJ}XzKj2AAyB+7 z=cB-l1NH=s_n}d<7Q^rajBA1(x4|y#ba6&n;B5K@jjIX)bmbnoFpR6nvsydN<*g&L z;>c)78vjW=Ynm$-pdE-O^8#Y`fuPT9eOObF5M2lxPW)%c@>N&i?@0(YBQx?#`R|i8 zF-3rF6^R?MO52^@pl8ZMjbNuq|6%o@_HO^$Kz;G6BQk)Zrnim(MnB)vkaeVAOi0ix zJ$ut4qz{c{AK*v@um)SgaJ`IB?JVnoMS#(P01ejv)_RzG$+xPP!!nPLqk-Gz}dW&sL!tFP> z?KDd0SIiSbFdY&0ws#jJY>>~+I)<+Jtt56BZYh4mp#;qs-PSsgn#p`#hDh>BcH>dv zg@30?PAoJ66a6q#x9%nwO%8bb^d4-Iyz9z28G-zuSmXQp{38_?TFd#zD){qsO&dID z0c8FiA#B~6C?a+r8Ov`944$<7)@J#2spPj-A*X;a)Mxtb|G}5N13QKPo|+{HP#z0W z)9tq2M3X?66pYwP0DpEI#!IXwrB_XY?^3zFEL-C9hz2Wh7geeW=K|`L9 z_}lyV_6M#{T>u&vdRXJ0+UVW?mlY661F%!)wRBOZxh0!4`9Gsq$^cBWEcYJgT-=4> zu|jqHda1vivxXecz?1!7n#BE;KH`K0>Ar0AVEp!wIzDdl;QJ%2);O zLUdTTJY^H?#MuZ{auh4VER8?+I=1_Hz|_9E%D3r4-@ynZxofX5Hd7Cm78 z%!MbYH#)&%{4J2zo{V~GV`JGtp!wDPFCOF|;Myi2_0>BeCF7o90r9uoX>>=cKf0)ZSP_=DazYO??>gdf zc|%F2zfUZ?`DbjR-2Ox2Kr#TeiY<=2y$+E$rtWHvA!yO$7<%G+FX14UtE4 zIXNQ<4)sZm75j9}e^qCqIt}y!=)Ribg;zzH>B9UCy(nvHFS7q@IQzD%phN_QRe$A) z;vmOWmePqwxp!0iSvG^Ox}-|FKCDMQte*_*87ng`1nW9(?=Ca46M^@o-a9AcKLL2s z67|m5ZnN+PuaZ!AKk1j3U})YUkX}rlG^W(g=3CV4>v~5_NlaUD|G)h|p7GFEN`+V1N=qy-F!b14{ zQk@NgU_+Ob%pftO(U1X7FqA!mDeB!KO}bgnQBk^D(0mRBI#-delR65tc zW~oPv0|x5S>D4mnW-u~;3g>JoXE&4E5jDXT$^@!?!?tG)6vh3#36wQx3Yh*f>ysWi zZ4jRGPuXt4i^PZ|v+z2=EQonFh~d^-eUy(-J77>1UK~!z2p%3p@k|)MPrP6gxRzBu z2PZGPd_tL$mo3SSBl^+h(tFXLFlmI4ZXh?eLC87&)u)&9?f?c6D>T{A(f|~U^yl{h zNu1#MPkOP4SSfT6|HPW8X>2*vr=`ZvFsFj&%*rTjt z>rC{n>t*B_Gzwbs zVDx|}2&R3nZ!@@1hz@HuWC4EY(+@w*zL4L@#lof=C1kLfMDQ4TQ8j`2IcOHHYdpE~ z3K)8EuK7!fkCmK0e22`vv&hB|B%a@Hhn63H7vs_2@CUqN_Z=T1WpW{?9Av-`H!FuV z8icTl2xl7ae>=4q?`XaB;NH2+3@}`U%y7oTDdWg{#g2x=MXA$Tjy;HV_p#s_e3+9uoD-@~ijj z#oYbGlkpTyz^|Ms?6Db?N5kHqJ!uU`C!!6D;ZE-ZPDhN2AP5B7 zvSgMo+e5hi;Lcf>gq=Jc1;bbS?d_DQxFH4*i6?U( zHD>_zt&|FT@2x!l{>>#B@t>eQUBw9y^+e*%I)EJ2A@Ho82CJe7vJ|>8xIdjYMzX}I8Nu-MNM+D{*nWkp(S#`c@+1D!R+M`C zr9nK(6ptn0`AB3`_mQX}`OcG(mYn`bYA&=tc&T3@|>Z{8N)3SDR#9x?M0*Cv>=G)oUosu4L$&EotPNv1^Z@F+p$ui+-;| z*U%O``aN{m#e-%QsALlrYR?h?7R6;WbifI{$W2Ms0}@=l_xQeieuq*ax|bu%$PRF( z*580zVt*#M8v5sqOWw}>AH13~59Ktc1aTC&DXd60#?!w_+|^g%&4a8q!?EpwQ3DB> zRnmoz=PT87_ee$XN7@ZDYS{-hNal~$7Y+RO_?G#3dQU(~^s}%Tml{K$MAQ!qnvLpD z7C>8kfc1WGyM5PBjoo+f@}28_Y;uS!kBIBeCf3os2p$dNAM!2JOtLaBJb2{shTDVh&{El^{Uvu= zfV$y%HKwjMSgGUA*)NQoVxhYqd%!j{?vTu@=1I;6R*nt0o^q*g`G$Eyebbi&Jbb7*bTh+~>*WF1u&p4@wzG@> zc9?=c3BqYeZAK_b_A+69?)l5fv(6A9{VsGNin7HdHf}(irUXW49(+vV51kZdgei^A zC{rq#zlc88=Dk=u)6h76X_KN8)QLoieZ5T9gl9lnSSWdHaoC^(R0S5HFN-thEp z*saMiZ4cIcupRaQWa}RLZdv5|X|gs;NuU~zvs#-7uJJ&*GxHUsRMgkXEVJGKCTP>8 z^`%mLDugachgSZbl*SsLJ@vbnGYnuiBsE_YKR6G}MF(qx(c9WhZi;VZ!kQ5->S2lO z+lRzhsI(zaO7a;MlrknAMN+m@-a%By1N4}Lui2$c2ye)k1gFBdl3x^+Wvn~BMqRd2Sei8dX`*CYOT}TosM+C-IBd~Q8E&?z$y{ynRLEsPE zH5SERZqoWX$ewogdvG4I^qX>lMuJ>$i#yNb8WJVr7~E_fwkPLbEZI(L>!@m0URId+ zklM{YWa!8&T^#$D8#LQnB0CEoo-yUfIm6a_p?pzs<{)Z6dFL(%sHE}!T&3ggh#e3< zvLtH%985{K=L^Ryug_oV`kvxsDFw(PaBFv(WdyTT8q)hKb3yn~7nP6m*V!+<8R|ef zg5lXoSoCv_=@eNBeiOI{Jx)}*O~0@)+sf^riyKfIh=#*owMvpwQ3f*q#hKbUsdKgj zlfVcPd*1x?10V$IYW)I;*;WF}f3z`!dIx59d(3E!QGQa4w4mt(m~>g2CCH4%29?tp#iVZHSpdCYEPlzvJWo0rpCIBPFG~b zIXl<3MIO(&PRJ&blyef`2HE`P`9MY->GFRmfKegl0J{nRBq@#%1CzL{fdw)Ji1P5M zepeM8s^z%w@;Z-hHl+B~zLyXR%$W7VkP8jRKV_VX%}WI4WPfn(TAFOi@WP_ZOlaaU ztvb^CFzGC2*6ktix-StZD^S#@7TL`g)#82;Y1)TQ5GyDG+zB5!moI05IcEL53`RfP z<~ynVwhh6n2<cYmT8d#)96(Rv%vl z_S7h4i}g~|%mQm2KdA&70cKpnN?wK^Ebf~u_6mP)5l6T_IW@ij$Gv@+R)z?{W}Rni zU28N9$uIMKZiIIgK9o;bPY)?|udSlDJ-BCvPVHl$+N*@DwdmdCQ{EU5QRU7h%fZJTPI@M{Oh8jiO_V$cHXjWYj9o!^YUY zgiW}#D2QAm8K({1t10sTxDU)Jo%}Zo!VdWfci26CnD^J)j;ZVR^xx!LCDwE`5mIdDEP`D&LAM~aD{&!@xy}~5NQx6T|Q+IZ!x=nFbqHBhI zR$;M2vBCO?n8&UA<)yb2K-q`p(Jaan$GkixMGdZ~kSrazpO^CY2s*yX^yn^0z2f(< zQ=;ARb*ZO&E~Q*a*CtoH+G8W0=29YTe%&E}?;KCG&h5PxtXW~2iNW7s#!33WpMr|5 za-26urEP`UY@9Aa*F`;*WVpd0PHFrX>^EyBZO=wJTNu6$2I1aM%ollRrrz!ZOQ`2K z{Bqw4`ogthziK7Zo$)m6ggS0?SvDbL&>o$Oy*ZH!fSmFa8yo`BcMIlx;m zbGk_+a}Y!1fs`!31bHWxzov5l&fPAjUBQ@+NV3LoNWZb^&7@a>iK!VKY)GY(2R0u^U90djK3@Y3`jAu&P3MpXC0HpSA4_l)0)!_$rt>q~1E71Rjrg6KH^n1H=XO?ey3n-rKM1$}7jjSqTpObG#WS3e=!Rq#5;=+Epa9_Q zIA#it(H_TKL%nB+V;0q6bdp)z`DP*RX^Bz*-k>pn%&qmC2BWgh`-xc6MytNbifCq= zerlU$qt-xRtzoMcg!SyJX7H*d14yQC*;4`(Y>(;rDgBuTuP3vM|epO#8ZQ_$MQXm+^W0rnL%G8k`XX zV6GuliIX;>Zn@PMjQ^1YQ%5_08djCof&r|*vtrHflHi*V^c)=xz_Y9o*{LMVN8R~p z;~cNY;oGfqhc#tqdtxiQR|VU!A#{i_6?|9cJXOn~m~Ebch1ydw`&d*n06B|;&wqul z1CUiXxb~EJJML{AjuGq1%q{k^jx?zM9g#20qU?`UHc^@-E{>R;y^vEsG+V?%by6T; zEI`KcEQ{gupj>L4_hGt^B-C=fR<1szJyzdayz;%YcCd6+3xa`ryp3OVUGYnG#c9fr zs8vAt=G^w%Lq@7WAp#g2D7`o(5OQz`hXqE$Ns!4n#YRVV%fPM?{_CuC!sVw9t`{ z*pWv#)@O8h6#yX(L^cx{%jrz(wBOB7F|r%WDnMrYHl_AdP*dX|S`UlzM4nyH8(M#7 zVT@Re!oWn}TopAW z2B0_nqoHO(mAjCkQ%w8ut_v2uU;ixeHdj<_*2|yMT(JgfN`Qou1 zhfD*(>r7r!9=&Mxu8A^Tnx2rf+knWleiIL=&2fXu9B?Pfo^d`NjOlsfZT&-J{jDW+ zj#m+@(Z7KeeRNKkReu4J8L3NySEbose?L2JP&NqQ1f1kaIF~U1?}dX9fRlAq7ZI$B z!N3JDDZKJ%ZpV{e93UBK?c>BuuUZ7_JC zl9VADK@p*=v7QF(#25qcM0lY*eBbcxzfH?{P|Dg?L@s-<8Lu|P*UnCtn zyn}HP6@6F{TObQAy5ejl$R7K_UcyB57#h>$Tw0lIUb7^r`o#w>D&TK zFD7DQPa0s?gE`4q@Ww+;>HnfqbZ;BmaVP+V&ZZPLMTMx6BmQ}_ESzo@Tpi28ZVb{UyKf`@cF1ztx*3Jt4nwKPs`cA5Ufi$lYoGXh zC@ZoTQmQUWM`2}oX;~*z=XM1dn3C&(HME?>poC*=rB+i%y;@p@R&=W>!^YPTciAvq zu}^*O`2z%TP}^rfPC%sKq3Mw7({<%9F*ZtSD*no;Y5b%A06PawaTCT^XyGFWp>@!0 z+sv5c6Ir8YCKiDc{pW#a9yQPQEHbb!SQ&`G0kyFd#pe_QbqYBXq6CQFhycj^ipS78 zwW;vCdGVh*!Y==cS0#l-7aB)#pAaG=h2|sd7Gx3%lisZ-C3YsI7e?mWCqwB;X1^Gj zNRiRcRd&rx6*=8ELgKw9qbjt|AeE{SK1V}&K9a=IhJH2wc%u}b=k~0^;v|N0oL8W2 zRpli)V-kGSPEMO%C62xK#njd3UG!NLknss*y%HQm1i|%XzgkyKcx0vu!@TBLt|Xa!**E~GSVQko$)UjsKWWH>RgY3g%S<&y{W>yn@yU!%(dtDN8et+>$TTSw18}*uSY*MSh#>;#sz6Py z5@kC%%S@vOg~|Eq$q%`c!StjlP~UJu zO7{+F6vfT&NP{e8&3!x zVW(OAt%GFj13hwo{+#sH@PZt>CM>sqVtY zBWM3p7BV0^qT%^&=;ou&R;CiymY7IZ@m8VvczJB|h68Z^a?!%eS7j?rinm|M;?93F zrft6Zt(B&4n$71(00k}@20)V~(XP<|m5|nloynN)-s9qz%#qzUxKdG|`rK5MRY z(+iVSAQ`BCv#)e>)%)>Y9Z_=TUZB}j(iAIeqdnuqcme;?DC>?n*z3^;?M^;gr3oqH zIiWM|Ta=_+4E|4)q*n~!_|IyyxJKE#6~J`KtBqyQ`XBJ2Ban!tF*woYO5S1UV8AI@ z4!{w``)+B4_TTCR@XC}d6$|=d=iT* zO9lr3==wLoLBmm^fWsPK-hTL>B8Ft``<24|wX+W|{;iuny0z-t!6Lmu4MAw9ZN>cbcM{6fU=M?0t>R<=8O zBv7JqDJhb@yV3Pm?339D|HQGPleHPGafUnP*_|_(?(v1C_={JjnC?#rl`#rCPhooK zUrMKCNsL4yhJ>AFTbq_BTgQ;5m3uy3ESr{iHJwhJ)+uL1-3N}``2eJ?N$__U+1t%- z%N{+N6?584xGW9&3b1u%llTU z{v*5;^4X~HigDB50pu>woXE)in@OA0$xhFDDuB>QSy}1Ni$7DV3cpNvstZ*j8jsx@ zm4&Z-zBKmEN0#_}PRNOvKeqN);KS&ha_F58Jl!AO-R(VoU&eslkSg1}cJ=T|&$`5i z?*cauFW+an`;lF;XXEmJ8$#EPF8<3Rd2iF~KX4j$Q-pX>dwcYc%K@uCAf-O&%tgBW z?r5hqvF-)XkS?vsFaN>*Q;THK5$0l3pRCRWTdlh;tT|ZTMeui57o;94UWfN!d zFl^NZlkK7Klcmm^r2CKH()oJReTh%a<&N`8!(?>5)jOeW+4uxp3n1Ma53aw zAr%7G!DuxFDzUO<4V)pttWE*|-5>?3B9o2k@?MkCM)EZ{VTCv(+M!V#`KQfgIK@-B zvtgdD*XaZuP(8WR8w+7I509dPQd5}T#9vRkxEjsai8SsWKX8lv`DK|ym#bVzCz($S zj(w*<#e+IItn;`DomCD`4jHU*tT!va#-Dl0v!f3%hAhdL90Oh+bqjrg5K&t@(Hqct zGC-6{vNm&GoQ~J+uC$WI-Qz~fYBOQbNt&-LjjeQ7D{@$5%#QIkwiv(#(m7{h&NeXG z^AP|k7>vO)WF2Fe7`m$q9YEEdc3Dt_5vNOZHr1YpE>*R^6(m(;?~|qhx`{^!9oYhI z{^qIBVKx%A%tB3b1sJ)po%LU&g598idl!WANKj5Mby;IgYCA<9=LG6cFnyRNSk@KF#uG#|t;N$Gw>LNr{*J5$1*|t}Kb4_Hm-@`32uRyhH z55#>`FX?XJ%p#9hoOAl@0M)E%gF3K+NUmK_j!SW`qqJ6vK-h|`fHP>tliC-$R;Eds z35muvIA>3D+ky1FQQC~VvQ$U>@E;9Yn3G=d1^Zn#TmOe)?<4k|`2j`0sK0%AFW`fa z%l<~wefD4CZ=Yeo{Q~cwbgrk!#Qp`o%9n4`l{Sg`{N;K640H4Lx1QY0FSRq}H?^9=DR(0F&?Pz`)o z;LfM3?{y-1sYS`HY^(dwLoGFdT*^)OudrlqwB^(I^N*Y%&E!g1m0Mh5bTZ&7nZcHW z)SUm7hpdi(MMmK@7fV=R!Cc$&(cy7KsjAdFzy*)Tl^yvwwPJtk73k z^5wZA&-Y2ry=gavJ0HsS?RX(h^x^;U@D_3wd@A)Sjj9=1T*^g!|V{GLp06DpM@U2t_x!w8E9j zGaby{z(uc&R43C7Ud3N|i#H@emt@=kyx^*K1&>4^c#;Hv)Ru4(uau%SI?raRcd2^NvNfGkNNoEr}X*4Ig(&nX27G`ds}XKG}UeJ7#K(2Kc1> zg6;85AMh+l69W=N%#gDGRL|#$m%1iU3zu}aWI8p&bJQ76g|z--%@=U+i!;DLp4mw2^YBV$OON5Qh4Lc%~q)p zUL$v1$>WIISF5bKDcZofh*0!GVl(}nasX({E1b9F=(nDEYWoH2kJicytNTw=%0_=! zR=<9UPVqN(H`nrCsB5gRhK$xPgR~~=8(n3akLJvspZE7QtI{>R9N#f8ZY!4$h z{GIyW&}+}tA&2Rs_t^PVP$u)&{m3Qjpx~vLd4nDv`hM`Dl;|}kD##!Wg*QuGi4#BS zU>~nD;a}ER>YY#LY4Aze@mxvU=FX6cM`V3nd7AUAT1KtX#5l~SZGFj0F|o8N-0nfq zxjr>v+zjze%U4{{wLpz}G*++@F5W*o7PG%G>b@;wb0mA5m*kt&bN}o?b-#2Y;DPjk z+{Vv7klf;xy!F{>t>d}sWC^e+?K5a^PsPX#z#v^m3md9bs|~Cth-Kxg1NB@_MCn)k z?udu82pEu6)QV5qOqwghX&hOFWnYniYAUQOd^hI--pM!brWUYT z4Vf7mO{9HfW{~-T*=4UcOR2wciw`WmS-(5J@knZPVzy@q`_5eX^KMzSpG5ANl-r*M z6Q&vEQ6azD*?8fL!KzK|zt^UVhL7?Xb?kdB?-&%g`dfpP6wcy!d3v?QN;vH+@$A9g6=_%~EnN6qSAuEYSoJdH{#P-hWR0OW{$ z`DxMODpu03sHPnsTGv(m|%ZpYCu_F@=^l%VJem*od1Ipx0>EmsP472JyXH ze8G>dkL9UKRtYk--utHyRNQA*ZD|fwxc`|;&0>R7w_QuSRusG7`x2OVn}ch)jmU%Y zL1yu~G6=*!RR`hSU-bn5lH9qJNKnH-c`^w{CE?BvWRX6ET4<2LHu}A-EGL27mlNbO zuWUDOa2~xmoyFe%$>kQy<-#uZSzkma)-w4!7oS4vy{XvT1%;V8Ezek^pI*EribhBV z<4Tol4c>fwScxhjal)Kf(~&rC`m)=U=u6e`F+I*<$o*h2m(Buz?3O@&4$*c-O&ERt z>2tbu9XWY-;gX#)P5Wn_NVufb(UzpkFYU4%^9UOOOCK{y>o743^Snc17f`V)PByLos&l^{}IUufI8Hh^u_a@};B!}K6Ed(>&q#=3^pk;=nn&ZF& z5X4f2{KP#)Vjd-c1HOL5-N?u(pssZ`7^-#f^j2D}=v84Z-mY6Q+MtF!-PDhsAS^f6 zN6#5d4CGU+x?!4Db+EXVOOLvDnuSeK)m2|9Uaj0qQN0*;tIMuBZpKgj?7(gWM!`(4 zb7_f`{bFc{D*hjv%=FkWD;*t4Pt<~<@AX{!t^Nd+S-}$vKY1_I=kMAop!k9at|rUN zd2<#O5nQ8I>W5l2y{?v556IH+xc9{mh5lB;_>l?$F}J_ z(s`9qgfOYM3k6V!Du)Uld;mDI2eKXAR3`XU?mj&3zbTc7f0K>BxuteuZ5LlH*sG|r zZf#C)!+?nbSz;G>+_Udn0$V*4Tn(f&^Z1wueipU&g_rn%7ytyzCMH!Xg)fn_AYDr+ zdD#Vrcfzl+l~$c3>pPT6hLm1?mdh5)DW9ZpZ(d#e{#T#6!KMYR>3_}wD zH57%bIbN4LjC|CTa)II>s*Of>%GWxA=@B76G_LKrr+eLqIehdmozZEck}o3UpQr7_ z3m#H0H?yOLwFQi&{LeOUF}}E$)_xP#etDr_WleKIV#PL>n_&M}IA$r>(`jEx}$ zB)LLd={*uh3|Ex#-fbJd5_>2O2L(=FX$Ipo%`xjEP=xDLbGexJ?b{PkaT zK!SL)T43cl|3gi|;O_#0bkps@YXg-P6O?R1)ZIWU_P!%QZ*}ucpM;FvJ1PU$<3q1^ zvzbt|xpsiXXW4q!6Lun?Bw#`((bmfhYQZ<+fNH%__4IesGpWZPW0}rN|Ah*gQcNlD z8`!NIb4QpsH)3wBEUAk{czzp*nea{Zd{zbq+;VoP{YUYZ<$S)TSR9(h^KiB$zFqus zQqAa)cmVsIbV@5;ozJ_{S@}_jVtdHfO=Ulkf|qQnjb2jYK>kK)?F66jv9@~?LPWVw z^*jdv9#q3rg>-d_bSt;mEk(fx>$s?T!4hVH_47BDFzpKtPkpVfD@&v7*Ok50B`NEC z7Vb&+Z3Tjb?$LUItQ#-;I~3EO2l(1K-2K$l5ncKrLAIJof)5EfU9P6vmi8rAb4(iW zF9NRZo@wd28C+TKdCVPrWgQc$f5l+kDa|1N`jei-?`7eCxxV_B-`w`}6SqDbY5tI( zzrR$TL8;w-rGaUio&v>uK0%KN?d#yoq0Kw==Uq!jK7HRa z3N3-vwlAEy1#&DwwTG^m5oWUd4Z>AYdb#162my|8QI0B%m|qz60sd8q4jN@5=34xZ zB|r?N`!htwq81|ya~o$4HRsc9M+<=g9pihqmvgGt#4oSj>9G4-ViDuWtz9hx?9t?D zuEbz%>w5+{6@r;*>5i6`YJ*2Fxh-RFC8Aphq1K+lJpZkTg!0nJjn5k^tOFBTwjNoP zp7lDPj99+c;rqOib{ph9w9UtjaGF;MpD_?Awk*iWkzOyjyRwiOr6+k%_vR&u;X;Di*R2=wlbM^`f))!>+3baLQ}HH=MO%5<6_)PDkbh1f_6uznk5t}L zEZ-)_N8I2SqWpApMwGO2^cehk%$p-yt-x@TCL2a)4x>^I<9@EleiP(Q-kFOkYEpOsL5lj)Ak=x62PYexy}1(^GzGxd#XVe%X}&J-yHz zWgr;E)!_R2e-zz!JXQZ62k^VE>t0-Yb7dE~_BFfq-g|a!3fZHmJGd7a*UZkQjLbr+ zYetEyhzeaoNTt1fe}0e0{qy{D@8faLIiJtx^?p5tEt$XdVuq*D#2$l|t^0>3W3qGQ zE+XC7|LUdZwD8@FIeN4}taRNN2n#AwuT?S;d6qILFZRzk>)RGV{;O8U@Q`CxreyWl zg+$F#o;2(wECt7nZ?avoCliIr>CxPI2Ix3E1KJqWHybh6E zQ>+jGL=a!3q^BzN9y@%(%ZFw49vzsrp zqYAYv>MIsdpBZ~ZOy9HppgMcqcP+Xnf49w6NydImqj4;w|2P}-RN4Of*Q~@(y=WZ= zb<^-iJ8QcOYm(pS-f7$yje#it=lgyt2g+4Rt;v#yb3xTnb~%Xs$mI4zXiDenYs}Zo z;VFQ9B4)+nLM-dYQR69C4-3`x5b9_!r<2QQd>}WSQtaC5_SACw#si+{nU7OKofa3? zH8&raEbwzM-;SrcM}V}=D5oi9Nkt;3T;BZsRfeZr{<0DA&D3=94)v+i$*N0K7O=qb zgQ9gYXjD*3yz(Y>N&O`CvZ(It0|<37e_N0WeDJBDa4g{lxm{gE)Rtp;Uri!GLhQ+}-YtrMDIP1@?(Vx}Eh50!!ijoY8^;(g1;l6zN z2rJiGRqNag;LO^3iUslC@7mq&1TR?Wmyw5KpUg|E3G`zh=SpLs`9@O-pi z(%RH4Wo*dQCu+aw!ZW!qw_SceX6S}U@4LvkF8OJB)^gPdE7oqF_z+Ux8k&{ft#W2C zmi(fU8x4^91%XZj{sSEMhyeg=KpQZC?FcZR{%7i@o8jeymF>odT~DZd^3FeXCXr~2 z*E!3`Iz~?;1;!zSJq~k1YP`RH|Mcw6t!?eFVaC8}>qjx2^xuE?Iy^plwQD88qC|#g zjv*xh;AEi-BEnfG17K7dRLE>`DaA#p@$sYUZ)M1({_{?ZT(mkXpUol4uY?)!2SV9p z1kYhiQXc2qJ-T!2tPT+jFS9N^_w<&OqeTVv9aUluTJgNFo^_uY-UG!y&^Kk9Kr7v=ks*WFr zn2D$ENUsfjSzCC!xmH_s>B9jt{^;?x^|YS<`?aCQx890qA;q}JD3|ZKm1-d)oWS1V zw;b|%db8bN=?(oN8c#}$$+VFD!LfWilFHOeD|{%_35gp=o7k$- zcn|R7_NQ*+`Wy|hy+Ld+9Iks*rnkBQim93gL7^v{2*#X>Sa&0!r2uPGaO^N#7+maq2f91^dMD%`$iM*a6~k&prWUgDALcEW;Fr=(?%-H657YsJxVrfo(E zzxUX236)^Z_TS8i8%IXD>?hm00xKz8U6qylttO29cYNlWP``NRZvtX5M1H~Q*h%5@ z7H1cM&ehQ@Ba51WwD;fr26mzZYf`hMp1=1?87lQ3+OB_LE*R%%`b6dXClI?-LM(_% zw8jSJlB{z#p2(a{>lx<}jSi=92qyiU7K2{dm=Ke!9D{LL&mJD44zLp^aK|&uTzap& zT@X-FR|XMr&a*#A-8GAE%Y>eY=PBY^*~oqPH*J*%_d27v$nZO(xY+R93OL_Wry*n- zGc;MT( z`uN~NfY#OO*k{7E%6`j%9`6&WD)NFuucMHE1`|j&{=;iKAN*1WUjeB+#KVT%^zWmf zM>5s9JyN6=F&s>r3h{-|U=Fy4*(tM9bs3!VpQeS79+9y`gweAc#W|)63X7Zxx(epU znUnc&j~XTw=>SA9U2JBR0fwdkc*=STC}~QvOiy#%CO22)Rf12H>CtKxKAkHLANSGs9MDT|E{B)R@h7d#VO^I0*ZYO=UZ5U+JSuowSFMK-_ey~Wvosc_Cf2tGI zGrKDqIX@P9N<@8-2?aL?RCXrI?H((1@Hb?&+RnJ8nuv*1?& zB5nc(AK(}0FB|t96}qPX?F|Z=d3djYyZW4Za`vU>{gkd%g*_?s{>okuhmv*<6Tg~w zk0h{nyM1VBv_!Y+nNL#i9f^;o4>|9I&ws$sy5c`6Ci9Coi48NQ;~d}kJ;*W@En$(d z8RLA*mrOO-HkQc39qm9H?D*I)MKy-p(b>O+@*K_ai5U}MvI+YJ1f#ej>mcHEic%#I z#s3V{{U-gxmP-toH?Ds=RGu_Wy0{$)nSAMH zAKQ8d|D-vzaMi>0RsU>7-tFl;g?lF|ThGkM-u_myan!KOBlmVID$Bt3W5D;aHu=X| zL+B72-i1Uh`|{2CmcuV{b$Zust%h7!YF>WV@y&m`3F~#i^?6U4dS@6SG~sd22k|FJ ziOM*n{`%%zLtbxf0)LVIzG_q4p3hmGw)m7E^;9LaDoi$`UaY+wEP)%%!$Xve&6xX~ zzRV>ZrH0fX4!WX_5%MFnp`*-oOxZiu#swuKw%7tcK6))gwGq*0MoCKLJ=sDoEtaA> zc;I5*in&6Djo}VlBmWa4oe#|2g3WMR6%rZ|g4%gJt}MN^GHT^GM0uBXWbaa&lu& zbiST$zCGRp3JxWL%E=+QxUwQm~h0bi+?tl zI$eTB^$67@37ZqGm-z79VyfMDk!_EU1|;9VTNuIr2xv;U{4{95h$AemQRKphp>1ZZ zcGc1I4@LQ2_UB7{UkUC%>kHa9HFjEZgb0m&Ir|8WIFE*131d%TB0oAJK)g~MPci3~ zrOpzN3k*ajHXtMueuscu|H9^gmjdx{-3F)?u-u_NTra0M34|0OG$i9#_`nE^FoAq5 z0IEBheutZnkZQRJOaO2y1=t}>IS*M}hjb*d+f}$pAzaGxKX~Y_>*<3GO&zjtig9KW zRELt3?jCDemlzfZQy2@@3g{9453UsCK(<8 zP@N3)@oi3s2~28+;(DP@8*Fj}H55Sj5uXg4PO&zIKW3`_0dN)$@IC>sbrR)baeSK) zvw}mmlu^XP(wOBRM!nrgn~<1rDckZsT2r&Y*w_3JHXn$l!o~7}?g2Sl8EQ@(-APqx zCfPB@GS0+;cG^wBsnrGjEo9}6MDRzJw5;f_N-SAtB{$uv z0A*GF_}^hi**m39Kjp7fr3mWt=j85)y{RvLE_M8c1>%_CRy@a1Gs=sXZ3fF05QDsn zg+ojNdT`jtV_WqwOvF-Zz3=M1wn*SOr+ik_B%aHq=-9=ECAfif(6+r8Xa*C7qenlp z1Oo8@2$6E)6Xi;G9xH}(n2t1k!?j1?FU5(`tFdB*;hNRmGxCGZA9 zBCr=Q5q^6hJ)+z38Q%t`>^md*FTRXPfbtW8LKsK}0Hq9Ld(sUxWCEdh0KA*~uQZR0 zD)V|u%z6YB zCTJ4-^ithq#aA~oLRna5U|L*IHKJ7Qv3%A-ee8=Ri;RBbF!!{&Y$y94;-0_#_aBOG zFIKTH#ou+hJjxw$`eoH*taIU}&I4}ew5BVDL;ji-=~^$8_r}Z)WbKbcDg=_4Fn0pf z1q*eLxqPnMsmF}X5zp4zhN>g5bvmj}0Z^&f>zvY3Uw=Vuus8J>h#ew{#KZ{iKuWuj zrQK`=SZL>>l>H&c6ajSsdR$SEEY;XfMW5lrgU;c(ox7oGyWmGM0Qqr{ID^7Q%(H1g zD%T^QFzvQ5NYbI?Brv8FP*=)iSAU5-=td1Q*^|fedM~9_h}0E?!bC3>2xNjYl-#+7^F_ zza-0jrWFzZupj_TrUBwo2R(;B&HNTjbaeeML^7WV3+jdlTr|)k!ovh_o@Rj{U)a_i z5gmtYe-TpZ48$y!t^4Lp(J{_Rrh5lk?GDrZwIk}3Gw{JP zeYqAJN;0)=>alN%8w$|*O!L?Lc42B%$MeYBLN-&kF-W;oF8hXy%V0$z_bK!Fq4ej! zT7?qD#mwUUKZ!>j>Y3CXSI|IA2>s3_#dlnCR)`$`L6PUs1NR(JE^c)mSF!eHbzEOK zs4NoSiL0e7)UZH%JWch0hz>q}1tOpj`zWaK9dYa#D$BAJYuwJw!^x^AiVhxVL3;t5 z0}P~Z1J}qgPRF`9H5R*eiNP5)UYWOTHL+@@~YbBzr@u z?_H@SQLJh$wr{f@<_&#``fSp6q1(RP0QtXD}$eJT~HaURItZ6EQ z!F?hibw3Hz;)uLXl+_QAw@os;dB?trf&7Eyoax{dh-6=2q0Xwxg?}-MIuU~3_YDjR zaWmro?Rv}G_wEl7Z*%q#iLaV}TnmODSNQ+5*!mPaFIp%#+1T~&(%BJHHx08kJvr6i zw_LtX+SMc4?wUDF9ElGG7_X^1^{ETyN}qf0rlWY`P63gZQjNpnK7Ik>`%n$Aj9sAP7IWIh$`+rBU21A*j0NS znaazKqF>u8ezSU1*{dhzz+oo2a-_ORf#0?V|C z>g>s}MLEXXmwzK;%tjDmknUS+1&MK{7T*_wo)*;q>gsPtOmre#lcs0IW*jFp@^1*_1*LC4<>UDC%4?A? zk!Mj+*~}q$-NO9ty?+adpTi`gf?Z1UFWTbvIZ6+s+=q^}GAT z>tnHzz%@L9$Xfs!Vi629hc^JKt^_TyP%{KTaVdGHT>u<-pk)kO(EyiDwVcZx*WN?a zJep&Hz<$SZw9-Jf6(dXNnY6IwzLhRt>qXu4lmA%0_T$NfYv}Mfdt@t?ZOU%-xG>Gklxh^)?~;ZG0D^pYXQSfA21aQfePkb(&H< zx2MKFq;_tv71PK%$KH5}Jt_LtTX5Ia%c~DNcPm-@69$N0d+NkLO*>$CcJ#Y=PRF}` zJFVU9A7AptbNW4bZ%TAW*iuL>c)p~#-6{WF67`|&LD(-pL~=*m5@_16S!4B%;InW1 zbL;Gn4-wXM$W{E@Fe{+^B|9ZUB7?d7(NXeY3>$&T{saKy2xKS_z(5MzjPaPW52ASg zdLIrR1Za21f<>@~1}Ki;7wp^EDBbTIUkS*BR{&vbM`s<(5Fe7!eMXUZ1U?>Y5L*Dq zuTmi0z%Y8lkt5e0bIyk(w3#R1wT$`*K((`gL1<1Unq#sXHOJZxNuF?$TWhFVH8}C= zu^!*giLcJ?`}wDbUCX4Wl=seShIpDFANj5IGgj5C_mZO7&u@qIABM4p*>4{ohDGni zNdCBXnsPn_+28Gc?LM-iYpRb#GP>=MyAJ~%9^T+(-D+)V@Lu4V?GGEMxDuQKr27vi^MTKw}1`AJ-qJ=Jf zxl^#L=v9omr{Nm$RMEJ)&VZ6+V@2Z+`n+=S;Z+ayvR(+ z8@F1>&vvU) z+>1b1q}yU3BRpzz;)dI=!0HjOP0PPUAHs$XhZ;0eq%W}QWE5yhILuZxxFxhGc1pnB zK7e_z^JFTb9Zw)5#^5SxGtJjP_0gxk*^;J&ld3nG@*P%E;pO;_?m*NsfxW36v@Jvy zj4P?%xuy=<2+k3|ygEu1-|-B|SMfzZ%~r{n*eX=1UOAq@zTcKnX03Yzk}IrFkAo%c z2DFw1GNi%{G8onM^*q#LquXT>Yg%?}Egc;T5n{V_;6kh}i&T{I>7itLa74CoN9aw2 zSa{t+Ca2mozKNeOH?&DmTKdB1_-nKFuomxC50`y>H>r#DOn1{>*`;{!n%Pegm1cIanpoj{g?zCQyw&)&y9rOH;vjKSpHW7Vc5A22c| zY$b$)9t&3=7Ku;pZO|kha9Xof@}ArU&=f;KkOsR&W-*DwmVgJqcJ=GNg2nJ;zDP)C zSc_5D*go?n9|x_*|J<)8fuQ@sT|)kVp-JJ2iF5n9n?ABz>OFKd&7F?Q{pTI-be<@= zx>qktm6-OzO+7AuG08kL;iCnYMlrx^-Q|1#9^Z76NBkPqUmZ_r*AKk8wWaeiN^tWZ zJlkXfv_sQ@UwHhlbO@a;EQ6z%S4Ys2Vmfo^B$$L&!9mmEw||rHH?5R?+I; zKt|#>#MbMm+K@m_1>X(+Zer#sODRqdycFkq;ux%kVbtCFZ^a1dKrpc*0%2MsK=k*MQlbL= z2%UZ@`_f)BwW5uRy&;-0|IKR@C7EKEPi=bZ8xxOn7Oq+dHSm|lm}}(JXDS{m#B&4* zcfbOFtEUv(vEQNDW|X7Z&0%?EoJ;gR>yAt1n5E-OBca1Xws8GG?o>zeM%_eyTH1}+ zUjV8S=MgB6dwUOJLy z9UE#e-2H`um&!rHuPx=VIk8vqtDC~6Hnodc-%DE4%uiYcFx|UMYV5wboK`NRh})B3 zKhw_#rduv!FgLT|p9_3rcQOB++PF-F-($F2Ob(`aLQx;5t%=M*eUNhdd!S0^9nsHmv1}o=SDp8xWCB{ zmsbG#_gw@D9BQ_EO^(9YY*y}-5uyH1&egi2mj~Iu-#SS!g4+`*{6a}=xRw309HJ1# z@b4Yw%I{EA473}z!NE}qRd13KsmruA;Tsl|my^;oip%u>GqU_RP7bb&H{!JTI%+ja z$nnANrdqzT7L8+~oSeY|&9lw)BosPj7{{v49*5wQV8#HoHb0mG+BPogLMxiYGxZAX}5z+hZ~j969F#KNxwdccu;;3rna*9G@&gFn|mg0LV!X z2eC00K+|%KeL8!QFyd2a41+zqJ3@p=e0Cj{*rxM7!s*(@XQU&I8%B2fxB^|~Eox$i zj~zvZ3FK~J2B|d!AWNgR3+!y>qf@I?9kR_LvR5Z=+y+1;@j!O`ZDULdY5pyc2Ysp> zqGS5&s-_Sb{*wQrbfhYEg!IQkqI&$bKe$2lXhPZgF!PqdW??~E+PLr^#)ZSp9O=%N<4sTBzrj_8pH{R@&5kY|LxedhOa5WwJG14K z8_Fl6T(vUgn%j%%>Hn*!beZ4qo>~xW^fWrEd<=zm3{`t9Ja?hCuOlStoJa?;U1OKz zOd)!Uzw>NUB41qeT7=&8SlcgX(6xDpreedzGlCf4<-11;76$C^LNZTYUf3xJ0PV?x@JVBV3Ic@bL=#@A@9=hc0UUkj9n9`tOjYS-y6V_wmn$?3rKp z^lDLljNxs~k14bAqhEsC#-+VSk%aQ2Mxl$Jq@zPlINnHAGO1n(bE({{cj<^h-qHRb z&_sX}6jYL$A01C_*1=M;oQ1EHgV<-IC>AIXmyOyFPFNu=;hkO46=CP$*Bq}?4qi$8 zB2F1rlU~OkREet#_0^;KBdZrShd`P-j*A3b#c zVmCbX&wc+Q`4}erQXO3OP`y_KY_bAr1VFrY#c0yR;gfx^tOxvc6bDc7n84GVBzjMF zVfk)OH-H*fM@wIUC$Yf^1a_EIrAGkbNnOsild#cWK91FrIdtAft2R6yqFXZV5Hqeh zQKQaheEBcL`AC7?m;^PJnkH*ZQ70JcoQ{&L4yYe% z+8YC%dIeG)G*HFN6lu&9%UBsW&XoFE8Q~ya)6o2qnTn>F%Kn+E5v#1l<2#{MZO2UB zgw^!}%c@1Ini4DLUh+r`jKC&m1-XyZX@bXQk7Y@oeU{TQ%BYw|t(~Yn`xvcB2S$cd zgX*Yu-DG8*Ny!S}{RKl&G>^+)kQWxJlvN}i1ADNW;Q`_KX$WTO7+XKuXm)rtG0i;0zKG*emIy51$H2lBCK`<@uhFeh3&K8Z!X^ol ze}}Fm9Sjh7k!LT}+5v662JO$$p~^a9&Jz%Q2IV-jyZwrEB8H@sb;OX*;*s~Xw)ceG z%Psm*q>cDvco~!B!)pHh5+T<|wvORY24sYWlTqm7wm%|lTJDh!P=6FyjL$|CXXdco ze-O^TP-5UwArvQU?!~e;Z9p{R*o~bQ%X}*T+Z9O5$%&A@_S6{S$F{)rWRYuW@%xr5 z=Om0Xkr|po4P%>kHd}Izf=4JUMeR~O-cyr^Zk|!_xHh*q#*(ic&2P;u{%|SUk`{}8 z9w1JOQ=kPd!GheLhbY726=*3juzD=VTO!o+C-i*Y-1$8Fg%$Vrt5E+GYBJg*9=#l= zy!^prIl;~&etRhavz%lHPm*0uQ8<(6Cw7tHaqO|F92LUjl|7OVJ+8=l#5;N<920do zipnK0e+c|R%;}|5bfnW0<21pqENihSosUATFB8y0b|QE>5YK>#I>9s@$%k<^u0P4L zi8gmCC_9uQ;h*H@w2YCzWQ&#i-*w?hD>U!f$_qF+cm16-M>1-@E z;m=~UMk4l2w!Sbq3(0o{!)O1?;NxIU@G1I&eop79!>c*c7oScv>rq2Q*g0hh4pe=+E*28&4U zHj^Cdqx6*uAAZRdvgi=^@iTf?baG!$mM@&={hvbjtqhBldTYGcxRn^<%hS)#XdN$T zY2_3Yjs(X6b?8(pA&@MZU964>wgjHUuy9Y*dvl8MFW_ZN^z%OU<@kb@I`#(AVw>mU z^EA~snTOv$3BQ!Fvxv%s1RT{xIg6*I!{?ge99?Gr_0gVu^O@_MOaQEoL06-G`X{fr zz4fC-d%_0oxX41Q)j+C2yZisUxCGAU(e@Jlk4DN<*Uz2;fu0cmty>k z+}D${sEOqn(lJ{W)GbRxvJidCvL*P8CoK@`5$ES0|Lyn!T5O1a^5K%^W&ho%bwz*c zG-Yba;PQo^RL*D1OHVxBHPhl!-aOA+XS(@$e}zFxw6`*;p>zr-n#hUi0Z5^5eRWzL zbINrAdoSL*9M>o| z`!#JsY#He+xcw2Wz%bf%4;{WuNlcm zn&&iH7F+{fz4i$uB5fhyv-lN%?}4L)oc|-ELm;RQ=xj;r=y~IFM2%zl#-MG&yWwWS z4-!~`E(0`5I!x&@E$VPHnm`T3y{Q*q|C~tk3#T!*p)S<*N2S#0a=+O-f;?N=S8212!?L;B>iJHLoSop&LxS18(-=b|FDm7dIo~i)%r20jd z!;S*}g4Kr#0a z^xeJ89*M0bgLfw#&L`k$Pj(KLG!K$vsENdk5rHowUBKbf@gw)&4QhRnL{kz0um|_| zFDOJ^ICP5{Ja=L63(n%bUNSBAkZO31`nD!0KsLnSer9+UHJ%Aw=cZGku%vGPcYfAk zDG>yE)2$sSzn?X=rZq6DX*G$OJbmlKcvKjG7BYy4`A6YDW+TJFe_swPQWi{pHyZW7 z&dX?_s6Uz-_kGR#NG zqaL&Bvl1b51-|>9njB7@@q&-B4c7WlCo(1g1_S1GVA^h!6|HIIb7|8DZs?f7Z_XXUilsn8J-GJXZ}V+z=eA%PT#u<~L9(hpud+0v1Uzd7^fYUUyv1JnxNqm(*E) z=fY$YIP`msPG9P$sjCm|Z;jmlbhtlRmAr~ee)GI0xOzoA_!48Qhw`28rg~E89;w-4 z-b-hGyL#izcT~CF%mTLZPg1*=Mi`T^5ajVn*dQKpt>%YKGi2x zFML=)0Hx&mOJdPucaoLyzB{6abRQSxNKEANe_fji&f4h9d!2u9i_{E zjjHR`eES%s-hJEzSU#(o!5e>o1*ab_6we!?Uj{iC{!MF~H~hMyj)2KmV=|=}*zv1; zRgpztC<=`SBE`iV0btIAZV*o);mvV;^pnt-O?->%vh}Ir@;IAQEr6Nq!q)PJCdFR9 znVI71>Jv>$RkkOtDy=7mZOXN#q*|91m#@@Z8#yqx5rh9^ffZTZ#auYnZc(EFbEUDs z`41u9K7Zc!XREeOb(@!ioLRWt;eo^m9 z6Syt%HGuL;!!2OoWP4}+w|%{@<@|Qq{aLZ6x`y^IwoBaI|4os22PiJ|x|RRU{_FwU z?E^n*MR9pRmep0EVER3mSxQ-ioP$P5I&WpzSJNPSo!8TEa`o5sT~LNa72}oKljYla zI$tk;$=8R}yxGzD6g)MjwjxFb9|7Sk0unp98u%!o)b_J)0*6bopX{bi>vrO1gqU9v zu>?Mi&RT3lY4*h&CsRMY2)oYvePdaTJ$^!vCAhKDJ1uCPR!<=6;Wj3!ep$8^Fq58s z$qN=rIAkEaBgY=g;1aAX*;Uoh83O#ScsyLb1D%m~^b^b}e;X^mEmx|v*QgkICvQtG z>N>fpV5wqvTgK5_@v5SCPU@Y~s%hit*TrZa?XljbJ&FjeT3Q2#MnrMp{^%d4e?P7C z&Fk#35N-9M&Bb%}h56&Q+PRvQE=~04cs`w1^uEWsYln~u`=^n8d4_weXLh=;vi3Rr zc@2Lm8?3gyJlVdBdwo>e^Ke+*PP_N#aJ$5d^H&VIMqf62=)cW6WB6;kD*ou#vzreL z2RIz7yh}Ph;_c(v?~g0BR-NigPX@@U>e$-& z_DaX6Z1m_z9C6wba=>6)0Gl%b?C|fUAa1U(HJ%_H_d6v^4w%>)#@bVmRJAY=S>gz_ zG!a=1FVRSFR-PV-7X4OU^L}0RadASU_%}kX-oEN^z=vi}g6i`xMK^5UMl_1erS0I> zjSRfP9WLbqpjv%5o}AZhsLF2()m)C{9VwZwcoRhX#Y{GQ^&(&NgBVTYS8tvBNvP&2mCH`gjeZQkl*Nbuc~+fv^eBRlip}J#Dwp_XDQ=K+ zSdh`zhO7Xa;HP7FOjbae`9^uZF##|w&lj9Oz%EC#$0wvNpi^6o*Z;#>Le&*UIWx)% z=F^LgB$?B2z59g);VFQtvh*>T5gDXr_y(U#I1!N%LxgG6fjHX$(C0$gVOj5mV>BRE zKq>LVguQ^JjYbK0MDuuhYrgMi&W#q=!SRr=d}`KBC5A>8Mp0TKRal-e$TrUeP!|B>Y=5JX>4wwGNPun)_8Hq>bTQQ_(PjKf<; zti4lLkS{#Op}^yO2~6{HZ11&wY>VM5Ao|xAlj~0iVLzOVGaoP}gi{FczbTtRA4|C2 z8JpaAeZ2XpMg*Tifo#0kjnVcD04$O)rG9i08jOZIYXnIiF<|mUr=AC=Y0>H zZr?Gu!SBUWU0N1w;j$VPo$|-|+E-oKu_b<6Pmv4+mJY^im?&oFDOJj6DD~mZ2coo; ztIt&F;;w4-x0Je9zscqMnn&?n*``K<#lwTq!_4WduBeL9TtDpaLhjLIqtw5vRt^^h z=}8(b$HYxyZnDUSYFL|z^1h=Dc%h|Bxh+EPoKt+z(hc)(8ustcIp686={(w*I_Lf+ zmk&b(h#nG^qc?JWP&y3h2?dF&pqlq1SpAm~_NlHvEd+D2(Kxm-^|t!lv(vyagWMaJ zFNcFUkN<^Q;a+K{t2a2{yGDP)4>GWP{n}=YKt%}+%(*)=XT(IEE$@I(sX4pY)p&cYPFe5D<#VrI+KbGmP&I}Z9yPmM*t0pKyI7E) z7q&IL-(v-PUK|j97BepB|KIP^X+2lX3j7vw42v6T{NL5RicXGxeYB=t(v{Sw*C0GH zsMqqPHre~|-p9-T>9N2UkPozV52^C{%4+E?6Ytg*M(Ustw&RdmN*(`Ltx9@9%|fny zZYK3j?^Ios#Gjmme5_%&TE0}4cy1ldK#4pkI1#{6$AGC=Iu3^sO_Syc#viAO`Lo?c zn=g*9d&x{>uo1Vd$K*8cHFf{No)o0?ye@Ae*7KEj)VWO@;0ZP;XwQ4s~L0~Nm z*qD5c2$D+Sg(mST5P4yt1kJTa0$D~PX$1bXI=0JozDIxYsFFIw6p_8Fj$ML;tR=Ab z)}bB|I41BM9cCO`1kTMm&bd0SS{4_q9?dDmEl`gdW^tR=Zq?vVRkLHujdz+IlOrYg zpI>87hwu5-Cx@4mqlGy2$AMiE=ovoB63yn`B9|Th{XKv{_b6}oD0y~NY!yKLhN>NT zwX=da(+%bmU(yhI4Tb=fXY-!f@^dZQ;*`glC36U?~ zTk_dh@=diWOog-PR;)Dt{tyd{BTX6zg5n!6rXVGAkm5w341=UpG^R8)$t5=0`4@02 z!Qs{cyGqhC?w<{}2*n(m81~cB>RLfZ>iaAX-8Vj_Z`7O{IgbDu#*G@$Z#4X+eH^8= zsc(E_>bInb;A-|UtnEa&1pofBSu9-N&{p8)Dj#PN#x3_akE=q@RRfH1miwfSxC%dV zP0z)@d(XVmJ!%g%rhJ{f`)}QFaAtu?F%;w14#s;t$vTEABqx9vR|FEv0Ai0LZFqK# zP3cEO8SmGIt|$1cX=MrQ^QWS!03A-} ze?eN_w%$Bq6nzLHJ5j_A8Aj~Eoav$Xd`8A3ZT9cOxkFnbmW|4iddnO)dJpCwGC_nt zIi@)H0ibfv8AV6HXoMXwfx|QVg#aC-|C3@!7?(Bp;B@s!cnX6~zI$ zrq?+-g9%e7iM^ZLp4(nk>uRgcJGC9Q~Rd95rXnGU!<1h}rK%VWDR^%A%gxp&%sf`la6*t!-!ObPH zfB?UNUG_-u%yb*iVl4&HbS#r_2nC~Oa_wj8dG&!@F)JMUG7|1{;vdGVY{$PC+z_h< zy-sgZ3g5L{_cYN2Kob-NZ8r->7YY_Rigtrv0wP}}h}D4dU%FadgK$1lJt#}76`;zG zmm6P?CL*ehE``op7n->47|TqD0VKu|TC)0)WC;dXg-#(Ej%ytlYiErruFNTlk*@Wd zY-W!}M}X9sV_IUPa*-xC0^hXPo@75!kJOS@iJR|~>3lktd3t#A*==YSw)55?>#1Dl z!so!}5}ldRoy(V%SDd4MOye2c#9Qme8kn~!mJiSVvRk*D9WUASCLQhO=*~KJ(b+;y z2(=M4!hO!zlLn?r!tO5$e;^|J{U4XN@b2c$DrLbTY^Ee2%K_* zr#=-D?3Y*S;!~`X*V-cE=wrfZ2bnoQeZDq3eG?SXSWh3U5;-nFBtNYg>%<%D9e`xS zNE*bGI>*R59jqNE`{Qd4?7qt1DHYtpiGNcK+NIkb_iqUWvyK8WN{>{I6V!mmDoX5Q zr=F`Q#Q_C>0s#7qTLLDk2MfrBre42>gA=FH>zT>@ovBBM%Y3@CN&TbjSPIbDLd3)}f%BrXEpHu~^AnJ*l8y$GMnRy~=- zfH?x7Vx#wao76E@L4kpjSqc(vv>B-T`=ptl+137eGbJ%IYic}+i)T-v$IeCrc(y=V zvw@%IPPpcn=sRvd++o+*mDiazo+ppJJB)Q5c*+`F)vO*ny*t{FdQzsX=_d?op55Zr~v*2xs@ z09?YXNO_J5>8{MB0qvmEw{u$1lZW%OMi_k~lR1Dy^qk=?xyXImWE0Gfc89Y7SpYI0 zTaQvT064qybsK=do*3&nE&G%l$LEz;zE^HMBXk8(=IJ}*CR}r}W6Zx|nqS>7&nl@c zPwF+f)LTh#mW*3rst(3l^|j)vHME!wYAb6JXU2si#{jh;pceQgcb%L*MGPyVfMT7- zjah1pTZ09if_Rn0G@VuUm6SAHv=d$K3b|SgT-DKZ^GI}YXm$-vJdICuP9E^MG~h-X z@SG>R+I;h%eDiEgbPLl|WQ>9VM|ikCC=O47aGf8AteA_2s^2O_a+Eu&?ZEDqih1_k z?(ElUJ>*1z&cUX+B8a$;j4Pg`v~qQ>T{!LAy2+tQkSa8z{GH(n5L%9p;xrPS21>P! zTEL9%=>njh9SAxD)^S>~J6KmEz+Bb#ltRB`)Min???X2$0wVhdFuUBhf5VX`Zgm)J z-cnw@C&OI1UPM;Q=umOdzSQtmiM8n@`EhM>PqE*ZplPD&>TBVOP!T#%{Y$=VF6$z# z*?dns?O}4-dCm03)^y47wNJ*Xxe&;YjW|e)$6XE@%)b6p>3FdUz(XORG1Ehu@k1B| zdshAFS@o6!ZxqVtKyqVC4wdxigr|(>=+Ke{H)cyP;}sV)3$FiNT1H2JKnfhEz4^YL zfnP8zXAkPxF&rTk*8&8+R+T+R6)k~fpF?x{wE|?TzlpahihZ3RoJi=m;|r{)srny9 zXZ_aH`-kxr8?`YQougYuI?~Y%BPEQ{Ae{n&j&7t>+R-6h5{jciKna6(q^O{TDAqn- zzUL1(*LBVh&pFTgx$oD@hFc_x<;EW>Tz8Z*8F3lzVNR@KQ{&8cmj(lEeCCqOKBgq@lGxyy5qM&!bBV z?w^xvejSuHuSOqefK?CFTJv=QKcZWw`>AdBUzfAtkJ|V;o`O48Ez|*jnwivpr6#n! z{utdDIrMBOm=(+l1wEa1M`KrA4Hy}ZzupwsgUIdS%d^D(JExxnX*?5`1YEioQwtAM zOibgU$3{F?9}@nXi84~ zTR0B0N-d=X8Dz<5ka{@dll7n}{cTnE06Gg6i@V43VlsK8J6wXc06L=~LEeN`7zulz z@%mc~;31Q0weH+~i&sT7Zb;kizc#oc{hI`PP2|hPE1DW+ni_8$-(Gz#r}})+(7rcJ z(m~Kv_jQi$Y}A(q-kKVa*f+kh6%cw)S<`u8O|R#UxNY=$w zO$tnl^3(JZtq$y(IwokY=eGLO1a&w2nJk8yhe{uo5&aMLor^MFmXAxwR5b``avmPt6+9W*a%9e`cCe?lZHba8_oC5ciw+R zKBvi;9UI7gTy~J>PbwXH7jS#QXVaUGP5eaxqv+;e6+w+kR`jsE5_>Morvabr-I%;z zk6-+H!J{Q&QrmT}%FIY}?)lp57mM$?Jcq7$Iwmfsn0md*|L-;wH;3|ypl+g+d5F{0++yw3c9jP!T~c<<`PCPznB?bb zbFbGdPQfNz%C~aKGfVRC)AIRLV!}HHMlM?W!b&nli#}%Maw#tuixs!W8OIgRcUS8I zKMaQccxdVLYmaF*?~Pj)NCKHO41LeTizVkKvMS%BE-brxWh~a(lwyk- zS=U&Pw#d09QUNCK8f+#K9-lmKSXgc&G+TlK>MuK3xLlrMx#FWsC;cG%Q>T}u!0yY# z!(EhWl)~)6b7rg(4L#v6}wy*HjH<(WlmnUA%9EsK}Orb~ti+>@$GN_?#b&}F|-jn`#& z3XmYjfoU&{0w^_XMS|dD{bA2-r#OQ?lLCeS)OMb80O~MD_lrzNzxp(?vuE^`dSkS3 z_4}i0Vaue;v{d8!nm;ydUYGM<_H7;fTYvW2DTaQghYV)6MH;}YgnULAr)1xcFbRO< z^_ayQKk8-m_#`{Cf71Mf4&CSr=H>nsK4riQ9LyC#zwXN=Jcbx&0hRqE$GL16+ua&) zq|p;esbB<#5EeIBZ1 zb0fOFEimrb$wtXdNvRyV+$^(ey8e{);nkkFbv*}N&!k%mHkrFFEH_F$dbI9r#a%F8 z8=8MO{YRx|Y~!Eq{%154G5F7DG;c}%Y8bf-9 z`==(jcHK)Mg-`}S07{q(qpWm~HKyF*}3uC(tvG$3kkr{HS& zwEVzcq=+Tf3gDMw$3JvY@r(4_hKg@dfOC_)D=7jgy!3TGcPp*p+3E>UH`@D=U2SyA zZJxf2saasPw)jgku6}?2G*uhZ}07weIv4Bct4Gb6CH+tK?E8C0L(odT5i+7rPHGK z$&F{)Z6bQNrq5BFHUvE(XeGvhYoEDPb~H9SNQ^Iv0?=HP+gvv$I>%;kv{HrBq~Xop zf4jm0|7c-X0y>!j>nRW^{4nRBFs#!X2z%ma4(7xWm;3;*YlSqblb$^(MLMWg^OQjB zCa(kVquo&4gOyvmJj2KI*oCxO2czB^o1;oqK3WihHm>(T~psOew(M0-~K*jx2zc9W}Yf1>m`n@9LwqbF20wDT`*xeF0^x2dM1oG9Xh zc>;u?(1IMC?ODGIkiiejrnhI=2Z8S2OLS>1U0`MLRFuI7yR`Nc^vF1R(I(qMRav;i zA4rD8P8I5wgY>6PR5vjRy^B2KNQsFx+`UbJp$D&mM1)Mb)#_2E^eLG)iw%rab%4`I z%>mj~h#=M+Act8}iEU9OTQSx&(8-F|qvI`h_Ag~MUXk}h!Q9oUF3;wTizQueb?)=K7`emm%jEY+ry?-6Iw$1-X=KU4mEo9=7 zt`PXT;g`wd%%TJD3gO^+ZGL(yF7vS4L#EsMiv3o+7x7B_HX01IQhwp{P@Bxnq^tgOF@XMwf%s;jnu_R4|fE)F71n$OV3)RRcs0HV7a}sQhG>hUCZ{)qWy=8G-kOw z$w{rjaa6dR4I$d!ANm#oWK072J)XSsDyN}?cl5%-reiuX`a=3~qPN+e3KgQRXdM8VU zzC9@WywYfW=51P*LcDQ2yUV=gpMNegC8j~6Gv^<&SQaSEWgz)`ut5eYZHGyezX*!^ z&&6{~g!{m3DHrWOAQY1mFOj1&^ylJkFE^=-&sONK_P^R_x?#slyB&_L#WHOAB@H`y zO}w4;aF!mP@kM!WCaadtFo$~|xSoQS&&jXT-Y*_ZX%3`4rYX~nyoMB*9$9(+Fs0}1 zn17&nQQCRxqbzS7=V*VC3I*+-x^E*rZo~Z6j{?R;lJUgsXfWq1&eM?Drl(&tI7)s! z{2F@YpzLXdzMAzBP^BO)%dK=1D$zFN@>SuH3HF&s_A$V!ot&(#vBjJa0b)N8=lJzm z_yMn1n9@bbTAeotMZ_ju6_B9NyQ41_5X`K$e^1~NsL04G4}E`RjUM%U-@5&6ljG!f z_IUlk#N9EGi?I4lXTGKHefQr9PKQ(74H4zVqC(5kmD_Zh@?m_HFdyLDp$-G-UBY$y zcrMz;&W+9MN}!vbUP7K*-^RUTVa>Iy zqFP;gcM2E60?G0UnkscxN@31%LG0<&?d<$$12BMG>Sew%L{cnwr1?3s8vh>?L%=qO zZ5DAz_X;*MGLVzh#EEN?0_-9E*t3Ce%7<9_Ym1r^)bO)Ko}#859}_(3_w!y|opBwx zD=O7e$+FdmjsL%9rhU9YVVo|N!c+#O0ep)q8$_gFVB@4izH~oB?qNZ_N~QpX$z6UBMG_z()|_!))EWr6cykLP!V?`cnhC9z5+QB3$f(${_*v z;GeUHqh9(!8lLp&9i2$YogTexReKHViQ}H!VN53Hdj@%w0#NotmkxyLONsEN&Q3`Gs+VQ5np)HT zk9q$feXI`jlf8FRy-#3Q)!V%s)%t{o@kEq+oKwgo(|7%sF7&N%=9@$A z%^UOU<1W+GTRZDUxu^m(za!vtuQA88pLBiV-@PE|lX_DsRJy^}8uz z9SXF&{Lm!i3q<*N%N4aeVGgTr+_@sWAYM`hFRPF!_-JA>Nz^$6#k8ejJkO({ASzSI zw0n_t(E31$pH%4qcTNwUrav3zU<$RLA+*;HTIHF>yW}j445TMWuzUr;t?=&lw z?8Yaq&CmsaGY+v+bjw6os80D`E}b~-e@j&fx#Hll@A;-^KDJXV)F{YkqVqHyN z6jcot#tid&FHDM5auov!5ejU_yK3!=qFtR5efgm0r+Q}E8dImemD=oIWg*R#HBIi8 zeIV(V@ov2=wb|J^9t55h*DEhFE?F>H@Q%n`3xv^sr)#5lv{B$~q&W~(e~`0F`x}Em z0A)Uz1m7Vdo5H(<#}}Cl{^BVH8=K)m1y4WFVoVWWL1K%n z;Pl+j*2uTy`eE|7;6qQImRpw2RRGT#$SR8d?0i_x35xe5)0Lxnw13c*6Oe7V7_A5x zr~WqfOy%>YjU5@bLt>%LKy?v0ls4(F>ngu&w2K8a;|h4G@6y#&>fMwSu?vh>(TW$> zC+JDiwPuG-9d)zKzktmn{tCx3WuvE;oM7!nf51X;X5;p=RQfHk5R}RCCXW&9nhlGn zyof2sR;tJ_PdQNFmcoDN9I>_vPWMXjjRzG0)!#mMi=IC)hu!C4eJa89GYHtjGZ;je z&gUQsx;%=%&#e+_^I0mwL#k5b!q~)MPrg&H%|&SAU99H%qXS(P!Q&pnFN9p5D_Poz zb6W2%aVGJrbbAPNJ&4D_X`h_`6+>XqwiaaI%SMnIfxquaB}A9s&&5BvJ*lVFttAcF z;f69RxcV%Sv1&LVF)36VgN@u|H5*|+Ah9*FQH`$JC{~AuBpQuRK1|(tI@#6j%mCtE z>e2bCeYmD_ZP6ki{HMySAomT3SzoiNq7+}Ws~Y&K;n7&;TvyQhikq-NUe?>(GcM|9 z9tqv~Jp5O=om}AjXaGNYhPcVDwjaWw5~KW7QYksKyHc|zWH!KD{SA?Zu`!GWNT)%T zM}nFDx`tbQOYx%6t(aQhCc^1iVH0&cKPvKx;r(6n#D zV-$qH+}3On&HbbzxFg7~(;-;ua*u|(buTWo3lbUNvOs*U6z3B^RSM)@G7{s*-uxX9 z-`*K4i4X1raw- z+Oba`<|NQkDVMKs{wn(|T=l_c_3LGmT|w?2Kl$(rdD8OvAK71G9RpG4+6zEV14m(} z(Sob(L3WPQ@80m_4RLWk3Z`mCnzKE6Xj}+T190XI@e<=q3$~2gbllcZZsj74_xhr0 z?Qiu}vxu}7c8?%zaT#U?$aqRh8HF7?gcu~`4o_I!J7*}Tz{A9tqy(8}V1uP(fqm`L z+&1kqZCVWqBm`ZWu8j!7CAbekBq#tR8KU+HdgIk1>As)J(D7%a!0CKZn6iJ{Rs2+r z!+XZgh7guQwZ_)oH!YD2QWflC#jzQ)PTz;VWGhu&cDk#aJ2B{T&t-%|D5$z$rT*orMbqMo#mWJSiA6$rA_0#f6&Q3nJ@nU+hh)GYQA-A~ccHlfy`PJ>_XP5@e&~vrYq;*D%Ji8kAn$ih`~WcPhVV` zNyg-#%lU`e=u(%dz|N@&IBzMC$4~F2f5yw)5;obT_3vz)E8%?uF%P%D0|6u;R=Z4I z0(k(K1#WIk49vO|Hg5klHqm{Rusl%b+CKw&ZJx}H0Mgl0Xwm_keu79wH%18G8RI(m zh9{ynj(x%NH8r#O1%NDCb~}YEUrS)H7~(2TK)z8gf06^BC4%T>V4f}UliKW+o9t9< z=}1L_osQ=_E7^XF&m+$`ZZ)vHsw&odlQCVtupxD^*wcRaTtdC-56J zq?5ZkkK%ap1XpUxR*b)_Ty7W5|6BI3bk!8Z`!^z}=CI(2hPi6w(L(HcA8-E^Z2d?l zxUocTtibr--^LjqvH+C)XI-ioGJA;r@Za+Rwwuy$D&;Er^?GHBCXS{Q%{8gU1kq%= zOK$<#O^HIgPq=VoyCF}=^PR`3+Oh)a+KN~^frnN!K>+#%Rlc$+zU{syB<_(KaSyc^ zWjM>8bEU;kRzK})l*4Dn0pU}L!)pw<9xF0T4h1c({r2~0Z{Db`CZv%wZ`{N)C+#23NYuHdm z9yO(jSsqLv6GyR4Dzn?=fVGzJ)vj7_9ITWG^d0|Xg;oy%v_l{gNVJZU&$tp~5l<>p zKU|8VWA&V^(1qKnIr*?u80V`nSGK2>D%{HLZ^92%y;ZV_+?&zvmU#V$Pv0~0=xAq( zGx{mETVc#6H=paKXMN;W;7u*>A3qLHVb~yodPK0_a#%*r#iZ-a1z43hoXpCjh9~8K z=o{RkzH}>iPTNX5_gwVKG^f6Qsxrt`h%GBdEmk$;3pKk-{IsUl=mMvH!MztG9gF|! z{drSwe=~NbMExFOz3;=P-#_$I0^|mM9Ig%cUO=4$&X0E{UWBG-#YV?`tqwPp`*!2+ zo$p^(UwGaB`|r;A$)h@POVtn0w$~%R@ups+`o>4l2_KabvUKT+^DUAT1y*UC*F$HOW=a>Jv=AkHn(R}h&NK_Hf6z5crNiocGwpx0?xuQhVKptR4TIDg;iYnEWKx=Z;m&3vN__^SOXoAI&4ejs1!qcTNXUbkB2;rZ zt{f1z9}yx#tP8p8))q{Vb&OAeU>I*uJgZD0Vc5NR7gR{q>S-I9cCIe-GzsY88lJk< zYuB;jXYN1zNvv}@!ri)$t7A1so6e9|@Ssh{Q1;B>_Vwm&Yr`kaG+&)4_XZb2%cF;D zKbA+I9(p~#_x=3Q&Ab18Nl`l1&Qh4PAX2G^ad4GXb46BprHUlb^}-76t&r3fRUtJS zvs9snx?4J8t_6&W17X6`+?P}^sj}i_uBnzXK#oPTM98ji4*h?VJh_Gn`bO3!3X%^L za!V`X>2(VgX3?RPA$o-}%JG zUA|bJwI?M@FvRabM!%eWXuiKTeHAs*;JzZcYk~Swwzd?+C}-$DOm|JWWBgNXi@EEh zSf!8$tDmQwXk#OWZem(8r)|-+sdMG!?XbmNrze`fgDzuR*Zw*2$BkUdzH#|mO^RRa zOChSS>OArN_3i_YN3uPuDzsUOjE?8oy|wuno1Z>ueQzO>>sO=o#X?5mvNJ)#(*oj< zIUKr&^)yok_~*NDBTTsTX!s?{BWSdBUgTIr%MA27zpXS5Y+uXjHpzQ)Nnuua+j#UorFJnp$YWKQ&wHZGRa6pZzd_{2j`5Qi(;8P zjdO8aw|)IAYsVz(H8bF&j-qkDvQ~Jw! zjauxf#U{NM_P^ARSAP(gwv&_Y2N>x(Rn45-{ez_K}^)owi$xW#4iEGkJ z<($yw7G2OS0ex3kYx2w`{VB@0QgtxBb}2{M(?nyKcZ@RnXXU#n_E!Sm zhslXo5$_be0Ed_k3XPmQFqPL~oXCjAxwCRA-`lU^FCjwT>5Zfz*y(IKB-wm3!z4T3 zLS5T@I0ZquJmr7uMHBGO^rtSFRLfpu@|xc(#$RH+ytl*!c0{})#yfRy9)C>9V5n4j zS5Yox-J4hfUGt5vmOA`o`0o zvHomad%*o#g789)KKk7fKz$9wIabelY(HG(1xkvP9}+gZt6=^CvMUPpy>ZKFq`=G^ z1Pei@BehOyy1HSLR zt2-miIyF~vhhl=7QNY78&FHIhOz(|Wi8N#N^DcNGD{IMqyhB@$etLZm^c}bAJ>J{s-6Ab!8x9Yz4}3j@NZFg=Rn3>cNI11JPSgws< ztZ7NFdNLPyucQ+@@r&mvE+9l-sddi+TqV&DmE+f52c>>zAL_JSA2Z*!IIO~?{9nBIKd zVD)K3kBpuuZz_$##CRv&{mbnP1BW&2s|ASAK~?vcpG|_^J9a#0p0FJ6PIy^$XyB73 z(f5WwmCA2?jeYOHrdeX7=do+HP|@^EhEj&_>;T*Q5;?>*)sHh=uLu)m&J$~UCg3VQ z?fFXpbAa~!F0PLH#QO(xRl{1YdrGapgina4B_DV{YP<%|#!^#lfHZc!?P0$0q@>#t zx?G(`)%2bOdU1_2h9{J9DfT#6!_V7q^~|AS!!8-}M+BMcpYv|+4QUu^sQwKX- zJROf2!&gmxSdIY^QA+aRGy<}0{XXz!)s3$sn%X$=nstxKs`LOieQs5$Y>;au)Kq@1 zsc2{TCU4*R7I`_h0rlyw_m3sN-T6@U9I8m^!~XT-!U5CATM8#t@9-M^ zq{8LO;unsyy_9sfP~t{vD^~c+Zr6H49!e+?kArhkN_ogjiicR1>o|21fUwU!ef?5f z*`y${bRQz6mYa53bp>@0_~OsLtf`b7Hhn&X6-_lR*t;l5ya-F z=4Kmx6cOe^09%Yf|J!9;B-1^|DL5Pv9qDS3b;ls2YY|Q+#R4%jWt<&f$;+Bm`S$%r_3Ho zVSIW->+q2+pA6+JB;3ta4BLwMLuTsR<7gZOVM#P;;q~;{qyVk_ z`{LM-lbg$yj&SOFSDB}*@A!OH#vrI%sMBMSO?%8GhiqN(3$UFFk$1~3nrbP^Db8u`Mq}}`6PK1s{Xf+0QN;! z?jpWW0>Nqg=Sr&Q)j7KqM$0`uM3gMu@EzYsbRAU}G4cqp9+bGD`FzQP%##ADN371OkfZqV;%RQiLDTHqp!AEo8Lpa8dY2~9q`JblB54jlI zbLcM7nByu6?TKJ(ZTL%kx+29^os@2I1kpcIsKqEW{D7!qVDotG%Rg!SkD-i88f^IVsfvg13do06mjB*Kuah@zLW$$;tj@6LG zNdE+5?jpk1Rdv_H$CO#V6z|aQ;udlQRXP?Y&Lv)TL;Q@qUpmEG-f+KUjLFWaW>=(m zSHz+=s<^(WxTOy(;p%iG$n;T=iON`)b3$R<#aJ?Zs_kn?W_DEDIzhm~J=fdd>jc5E zqL_)IVDcH9g7*rpz1CiJi9uU^UbQSOoz|FGri*4k&4=6;L4}g(HyaQ|jSb6qc+pD3 zI|6)}gxGR~KW=QOQ)?UrJdV^eoJc^$iO~G~B=Q2EE_Gz9j(*_N4lbFX>sWdWQ-f{i zh((d1p+O9FWN5Z~1eL(_k5Iw%!|oS=Q4t+aoTKkRK1l?aictWF3(R2-_)ZGYtg7-1 zqnwXtJaAg8-juoa&3e&M~`vMtBwT!}4lb9yl#*IMirC>EdLi;S|GE)Zg`) z)K$OIRWH?D(%&c>?jWm-%E#TFJrc3-Nw*vWTdOLnATI_+^qFmt`W`T>pWRadmOn~Y zjG^66u)CYf^pB*-RBL+AjnO{}#IHt2#2J|l0dD(%E|^dvIG_lwr5eMq*T{5d_|p5` z2Tya|Cc1=)dQlJKRpx9HFH5z~ccExH4FTW9gNe}JWJHWk+uhUZ3PbGc_BO_WHWM+6 zA9yA!YBE2HCx`709IGzFE6wyFNL4_(!(6Guzur^a6v6xv8~w5_)+A+!vwjZU$qkcp z*+JebWW<(uF>k_WDV@NJd_#0bZ#zo_1r~~Kv>50rTj{dA(`cpMZCwI?qIQ>vG69blR z16iYCw{Wz#+BkD?ApSi78^uKq%XRM&!%+^$>SVBvFT*8+fQLFdaXGAd!BVyHW<-$y z(_FWtx7P=){01nnhCh#b=KAN_i%Pi$I;Pv~Z(ZrRgRORCIzxLrGi_&6N6Zl0sXTuW zdz5y8feZ6y$-aDteOKV{&u5>I&+Wf=gn|(7N`hxT1@pvP(GS6=D2!a~*VMnjH~-KX zA9acYjOTNVH5FiS&M)4P=#N$J8mtLBetB_Cnk@tg`LB=c*$y73 zFt`PS>zBy1zv1QIX(EZR<~I5Y74Y>1Mb*xsD3_;yk#H%%uqp{^A;@5q3PwZUx;*-meInH(-l0meAQ_KpEt*xX=^h(5ep6c-!RGUspI6l5?Y<{@_ec+jWY62L|vpw z%&1Q=_f#&K6g=Zoe^(=K!&e9i985l_hmb%|0F3sFeP8~_50ScLXS=?dzIc#1W&LET z2!m;sV%3qSyVV9N+3Oa>ksUBS)CXyF4{uSs!Fu7Lp~Udg9LD<;NQYR(=;X9UKF1sY z9ysoWM@W@!-lr{zB)Vr5SoB-7S38Ci z`GXOJR|zE885toy{%XU$4d$zhH_PmrcEq}4ooB`dR$n*$e4VL?;I2V_B_ltyIdy$p zK8K*U<1EWM=ir)koKYQzbMP4oKg)Bt7R_oc7}06I`hu#w`m}JKzu_9k5cA^Pa}E#Y zJ^Uo=CgWoqbSVm?pdhKX$tJzNV9Bt4QqrYpzSxMSkD6mq55|O5qf9HHQb&xx8Xjxo zLE5sujDKmImTy`pv%_!E-^jfGd-1VFsr ze04l7Ej8$PdeC-Ws+%)A1~f(-0#>z>iX94;*{4_NT@dkC5k4k6KEIdgjaU3KWo3N@ zS1CKMpR9BpJ+rXbwaA8F&E9p)hIg5-HUkjUY7r}!uka7}Nw~IpW@hIrM`BEDX3N!rb0Zkl4evj-nT!auX1buD(j-q=}oMR+joFy+SBWq*tM zj6EbXG|9q$4Z@u+9XSR(CkG*1E>ZVJW|=jnnKOCiZe5yWlwaF8+MD15Olew+vSA{= zuDyQVbv*E~e&wU^O?bhxF6FFsE&1w7XSxq?# z&mfJXF2YcGZ|X%pKeq?*5y6{cy-sLeEpmJuiB573Xub$uqV2mj5}ecZ1?Mf9ZA^QT zh1wBAMgH3y*i3l9v4uP4;nQQt)JG(&GaQ&nA6|3svvxPFR=pE=xH0ee{f*ukNj6?U zpI+!Imj7#8R`KiU^Jd9Xa0N0B3qLrygr+lycKG!~_!5NX=$!g&fx^Gg#_$aA`!(Tr z-G7YW)?J6|37xW5^MF6?)GKg?dwXQS8fUxUM%#ynI4Bwk;6n?~1K|6sYoTaH{%;El zvWtrT@Ov$Yw}ka5F81M+WMB%*1wiT2h=E=J@R+Ydl9Fj7-uw(+Co<0j`&))}rV_dEiv8oA*M4P3%g$^gHPltyt}! za5fVqZ>vgN!b)dKtE5)_&+7h!^w)fLwT_*8(_Z&|wW0~1S|mpOv2O`d9Zg2bd9FpS-3-_exs&1d^lOh-q5PHY zHOCdNxtR$0KWoe1eHQ0zzjV~Bgextz)y>w}Dc8cReYA!+bxk;2K5VJKuiLk(QGXAn$?F1u?UT>FO=iv*6x6+3!0O zYp6ELv!$vTn>^GDX?XrI^!Jl*}XEOR9v^Z#Z{@B_~@vZIRl3Esg z-m927{EcU!{F&{%x8Q>}u1?`+Z#~lccJr_L`ahU(uQlE)b`MyF&utKCzL$o6g-oz0 z;Akm{_I{i5Ld6@AZiuU0oj=sS^`ZiukD4UEJ^TKKho$zXtv3zNZ=q#ShM}3&932lH zfXDFw);4KW2A5nA;)4{CqU(MxqB{JgL6v53MVWj7H%|#|8fmeLBz8v$`;kP11wk+g zO1;)Z0&z(;%s-BGZ`U^@MEXp!KCHAcMu@AbdI+Z{GVV-0eAqQrBWW3LZ6dS!WEmlN zS(OH<89{$4uKZSJ(X8&V1-(RV3wMe|Sj5QTr4LJz5BY*e`$GNHN3;)k0?Ag+%6=;m zfBgNh&f#C}tTe;BuAjVf4kTcGy7TPQH`^!pc@+KzjiLj zaSU20Wqqaob1l?F;#cV@i)pDl$}z%NjLW(A7aRTqQTF4j&1})_IFOq6LoPyjM#PFk z%VB`C-&0Xb4d3jm6WphBC=Rv4oyb5M=Q%rQf$Wk)O`hrz@#l;G4n%`eK>GF-NGI zr}mSC{ZLkm{ZC!bCIn~nwmx%IE`!KtoitPTEf(M03`aeybeotp)@E$Re5^&N^NuS= zA7`JVMm@Wm$Tp{do~n}d*K}WZH=gx#1F1@8WF2Nq>7AgA2Iz~gTjx3$Fc)WYG|5%! zeV=y&ouZnk6FIhRFU&_*zQ>oBB%k&w6$(scEp_F2LxTR0a-rAN05MT5NsrF=b`wu! zy%{5OU>K+4G!2POI*X;azk7xX2xXajPUz8j5+HTPe+bC46fgEShs@!RLwC02YN-qj zd1G~hn0&@U-C0;H)`YkoH5Jib>0n{Gix-j>^rBBxOJ@@xGkU zI;mia$rR?&=+M9NPqqE}oDiu4HiBH_y;-uM4Qn)*W_t3MgL|w$=WYh7aQpv(0pNRQRR zg~385{w7!m|9mC=rQG)~3~rMN8W##3{me}|2Tb9c03Rkq68N6fT>L!k@wD*)2#E+H zvO-Lf*gS9sY3Ru$ehzb=jV*0&(G?oW3n`k}2-8=(yvx!ZEG4PcMxvh_=@P_Hs*uV@ zT@GHC$;@J2oHUXr1>9E_5}5)@--h=FudAJeWDPXw_Ql7;G?psayGwWZ&I-S(7vH&l z;CXdmb+*NE=lk`e{t=ldp}?pKog2;7SD%|Tq}YExzHvVOsDB~WP-Fi~oi?*H-^V4n zd#9!{|2k+K{Hy{lFAQb4S|spX853@wj6eiC2+^S>sAQ1R5Z0@-GH27e`gWJFoxj~# z?q=UDn>1*dNxvaNW=T(DfsMw|C;{a*_sDrwO^$~Y0_!XVUq79HYM2=ZbD(JdEsvP~ z-R=gJE*wH$gVIRWYqQ@Xkb!1IF#8%A!X+`}UPM>m=?CH#dfOx^v9C~(mYAUUiu6S}LwFB__7TztlhBT};%w{EE5O6(=icRq_#kZed^cYiP&&&)e{^WC}jN zON-*`^UG6haBep&>^aX3{LNjy?>Q+^=2FiAt{or3pq(Pu-=yS1`riw;LVe`RlDzo%OZgyS>x%!gpbdo2zRU zhU>D1%%#u4e!b|oG45OZovnLkrt%IfBPkMIjwe%I7^=Iw{}ed0baUceUD zmpvT{zxGb_gM}Lb9wVsaXC#fxgbxDj82J@wq>NS<~Bp=5_bs)mo?)9;fc5w3WZC8!4)hTnhY92C!U5xhid+N{JyuS(Mt zfdhK~j~JyBR1n@q-d)mRuqv!@fN~qfEkDsTC#IQ`MK%~n@C(GkIp?Ngs*S`T?Jb1B zCN_-%5om%~v?aM0YGDVobdhy$och$HnJut-IwwuOYJ4ZB37+T4uJuVC^(kRERJn9l z-6nl(Z_4%51otJ_AI1JNCpr5JIfs%<=DK6GU|i>EKajB%^rrvBTG`&0e0j6~=Vvwh z9i`tUDfE6BwEhu_C!%>2KIiDzFWu)G z0i7Sq>UQQ|TFa>*rEv9j{1bd}v$#W=1cELRSut@NUkYL0kByq=snVC5K1Qi6 zBjuV|E5UZm)-=P`EQRVeW_d^d=rgKGT{#+$``tfwwd&IKwK2ef{!K;$4VG#6Xg5P5 zpS#(3xOcJ#WXSW)fO^`vfe{EmtHGF0!=dy{RRZEW#m?O|bcE+W;ha#xCxonN`%Ixf zjsU5uOV7S6$8%8PL}hZKX5?*#4F`wgW2V6F`w)$}NAE`B&8lG+;8-~gBknm)+1@nc zBOpNtB4q@GkpP0^>eMFy4{lnXW7q{p)h8r5yOKt8C(#5eQj9eAj~+ZDDl$7URj5|5 zs3u*H%*h9&{b=K2FIF|5ODt|ma;EKyt%pU{r<5xxJx;u0kqP!ftJRaz@nNt>!^u6~ za(9TA?qE{nt6F}fr+5-uqK_;yLi?|0nlu!k)GG3=GR8DE`#T+QFgvncMvCnp%htay z|InKfWHNBt1FnCw)^Oti4k=!fXc}Du59x=R9jLzQ=_=P!FS3C;rrKu+?7vFQe!*yV zG@0y&;XkT}1~MB?`GT8PhK6my0+2+(x%k-;sKXqHtu2nn`w0(0`uNxV(==(BLa;MA zQ5D@GbSIu(64gS0EnZ-5OXE-uaWlS5qiQq~qzn4Iro>U)#wsy~i|bx*?*~7GGl?d9 zJJDAGVgX3@X?wNMF{m4xmlwo@N`K{!Nt$tN{L;n6VqA7%LApVNeuKPjkhFZfrc>z# zRiy1|41$Hxj(Hu8MFy4pvu5aa%*bv`2?eBtwxxI)!G2Yb_EhNI;CyWdA$Lm5eN)5J zl#N}@Z)ruz(V8pMt#{FzJqE~Lgw0(x zzd<2wOGCZ)Z7e9gp|=DHMo?YZJbE=_iL^We&c-(a4*VhXaD5ToY$V-CDa(6j8i-FZ6*3M zB@mnaZBqW7dJ~(3clCbw+8n&YpBG-c&RvspE+Ph0-!b@Z9u$`f4){0s%+#uaB_;UZ z0CGQp-v{c)n8*>6Am{y_`+-zc+5713t3jhzC#Q$*DT_3zSrn4v&^V6xT@YJg+<(X% zN#&Zfb&k7H0#`T_sYmzkP9>=B%SKEtCDEm@8O8C=f#6#-I-IhS1Ry;bfFkIsn>)tU z=T>+pCt|e-sTW{M8od}TA^D`at<-G1>|?t(?-T^%ZZSEZYiWF;t;{VlJpy;xBD8lH+ged-6hJv%}3=r z`u#;gm(Z3pK+mG9P%Sr^%=I^WA1|dx8SaBl}9*SFCrUSaRgJ5qa33lKofSnzZwho75NwA1E7+hXS(*pSM zEyM|*@Gmz>8y&adw!w-8s2n`!C%7kIims;Z6q}Fcu)dk&hU|(!%p(;)MJALMM<41RI9+-(?AWr~v<~w`O1LZbcX+qDQg@^AB`=y&uKOqd zG)ZxP2lK;udTgXn{UhaS^X2|iGU<$LWl?d7nsoMiwRg(h4Y9R%D(JqDbkTObws6CH zKgYp6FxMB0gE1|r`3(LaF0fFH7R#1F??=Gg$8QHbuQWwohi`F-B zK72FlD%hQ1IGNC>qM=&9ADt@UfKL#_E*)`c+NKYme0rK!i%09VGCm@WLrEy@!R3k>bSk*>~9Ths0Uc2k26#z=q6|vn1&@DHr zEU!qV8&&)~OO=c&EtWLS!4#(zCEB$mSzx}HCVG4Ty?s0Ya~e$Q`3m)7q!D26PyM=_3%F)5Qt$p=+Wg6+d>j%FoTgC^SUCr@R7MpBeJ!cRfIg(#G z`6&e4n;{yapz;Lry~09`Mea^~0U=FJeAU3ufZ@cph|^3a3Jn z{I}x`WZqN?*AkH}r{hANaYKPyA_!1n4|KwTHwM0WR6_HjmQ^#+f#=`MITLjjbai4o znLdj?#HU$n$p%&Ci59U~a_xr5y4boOI+;M5j3=B1zIm^F z@2MFw$>9Q!j}7=lq7!fcT2&<9#4T`16dv|)h$FL1IKlLr9RH)}T>P2vzdyc5y_M%7B>Q-hG&P7GijL2@9b36=YmK;WZ9`*6n=&5%Iq6iG%?6lvT>!jrbDn z7ytdy-ur!{Ks>el7dibr_2k>b>cDi&-{~Ye|1E<=;-Q!Dkfsc*o9D}v1@Brr_Q-lD z8K9YR;-;sr2q{`Zk<27A9HE&@Csh-YKoC#MfXOQ74$Z*qD_jW4i+}dF&(%k+THpD5 z@MPsd#^)EerjA=!@9&1mjh7ki&P>Tg%TJUaq)Rr}y4161=EbM(i-al8#JGNbGSYBO z$*pB?WhVDmy7;?R-|-5STR$6SJ6-FY&Wk(}pMPrEEZO4Y zf|1ki&?oi!{YgLAEE3h4N@F_wwn<|hllK&AT$~oj2`-W6)X8`kE0dfM6R2D>+=NBIoUU>-%bPAh zVucVL$kb7 z(eSuZ5I9ii-&Noa4}8;KE)w#nUsg1914$KCYu}zNuBUOjS>iW*eZ26k%HD(INJ4~3 z^c0M*4^u>Jy%aNF=v2mUou)P@Xb{I7;179D+Tu4LJOju5{_1?$XlpCy^BwVAa<6E~ z9OyV19a++5#mQAf2gbvUgoc$@4%_WDn$0RnNo(`o_f%?V?pV_jK#q+`(tJ+}uBM|0 zCfC2vozj~#)Z>^TD&PW3XH%O-riz4`oXce9`$}i4CsK9j zLtrx_#<%Ooot#Ujez^Fw{NOH1uKsH0{wwavY;oA@sM(Tl)53yfQMO`h=WqTl{Hebg z{_&?CRdRMtr`VD?dipN67I(#(0VlWLo4Cn-aL%Wt(E!SGCVNoP_4i*xX6q_m*YzSR zt#OHUlSRR=e)`$sDUX7RBj_*72Ld~d+7YK;W8(XS3WWYB#hl1{TcUQEW9;ZC`tev2 z|F?(-&2fKLqnfvlCNxYrjN@*dQ)4URy9@hz6=}vTM5NPrzB%!K*XSys;*vh0+V81! z9cI0d07YbvYUYJ3omFpSi@kTR3oeN~n^Xs#Fh`vm&ANxaI0_pS=P}`u3tJ&&4@oul z$(*}qW#lBwRn#;p_cPPu5;6b5O|NaSgY`*J;hv1a_LkTe{E2n9l^I=N8gMsaP!HiK>m#Gp-qQhO&@+!jXFm-B!3z6$k53U=Yl?!t2mC+ zB}=Fv2SH#JK3Qo63lW_o^KfTz#s2mYtzl)pD2m|XDfGrscX}-V`S7$M68CjFwI2Y) zn)tGrL$Z?ZIcT;fStb;)F?mh3fYN6ID)@-&4;=uOZ4V04td_fb6p#gkvN@`lQTttO zp}Dr3-9DmUV+Zw~`SOI@ApOrVE%eGJP-UfHA?%jL+e43nf$(0{PlPFbrvR3~J##x% zvvX4`DAT$(J7PB)$`MfoolRTxyGAG%A3H}a)6f$JsbR&3PsixTPd+lxjBbdk4lh){ zZ&CBI`*}2}-MkNSsy2RPKxoi?fVfa2@{ZUq)WKrcoipYX3$V~wk%uH+z2XwuNavTs5)7+A$S8QE|Ph6ZFBWKO<4kn{sT%V+Zu7-^tu2 zNQt4@Yz)h?(*5RtU|4{=${PxZz-UvE4^VIIl89roTcs>9Ma=gJhB~@hWxAYa+ZnML z&ouDpu)iQY_*RQkD}%jNZH=zVk+J?cOnH|-I2Hi7O6MeE=c@5}_4uPTk>Z91k=btB z#+&b*RU1siOa$1aa;GKiQjEf@~^i{)CWAAeXsK=O0t>g7^hwg@J0sFO@bWv z&b(EG$u`LljYe@7-p{&9d-dO%7{WNW8lyspRLqBy z6f%cW?rSD){y&q)G<+!tq9#>%oVd|a+=?KYfrUNya{iT zLI5)|h(N_y#Bqg$oZ|Bo>WRJd%ljLVDfp7naKAS5t}fstFlr+L7egM3l~Fje>wT9m zff0`l03t(jC(tJbF%E1%?#4}r1cwyFgtG0D+yF|2d7BnkRU!O#A0c>C(DXTrq+ zlH8uWyWZiFJYVvAZKk&CXXqb3qS@2scaZlkEf~XshJMMsoeSefNr?d;_n_LQ#FUAP zFnb0_HV$Xm)Z%V9m8p|)(Q7w#%IC~J>oCioOciAVaykKYalWlEe)%Ee-%g%cJt}6V>hd;NU%r%+lZQ7`S4l8OPMN#Y@W!PU$b@vf znQW;Et&@o|=usgK&jK@TR;c;`%nU*FQ-mZbYjpV(u~&;Whaww`h7Vpp%sRLYl(p&oWe5^d<`NAr zQVH)l7Q0`;ugRysPPL(5{>H}K)BP;dX34#Ec`t;(jVFVL2nm|wMsLSJws4oSkj`PZHY+WMQbO`y`7Zbs#w)Wx(lnrG9booduN57ejUUzzpv=7? z+Lt64DmoeEQVn&$Jm0A2w|e#ZE`ELi)^)+@^P21R^=5vh)}O9&n#&oR18bI;8W2de zU-Q|_!Dv0I`H{Kc9nxxwv}vii@Eu5rrl?2_$*YO9ZhYVMISF$-g$bf;K&A=5GsVA= zB+5)gO9;R^K((f+T0#7`a!O#Fu`->#b|10eZd$uP;KVJ_fH!fxA}LC$NG?4ls8~we zbNno1BcO1HqQG6M*k$}Ej-o4Ms2#6Us9OfQF1g(tw`V)h8TT z0F1_D*E!jv42LSPoO{xXPQ!)WRJ`@kY?%gpHPDSfkynj49huHvSl{#F$$rq}vC39R!r(;ZKI-G+R{ z)2S*|pEeeK=T^$?A}?r%gYCPRNCN__0HlI9)hq!8;zvZ&C{D*mWzJm#H3oAoPc6dn zCZYjLGUXPlF5Fxl@hRm6=;y}Rbw~G#F~I_mdK0L(R7P}^soiu%ocOuTcO9eYWYn?T zzioOZfeE7%hA#4<_Q{w46O0QWuNokboXtZ6f-#lF|v%m?HMrGzhlNmPGA?m9@Ou z8)aYOs{KiGCbo7|OW~xr4PWhojryZ`vwy3XR9m0pPlG+yE(vw0+j`XAPGgeH}3HrXU_qbyMp*2OLt62ICzR3iuKr z?mB|E+DC)!-5v6< z4S8k|r`YoRki_bws;U;4l@_8}&sH?)i?yGk7o8+JP-UYvpb`L7Nl@IZm#dHbaJr)HrZcI>4Gl#mZdc>cJMkI@CgL4J3VIY( zFYx-#1mgJEl6LjKM%-Y>0`h?p;g>5T%oRQN|w9p`<== zPLIum6lkf&c0n^XFU@65!G`+k8+6L5k8$dwAA888%#^=6TaULN#jI49eO$noEH)3y z61M6uODGphv0;G+ibicZX0!g*m;b(sxVdHT#VXI=3Rm24+%l`QxD<=NFJv9WIU_4< z@qJPg;hI2t3GxX?68<^IZLFLYQfVjyVHXI1d4?2#YTXG6 zEMT9uYyRFpASGKDuUDHvACf0wFJN8mgpqs&S*wtEx;fXDUcsCWXH=#iyJJ+p4A0Wi@p!^AhE@LL`M z!^UTAdR4ZZlE#F!A{Tr;h@~oG7MWM?C$BZZx4gD{@tLcF62LpmO*TXRRrYGNr zAYj`TeFwE^VoytfKuzZOTja)2Og1PEc z%-*{vFDNpX_iDUC<1HlRG)%;G>f||g$V~)n0af84uzQ8_EJ#Csd2GvMRy#A&bpXn*e)=SEa+g+f-Cvv&v+@h~{=vIM=-Wfr(RM=yDVH zlYWZ_pMDkfp7m+bo+rg|t4xT8YS(E3YzWwSlfF*S!+K+zH$dCB`xMX6XNb#-ThaDl zCHagtT$8DD76=nPeoi;_dVqvzL9=X{y&Qe4*POmVq`V|bh!Rh`Ij?N(_X-_H1GqKO zqK-^-<_H!~0EPfiD*zbQey<9!Y~mmjK=S$!e>XPS3~QDj*`ttV3R$}UGKfeF^U)R$ znG)7A9lfV^g-?aeUM9RpVl>KdGjLc^#BeA3O!4TDrKk0@-!^gBu8R7G1&Pe>B1p+P z##x2^Gz%7d6Z~pxwba~Qr(-tPpF1z}a!BIaJ{&1_U$`V*6Z%*i6=^l{rM^KmvaunO z$3!N=(#G^_^xJ)@_nO!JL*;&S{J6MEo?{~CD4Lnz)1&d?Ht{Ney6egyaZGCO8{;US zclDxH9+O8}!AehpHEx8cqH@nZ zc__c=B3~8ieB*6_6^Z!dD{oS`ey?yq{Da#2xSWj$(a=9FK@dU-_@zg}drI-;7&PCaO84^Pb;Y<_wX0L`&y!QOg%Mg4!l>iFk zFc(e(P}v2vhIC9f3eMdABwiSWR(aQaz9yuz!OSupXG+m|x8$doiPNP(>oqlpWy`IV ze7@P7D6TjfEX+>Q%()IjIH&#Y-fY^efD&u?W$4O=z*-*n1%r^Euiy7t9DMAGIjWf1 z^i#d4aqBtft!sD3F9u9hTHVc$5xEvLv%fz4>`RgOrP+3m&+WJWXs%CIfBt#!QU7B2 zV$U1k_u`iCdaEOa8Bxa=z38Z^`r;qQYrJDsfuCBOzZ{6g9e)2fbXh}H3CRr}Z~Auy)Hdon0(<`92{&z^B;1uFyQg zx}vZzUA1HmXeJ&TyOMu4Tj6e=-P$22=d4$W54YT0fn)Jm`X0yG|E^BomAHPu%z7B^ zr-S2=U&%DjQGu3U;X~_%lYyKf@-#BL$Qa%kcnJJmJI%-wfwzBmJ{C3bqvvFtmi>Msic+Q|4*MN74`9@BF@`lE? zqXs4V&f=QJqt{EkDyD$)T9vM2mdU1g%Tj|JYwr_X54XM0;`t7BtZOw`3;MvCuWYP5b@GNlp zljxa?F(n%f&%PCCbZoZhZ}vTV{5<$+RzLEm2*AgNc!=;d`m+Y0ze@Pug~KxdF6A8t z+Xr_fk{y>@X@sd7O2feAtdcUd4NzGexUzy}v|YAUjk%BnY=u|oRV*k~o8Apc?T&mN z@$kw1gqr1vAIzA?B+Y3rm(b)u0^ilDo3v*4B~x>~uHKeI5=#`=3!H6!zek%UEY(*> zUgCZ&Ut|XHtu?UcwYEPd*e!7+JmI(^jm30 za5)Dop_&6&Yh)pTrq7ZAR65S_Nk_Wr~x5m(C3 ztpL@LH%uMTUh>X}iKQx!cb_xZ2WDLOxh1?yl-3cFYU)|3zIIeFrjt!M0R;Gn z4LmCijO1vZ^-aAn{nT}*UAwEPTDRhHN%Wz*&SSXjwXq29 za2FnKax!~N&DqlJk0S<0N1u=&7FiAe7V5|PVD}sza<}r3{zY6qNkgR{A=dBs$QNLy z7ihl$$0nRQ$%7hDA(#nj83Fs-WAsZm>FiLYV2$N~qP&oX&CnK1!*hW@n%yM42_ho1 z<)K3$g3y-62;syY^fZG@LC1_;4r@H6$O6`H)A8f@zO&DPX|6+(4r2=`){4e_G5c0% z@_NODZ)=M6e1!nDAVK3P)Y!QsUN|$}Mak1KtqgR^u2#s*f!vmIlGB+MpkvH|jH%a; zUrWEaa&~29;jA-oFY=H4S+D(8y~WXLeA+~^(WIl$?P;HD4|_(8_KMtMo>w}*Zau49 zdj9oPhlO~u`J1jgF{0=j*3l|dgD zxJ}}Y9qLtly~t%FT`8b;%W>3i0IWmsP#)7LSK)iP?$25&GKJbD|~(-op(`;je;D-b-Nh*i)AJ zq&;zUi0{7kdWB}zc4{f+5O2Qc0qj+E4)OdhG8OlJ+*|6)ZZOD}k?_63apov1qrGfH zJc`tqxti_TbpXF+bs+3vaBc7vD4*V~q3rFGBQn4~9`ncyLAoz>YGdD`;JA0X$$!|U zWdrKpQPFP^_;B&Q4?0I|HT-Rmhm!3jtTz-Q1mGEvmffGJE%pKU_YMTwU2~}vd3D?U zG%}ZCQ9Z!;B(EDCPQUMGaAGx^OB_1*n!x#V2(?P@my!-(p$#jhK7FJmPu`PiOLItY z|2mOr14xvaSW2`IHQ|tFkii&+^}m1LRj;1sF%54PS}Q2Fw{6QU5{j2z)q&w8Lvqz$ z*2_jrCUgo`^AUE21Bw==%3fZC`Mbf9wF~BgZ^EfKYz12FIB0o?R4kg4D4r+3>A{-x zA=Fq8l!>%qS1Wv}|7|oLuHRR#{HxrXzxUc*{FC=HfsxVp*|yim;O&U~$LZ=hzw-m_ zG<5hPlCHe`joBg&MnB)Z|26zkXUtd>Fu{Qjcl;Yc8M8RuQ;0wOIw&$5TM!1*l%FuSDE);+;{KE*~yVe zs0a-f?GJ$chLuNyrU-zsK3JA%nXfUIZQmk9+r3wLWqT#z)|G1qbPlRp%G7Xgldn|_bW5rW#o9QNNM{G7xN-= z+bavAYJS9QdBLO&7J!PhM3s^V+4;4<#Rh^7<-bhf!N}6}Rp01%RIcNa$q}N+j$DTm zv?OuinXsm-=6;O=mXa7xHX&Ez&6hP-EG#VOL<-C9tatO-*>o{K0_23Uw?ypgqNT+z zu$_GILS)G*=^&d0Nx-z*% z`SEKq?d>R50TjVl3V%_#FqD*LV=Ql>Y(E#qw}fSLQT+r;_gGu{={+v4Wz5Y0{<4FN z7$hq1Sr4Z*DJxnXDAqR{T{-mq-r~!nntsglJA6WFtrTYTVyo{*a@8)bl}XwGf=62`0! z{9o1C>;*QLfWD4}7kr@a--5wTG;mh~Pzb>Ozp<$w zVI83)WC74YF9b;jg|bujtl^xuHXOB>!8LU@TiBF@ioMs#g4xCm)%bhwdzI2agIh< z(3QmPRUv&UnPPB%OX&5`80nh3>Chfi$Zvt&%t65+zEqZ3b<)~lsc|^bKsQyyuHeNy zL8tkf>_J!f9YW-_NLMhCwgD#0aBoKodu=eEe1N3qINeoNZ$EBBjn88?pMxJSw*i`-K{%g;FR9m#`F6yYuA zpTE~%n43OE2&LB>QAY`p=YK|>X;u9La&d)dauxwa#5V}Mn#LoGqTS%4 zqH?|#b$|;^MmCrK=~u+w7p}B&WerW`ALFJRE9>ewj}O_#Hqj7vD#j_AD;8kJ7tYNh zO_wPF%Yy~F%X=@efdi8eH(g|IvA;M}ymYoskbs9~()*;pql^@-@2K3py1*_%1~p7) zb(QnYX4rVg+jl_iDuS+nkn)EUJbxMTlK~2{B=2h#vUpYTh;uUD6=4g$wn061$Is-! zdRU$y=BZ;B=dJC=zjT3VhMrie-^h}ZFNeg&y_OAYDKmN3{UPB~^*1*tZXs3@lBOEu zI&mV83$S(3LLlf?CB|u4%%w8uJlM#*(&h9iv3(8s%Xw#fuDSN(_--x;UF}q0juXn; z+-{#YxJTiCx&Q<%u<0zK-$&RVo%LYyO(3^ff3-Y|&wKK!peNP;d*5b6&l6OZHh;pn zFmjdSB|*Gx#B?i?V~s$2Zg){zKGI*-e`!f^bkkp2;nZQdpaB6Aj^%y|MNX5Yn-*Sv z+k7iRhO98GpQjQfi-|)W zr{rUYkF+IJIN-{eav?^=b@bpsw~4cFSmX>tm^07MS%$mNM&w?i+9wJo7NR7+d`_0>@-3!`GU!?aaW<~K{ZoLe684&C zJXLv;f?ry6Ei0Gdm*e?G`S1Qo^uy!-wihSw^}9m5$>su-&32d1q@Yz&5SP&Fd0hO% zS~%VA}k93^dNycw^Z!#hsk4!#7RlxJ28EUEm5SpW4c%R>ack=As_O z`jrq;M^eSilAlNS4fZg>;Q-u*9kh-CQ^G-y_gVt=u=b`m!QBM0e~V%|Bms+_^cP9| zWaA%vk{SQg!NuLnf@RyEx_)D`O5U$1G;_!YOtRDN5}02`0m?CX*c?N!!>gVvmuEAt z8Y7CBpC$#lFTcTP!d{@j;u}E{@ylx1&Xa&h5!XRIdU-U>Si-m8b&~1&H?zRB(<4ro za{GxM13s#r+R~Y?`R%A6rV)P_s0!Q+G`^ zML1j5V+N4)?nY8zcUX*F$Cn#rOeZmK5?npVEKCjgo(OT-O14^rCt-gkFrLi;M0js< z#1gq(al+PbkXivVL^g2hsQ4b`SS;P@>=rO#ul&+o3vL#Hy9LY9LhDlm0BO@~TI8yT zAvOn3cK=7!UuyWW@!}bewJ$I;q^j($IBVm~nCR6HAtpZ*dF}0Bj)VNx{S30uPK{(EPwd{zaeEssj#y%*+V_4 zHHSRLWWUdb_Qz6$3rHW_8Jv3y{Q0Z5bZ;;}Qv|269<(Fo=_?W&<^CIsVkf$f(ASpe zd;=w`>_hrZG}!&#s+bVC#XhdZs&k;Sx5YWQ@aOxBe6e~Ve+N7;lxtRx0#gc>D8ZD! zy!V}2Z!v}C>tVVXRC=;fDI}W8@z9{-hK*R{` zWh~%=6LP_!kM)eu@ucN5M$4wgLS8r_PEzMvOhiOu@?%ohIAJUd@VNOKZF}-@=%UEc zU*6^=G(6wLn8~<WllN8SjAx^3gnIv1RITx_4R29LinCH!7XTsYGMtGsks`g;?5lSgvC7l>Dt*Jc zb}TE$D_fc^IdjCh?fQh?49T+0{_&?Ly=OZcW*XhM-`$Eihfr-g{Pq#NIsVY-_MgeJ znFpsn>fipk#cbAoTz2tEERN?WNuWP=b$p$wb8b9!yQMQYe8DqkgURI?^0xWi*W>HyV%=e%p5GR= zGZ3jijRo1%`Et2yc;s!>If5T=SKq&}_32s6e^OuW|M~TO zdoIiQc7K)scu|&~#!AwE%9lqM`^ft6!vy}QCiORp87sR`As>UD1*xbwin*uIWF?P2 zi@2U)xVtko0@qo;^N|J|9zK3j)?|qT3b)AxCum|bk z4fa6a#!^4`T3XvdQE=N~cxq_(YK^GQ(`_^+qSyS#u!s^HognjAQ!W)ZS&tix4tid0 zA^N>jjlH$+WtMW>uG(gk*!XKXj*iHo)*jgpmQ$nBe}BjH@?VZqqw(t}+*-iYD9;ha zS5_&UN+|D$MWchNybME3#pznZ&-)rnNMp*HzJCqBSnweXLxx==X^uUZ+C24c&oo{lMOIygQth&GzXGaR#u{tcnyUdA#^!rr7 zbN)=bf~Jw@6L6ZyGy08jm*80|xr?#0GY@EYKqB&&V|b4WFVJpiy{jrP7YPjTmP!)# z&pnTRPb_K^s}CwI?0pxwnecvAH>MYTp}vb&6x8^*^~e2%9wz4-x&Nl$6EGd9Wg8_) zu&8qT_LH~l9ecxHF0GAS{dVI^VboYzXKm(Gn)->-^BG~F!~3lpdM}mu6uzc5DCC+( zf-4EUPF*zm%>u{iy!!sb)~Jp}rZSvp6n1GExq^e8LzBfkVHgmYKu8F()oi-p%4>xc zAFpBQj;)>)Yr|phbd{h{X5#~|qO`qyksSM%c1I(U$ln&nl6w9fax>qiS&HUhNfXL?_uK9>$ZG@^D3v@dp$2NMRYdr51(?1;CL&YqcBWXQA<|1 z@J{?nVSAt-Cc~-t{qwGRi{>?aK)ValIIkg!EG1SQ1ZlWBRqXnEO}iI1)|eEfUW=STw0NmI<#59SGC;G97eaIa zu*ZEDoYqNI$oJ-SZb~z+4Ifa^o8`pcuM~(#KBnTdCZy5A_43m1s_io+Q^k3m(WIaO zh1lH^+pTy(!yt3JSSI`uz?5G=$5_-RBDIl#kLT{VYalO_-w=SOx)$;qZM2T@94UzJ zqzz6lz$9<iS|N;am4!14 zwl1+b5LB*E@dtWP_^aJF3&|S&7Lw`gGrb^uHZR|$@^VD)hF9FE<SVx|&5{rm%O>l(ILJO63@_;J#}pkU-tIG1IanCf zF4@(;g_6RMXwoO;4YZ)1$-9#YIfh^W)*|=$ENaq*%*G};{|Q+ASJG{+5s-q4>5fF| zrev$$XUnzTXH$4iu347+0KXJcA<$O9=Hw*JMcf}kmq0@_V<&RBT^PuD-zg)8RbJeR zsd&EwRi!6#EXot2@}1>)=4bTyotNOU&@BJU@uK6gTR*x(-&q9a{t+g>#H+8eP*-Gc z3X7)uIfqc|KDZB=esy}BRP6Z1{JWo-w23kLTnM6(jl-PD5`TylY@i7IuxWsJgSj6}Drp?rOYf;B_q% z07AZaX|397LX`-7;;ehzQ_j{oV9ehZ0Ks8eQ#6ED1~@(3FG;Co-JUkZ>M3N~>$Ji= z4;TGTEYNaWc<6(N9W01L;Wn&WJBvrfqpT`UL z;5_q}T3zkU&7on9g;yDs!aprJv?d*SB15Q{f&PKAe^vg5%c0}D4EqaZt;7(#p4gj( z_h*1qVRPde%$__)O{M6^?3hLUcpR_>~ zkA3EKnKhK4bnHUY4eu39sG>io)tm?K;i zrXe|z^SL@j=7$?u?^u!ESB!^;WeetcJz{%N*eG@2pZl%3foW1^pUlpoFThUqCYYb@ zg%uP4;U|q13kQ6^+rcEW-E2oWwPVmQyA|R&bYsk=(3K7@0W}h zGe4tORd^>la;PWztlKHoE?^M@FH6Jk+ti$X5omksXliz~rG7X`p{@L8h`QIc(wqxL zLyQ{M^Er@Q31!oZ=kDA8?%qeG{75lmdj@n3uu~5p160Adu-4o&9#G%2Z z_#VXFK}&H)o-|0bEWw-(uMtpCTnwmLR?{)3Bq1MdA>OCpdx`r(Y~U4YU5f0TKJ`kQ z_@j~?M94->_IwMDrRxH_th(b8xWH~I5G zp3!~opXBK00G<E4in^X;eBI|kyzkpU zu#7|HqJ#SS>5I!3{pA#(o!lQ;K_ja{cNY;0NX(bam>fpTZ4M^v*5sWoFo@w z?-0^YGuM=)eEhYX?BTh+LJgn69k>)U_vDZ|>+i7~Al3al5 zh_1}5m%~pDF-X>Uj)ab@_K6UCviDXddX-`6+bPH}O+_ zm(D!y=B+wU$WQc?iQ$~eRO(=WM3HRjccXY#{$qm4dzo;sJ9)jz80OBiNhhC`qhwi7 zKE}cqhWsOVdEU@?R-l4!XwgV_-sd}TDfjp>^FUI&f=a;kHHYJjQ|?;$DxtJ2tVu4vvNp1os=uy~gfnLXuU&9Rc)S+;GAZG|Uol}qArNHZPxHhu8sy_{>fwV$a2;AkhdX|Y`ZN}BN46H!pUHeR|Km}W~CdcLg`^EuV zpjz@DEYI%+o!f--=TZ}IP4|I|Fg_EjLlGy*UFd_BE~4ZKVR~3^}1Fpb>@l!hgHnl0^$Q5 z;Z$|)0s%U3HTIS3qCF89g9fcpQg|s5jT#T++j7?a~&*BlDOKLh%O&o^hh!D53V-9AdY-_$i-=_0_&^mU+C(nQIGaDBE&{S6N28*=HpdhHJiu{WuR_Hd{r00057 z-;3e87=3c%l+Qp^yyYbrD`DSs)eGbvPV?y<{7ww?+n+%W^1DisPh<@zlhHzv) zTq8eshilFO{TS)FJa}9MT6BL#l(vlI+M{zO(W{c)S)axs30akFjr<~}s8_i%(N+%} zy}9JeQ3?d0CsH=LTp<5O^)CX?FIw|D9&v#N>-brCQ6zek#qB)7eF)&G4ipR}2@c43 z-CiVnEZZ61Exx3k@gOpTq9;Uo-(ED^9D3808{KR6G2rLL?xb8=FkQh^qjzhz3W$6FB= zV_Hf3IEYcEMA=Q~Mb_gxsgRlluCAS%G3%jZol`)*W*5d)@*&$1gXb?z^$$z*583

    *|{8|agw&WrcJq1`myn27FQa*1M*K5F|fvSAv9vFkpNhVA8V|g-&P_djl ztx)L>Y$WKuWLH9FaHfZI#rGw7{vCQTU@@QbxIboQCNmN9c%@`w&)#ET#Xbd-_Pkm>(^L@AB!Vk5{P8!n-b^PmnN2#$ydUIE00P96|JVRNNQX084rx^_%vDT!VV_5x)En5!7!MS7M+jd~(Q;Q| zFk7kgrq^#BX8mr@1{flOnrA!bXWxS$k%V}*=ObAgBmN>x8J5(tu-E|nM#%JNkZ*Rt zTw;;n!_(#ugHS}z1#nCk;_WEJIUKA*16|(X{k#?W<+$yJ2<&T_ z$%PrRE7F0}tuQD*n=#Ephlmu*1S`;iatAAcryTiwvXPsf5}nzazafEFi+u7<`!J>SGb}wLEH=AQ_TV{j@1tft3@wxcUB`@GN<%H z1;~!=hY9wtR@-)0+Fl9R2m8M)NSkJVLiPKIcvK?PFkj3p59~8u=rz9n2|wFhvM`Ut zxT=^VPMME?MYtgrxwtz&G8T@-MjD>a2K-yZ-kA-313v*%hKF`W8P?Cy5!YY%zr{cV zumCZZRR567t4J{)-!4|koUe<<<~s|**y!;%8hQc|zOTiV#en=P2LY{d2`7QBe5cTp zIY{eVM}bpOnbnabRi<-uAk$lp43s8=o$+{w1#l1^#^wOvAWF#+`UMzkH_SOp*Li;8 zQzx|tEh=E+6Rsosh?-0p0*UxU+nQ%=1^?S(iEmG)Z@y(X&6dH3$ndu>w}%<R z2v7y1w<@OsR(80u7QiUvF+dJK%D}?}o7jl}y?=R))Q^cOfs@UibAEl_U6a8tj^G(D z^neW?AscK4$kj*f?~+ir9M6-s!c~9rxjyCXlON#OCv(UVK)T_1coHK40C9;6mm_)> z>U_EOl84sG`J}kgsSWm+{){@zHRX_~VJw}4^!%SsT;zP14v_zgGinC6Z|jY!gTN)_ zxcUcR$_#)4a%j_+XAv>g0onNMzzuM}u!m>AL)*CYzn{bm?%i%7fh!`lR+pL`wf?;M zJe|HddA#)=`7822MC9dP(f=XB{&(P+3ule}nj(zcID?2AcM5v5{r20o^3Uy$Wrv?y zwv+yMI81lSt+oj|#&Rv&F;>$NU((;88~|cOwP6NV4pwZLk{FtqJv00L;A>)&y~R@tKSxkKe~??YexXRwA?AI+(;a2!kA{_o5qd)v z`r&#t=2wm&k|p7~_13vUP`U`qy_r$DPn|q}B=+F6`(2xnO4051)7_+`AClfXKAkO2 z)fVSpE&91c8ppkbkcw>|Cw)m7E<1HUF#egm^_FYxpt}D=a#Ys~7_Ycyl*qG)Z=-qD zMx{z8A8CxmZ{Ul-&PSPGr zS{O<~8evB}Z|;O<7dP9F^GV3Bm-J$dq2kf%Kr4O=I1qxgEVvmegqLrOErN3Y{`$-T zn^k}`J|2l2a)7^qh`X$|HkRIrj0mBL9>EKnWUlNnZ81{Z?wK|5>k}=ubhP?-8KJ$- zPD&x)>cB3#w}O6?RFkSa8D9SzCK+DK)T<1yTIrG?)vqj6oE=rvS81QM5_awyD6&TR zFGr4`)^ZxcG)=z_f7AT8y!znz@xr@}mUz4MSSCUfA~0{Mu+->gE1PbxU}HFMypN;f4lvO+rVaPOMrGLba9s1O!vXJhi)eJLXpK+qd^mtaBt^ZPqXxHP>brb<%;x64TWeKJ^7l?# z%-6V28leUIx7CQLzT0K~k$vemuCSnOMB@X$q$W`gH{|_~ zT$md8XSd%8&wIHdHFBSheBRJqfm||AeZukxEOwN!#?$hUJeBq^8lOL?qCroiCOJ4D zC9;{TDvWh0PsZB?L*RJ9Hu*C&*Y%ocBJnu6jBi*HkqyFTg4B>7^DhDvtYfzXG60F$ z!Q)NAaB6uPtgsdDY=JLU6{*+xehbfghoHZ?hcka)q6 zM?I_?(R5j}!*+5TjdnKb2B%4V#5Wi-)^n9EfyEcbGc`w5N0ppu61(L#x|PGZ(V4or zBquJ(*M&!d7N~`S^ZoG8Qkv7_ZOFs6upDd z(ebGT^W6!}svO3Aw^u`)Cei-)o6WU>oCACb7Q#r@X_AAktFiHXT8(e;p_u{~7w2T2 z+uusqbSscPKwc+8LX5CodFK-wq*ct-jK>T4%bFErv~$NySD6b59F*jK$Czp29gm}n z-xpg>B-xr$B^L`(Nea6@T&^3Pp3Rd(@+W7;t@(}l)Bd{21gz4Ho&s}n*m3!5y`u(2 zx^_84x5DhIJK`;sh38`xa>BhD?Ybs~3h@i=&&PR`OaWw&S+J;={mWp#Ch;+{oL={1 z(R%?|{rG{C`Z2iNuc~0**?|?v3?@UbAf2{;THuCRZ<#PdOmhxa%tv9TW$~^|sf@2l z?XWYF+K2MfhrKKHTbogT*CZLHyydV&coHp?Z}f-tDM^L}v?b*)vp|hcz#AvQv)*2u~D6&%GQ^ zdiWVzLlJvUnFRvu@G^*@oW+MLh=X{qvIrwz_cHg+2HxB-2mQ(MR65l0Ra<1qkF>4d zuoP1kh4hB^>D$ozI7YG+rt6bb{FR1BpC`GZz}5MI(-^4Q+#qM^KO0s($ghHo2C{|# zi0+nae57ctZIAp5l}(QY{^Ucs60`kdhmd@KoRUqg0%)^Stk zwU!%U!gva@12cB@e2GWF`Zx>p(~ZJiMLhd_kIDCFo*IP6OW3>E@^xIt-Fzu1TB>MR znXaC#e_)%C(}4Da7R!xfk4VbuNz7)BD)?^;#R+$fB}6tDucm}vRruZRFnd>_x8pU$ zEO@eI)9F#y-#asn?$hlC8^O;8!WPSYJt961BBN_hu8;+0<770eFX5|8bv-H9IPylcuo5P8sNK#!hWL?Bw%oh%bL9{S%wz*v5AqZ7=^rhO2Mtp1#(;Vxfd_HN};; zIXQe*VT(m~#MT$a zcan(9x^(XjF z|L~h$nsX~8GYEPAdVxa+)NhYQaVYrfdZg-s1AfegxWciN4EVhDF6f$J$1#d z!OY-Ty3*b2H+0Mk^~^PH>U%vRCo9Xq$y+ zC%HoQ$RcErVXtgOF&Idp{%{rG)Wm>-ZoWN=Cg$;(R<3L8bUg0*$CHe(v^2AiqjEFxNBr!!L6m%6ITukw`)`}K*wzV0yF0&s5eQ^Gpma<9zXWRrHX%()fV865xSZ>pV@ z?B!T~jn2GOBA0hL5VZ%C&Fs^xy)nQI`Z;%kcg_KZxBlorQNW3ZC66S+)0|oPcl04H zd*GtZf`K5|QTQfi`HxAPR0)e)yBKK0uRh8Xp?Z~00|^SFtj5ond?di zp>c7vW^1%Rftf`m#G7TDdq7BBSBnZ68?x+_ts2Y0SSaL}U2Yt_IBt8z38p+hkYs6Y zp{`z(jELMb%TKlwIX`Zr-c^`sr*P9wx1`9!l_oqlj#teg6{O=`a||Ozr^F{pMfgrv zfKO2^OP%=Gg&LlcRPW8qinLo&Y)Ummc9{j-leibLZ*RIr4`rtrWtM5PGPpyWwrYn1 z8LBBh5Y#wO4G%WNgEhySBM~Ma2LZwi@^=o|i`dS$39NS%Cyj$$S|Qv@6%IaA)}N2^ zJ&1JhQu!H?l48L^?p5)kONK?43WV#^xp`adRjY%OwIOyuLIE@q@MI*?Y0T=8XwEds zOb6_!!$o6OWpkY~wH30mP166sMaJkB6c-#L$ir8&B{Fa+>cuSd`a7y9@ZYkiw#cJq5zX1yjh0eE--AJPsg?O!G~qXFhgA zSDQ*d?El1eqh`LAD3XIG=u}W))9d%8%-o~are_srUeJy$h-8s4HL#1NvE2m|haMY`>A7pGQ^`Pniz))$2ynw`ck@UxeeJCVT)i+m2{Q_W-0} z0TZKhT}FE}OXtNxgT>8m(XuMu8@y>4R$8JfEDQiOhl6q-EPfTd=Oq1nduu{>oOZqy zVx{O%C6vhlxxP-}KXsadCdoPM({OtTbr$)%oxo2F;0Oo@0FeL(DU+a5!SHdKN395d z7BZv@FFYXGhNYb@QrEoOo}v&zX2p@S%DQYx z7`xa_Gi(ZXu2NvaCOwOs$zCNdP1%B-4f3^UH^_?hnkoA^$076!ll<=f_l7!~`SDMy_P;=dw(%d?c< z>mNNCml>Z7L2V8nOTML<2_AF{ z>ZJ#yOYo}}n*Omg^JOWw$SFlM zGhFKQ6+`zKwArHb`G|QcY-ZUII7!N(Yxi2^Zj1p>fA8`#Ff=cryWMYQeto zz;FbjMCLs^XIJ3wmFp@fzx2N&A4lHGIS&$S>rcCnTW+52eQv~k?s}xeQs-(YWE92_;(kU4!Q6r$r6(j7De#OF`N+u3X6aw@G`5(G?*x zn>SkztFK;d#@xn7Xk-Ybtes&K2atd1+9mk467o!NMH zhMaLxHG?xA3DgQW!9pH+B#(Nqg#Z%;|HFTTR$u_YC2{@|f|>|pBmKHt?%0MVsyZ8P z1{hjAdl_mr`{QE_EL;vI6rvEW2wS)qtCldZlyr3a!iDg-^PAIji_16f`m@3l4(Tzy zpH3{m^J=rx!`AXJn^8E@Ia96#GTootQ#Q_;t~pi$x1764$_@-Pm3f0Jh34`DSTf8@C2N*uVtgHb zyPew*8csTb`sw%pR?7DmS{Tx4Cyy;z>y{uUrS9;widxs5ZcUSe?<717810sj)s4LH z`>fniq4a7%Ite~k-5PY6OLBz1@MOL`eznGdi(DG~4%M}2*{FFnBaWCguWXcuR6AQh zzs)#}!)8!NKNYpA756%YBVQ;c>Ga;S>2g|t#n&?(Msvmj!~nnvy?}Y~fUCEag?;kDcCJ87Ecky=4j(+` zsP)}LTsoeD7hHt|;-K8xut(k{JJc0k(CVQBF zd72Ti+DyA`k~Czplv7ewUF7uJ@(OLQ5@eWJw2OkM;%lUmsm+`-&o`Yz!_{Wj?ARNB zgWNm$k&D!;nv%(N#npm@%ZwGL`MlITC6jiX1$AbS-5a~RujE6*09@lgkLurXkveEc zv9JCYJ8UJ0^s|EzS=EnfRs{YCxYqAoUceNsw7h_;@}WiC^#zaBF8Q)9L|>hjLR=L8 zpWu*pCR*=TkmbeHIkn3qx_^NV=IX^6t2>x*+l97Ya>d8=g{~-Rv;0{Xm2a4lwVyfJwF&g+TU>`}QSL~2dX(iE9wblz#N|jMV!0GV11ev)#@f(rk9cx1V49&k~oX z3$;$0ynh^h$K&hjhM!*#r^$K=d@*mgZ>eW%q13;v;z9WH#)&db--p|)lRf*bmf|)MI|F9aK zAOE=iZANo0R@g;FrUL-iBtztAs7jIr93$-->uQ03VgQz0u5)1PXNwI21~H^AHzhZr z1$U(?fWnm8w8)x=Blcmpy%ME0bX-x|+1=jBY`=R#`FOPj2PU$QP;y3D_Zi% zag_ryJv~>_y^eoRdsuqvjI?^0@7cnKsK&$IZ{Fc5R4`v)#VGA%;FaIj;;o+*vFgDE z#-lz-#nsv8&W^;sdJ{em5YCNwSovt?+`B!hyZ&?WqaJ6I#wPu?=#hg9{<^c@vri{Y zX>z?um|yrIk#yUFE`6aZk_!M(nG2pWc;qCXA$f{K36vu4eOkWuXC?g1wf&!`&S3JL zC^UoT;^OvHBaLw)%`}xcsb1<+&ZR7Kb$bK{8{_6?Nwg1Sg)97n-_g>afF@4G8oxxh={YmbdE}f-c&)&Q{OZ@NG zgN2kM2{!9&|9c=Hk%&lMeOi~^x9L|X(;qW@^~2SJx4R$uze@ziAm5oa@M`?!U-`-h zII%gb`N&iLL%NIEe!4KvgZ)~Xk7s)Q@jr74Cv|(uJzR7hs*uA790aJxZ`@ip0TZkM zjBvvrY5=DB$N%z}Vc!vWRH|AdlvN^wuGhW+DJ!T6SG-*;u4JV-MYtEAbfT(Qj5GPI zb+e%#0B~b;E~;O(0)Pdy-VWv1i~Kz6C%s!AR9i>w7A*Q#QEnvThO{nBOf_%TiS+~N zI$c1~4>n2FF#%k$Hr+0|q$Hf5n$}U=Z8v9=abS0#bvrh`u4*G*_+F?nSkl_b>yz2* zs<%#`W3CFn*YCCl1IuScdhF=ElL^pojgF@ev!n;2TWpu+XOC-k4k8!aYT4F7$?C2I zn$T97SKF#!Lb6qQm618tEGOmU9K!tPKK~_LgXrA2E$(bA=o^&4M{}i#qyo}$RXISF zOj+>9Pe_;!QC^=mcAT+K*Y^rmpt0>R%JU~&#^nQa_uVlIiYoZ-b!F)ZZiDxVJTmht z$nQnqD}li!&dJC$`M+;#;Y!%9(%kg$OCpVdn|W~sHXb8$Q@jbimNG&grDs?$B+W-% zK1DFL)>vMr3V3%;r!(s)%YUY0VMS7Xl5WC1vl=xElt^HWN>zNT|G?PfTPtwOc?sfr z=&oe4(Fgo`JrNG1h@ssY@}Fx=#R{leDlASnNGcenTl_?Yme7coOs&oZ}5*lXmK8-ndxO$hjuZm zNL17`%MZSR;SpLM(NOoSGnPua@vtvMH~s0T~$&EZL6QNko=*1(R z*knb}iNe}sL7zCanUN>!_Rj+b1Y4qlRZ8C%R#O91?i418^|NJxk1rr*+r5w767?rp z`-?81XqqkQHm9RW0uK@=qwCyT??09ke=GS>w~<2E_mO;m?n_y%oknZy`HkFYsn_XcI3k=)_g0}6UcrwzzWb<7;Pm@X z-M;;-O4zJ4-_|Z^5G5EW^LUP?_2wagZ=0gMKydEAwaQ+E#Se2R1s}-91mXmH7=uwW z2Pcddog{LZsy4G>V6gavDwnd!98k^kf{-5^Gy#i4sC5h2J*OZ0$FK8Rv9Lkr6Qe>| zz4OaRG>0@=J7Rz%G!x4vREo)2t~-p^V_<4T-bsY!wx!niLMScHmAn5UlUoPLfW(hq z#Era(vH91p{#E?Yq%UZXHuZ&r4VP*`FN-ah&C*J+`w^`Yanna1No zngDQ4B7?j2xgwlGjs*ISPz2Ti&`A7$b3)5}6F?kUlL^wIfMtC5GuQR@Jt+S zwJ?J(JL@EV+1a2NJYf$pL~T4FxV2ebK~j11a&GQ`^vegOkYq4m(0=n>*`-(8zu!HZ zxAa0*nI6uZ9;jL3SdBKJlCvHH>4>0SOMRW8y)49s)=|=5RJ4yL-u?zB_|mp$qlAmgQ4nm8AyA zH7d7wVKB3??-a~kBF;PBfe?gj3?=) zA~df8If+R=ZPfrt6SNfF!F0z0JsA{?8MBg;?BY63v9H@wqaM3gG4g%g1-X zzsO@~Qmu$MNCg1JlzX8Q8CXefSR~#;1Q3ukW~9t*wm4+8&diRp$}8kn>9){kQTcx^ zC=ZB-a9f)_%352QxM^0S@8*i^vO@l04>0GIt%gwnD_-To7BvNk()6gx7ZxrY(hBYK z6PW9dOV~dzrOP`a zM;o3CooTtOL9FYLHf~S?Lh<*0o?#_mWU!Dv4Wx830YVr^k)3gerP=0?DML^vmB1-d z`Nct+CDVU6VkZMeJ`!)yI&EQf(_b2Z8>Ia-8&u-}d-a^d4hA)yXzUgH7kg=IN@W#h z$X8XM6M7zcK?R0y2xzAWw*e+5xj?N7q)7m(8h{B$Qm0x2eQKe;itFvn<;EOZd2U@y zSHw*lG0BvQIDQ+`?jb3?@N;lj$BtUZv~|LJ8+}C{SI)JtHy9N+Y8CYTFQ_Q3g+i^Y&;YYUK#B~h9 z94KgBP+!$c3>yIB&@CYo77zfSz{g_ez2+CNxtT?FJmiHAU#Yl^$^r(QHQ~e}UimBJ zf`8#sMU|Vjf<^_pwKAdRAyVUnkS~M9o(w}13;i~4RE_iT66o8KEuVthQT4)pjJZa; zA(LL{aaOK*GD7k#xY9nS<#4&G-Lm?Xn!cH3jS#(@;AW!A)oC?lj2~L#J*sRH^3%1W z*H>B^)eh?`&dQ}&-e-9~w^@wtw!?I_82=3t%k@k(In%n(awQ&k6@^z4m(Y#{U8}K8 zAu~U_Zd?u$ZaWy$ALVKJQF1kMj!)6jX#I}NA%I`Q?!HZ_@H9bBF-Hr_i<)MlJ1Dfj zs~P2R({Zr5h~){ zc%9d;3-{rI#pwT_*9l4@l$_Bhuh(aZ=c=SX?7uJ5C%Lo;HO<_<6>Ddy?_?o{!%rPj zG~v0g{rsfg6t=-sg`Qq_Zjz_?&B0ax+IBQORj}%G)O$U+lJRq4vjugc#fP_k7^mm# z1H8_0%4xFn3EbT_09bvR3=1wsl|QdOq@W7$ne#$mPlhG?^yW5DEp5#-ma1G%RqOWA zeps%|nJ?@sspufj7<<_AQuCB@Nk8wN+_T$_ui0%MbB^RNeyLs6WJ%tbp_G-Ou7ZQ* z&XLCjKQC}*b6*=>W2{HPIxN`FN$*K&b~Qrwkl*I0`bWgAK>pLQXA;T>6GzMcDi=Pd zEL_48ecl-^(x1arq45;POX`-|}1b(W*!QA%H6VVA9ff_?G7I zIBXoCM#fVAK1+$?tM zo&J8BGQ^tj&F+~@`mVQ{ey1)m%7UwwiHfusdezxLgv!KxKd{hd8s9g$)HeDwecb!2 zvEot$`rwA9Y&#Mre-LrYLSY$wb1otrAi}3^ntyLn<^^ecf$mj6Gy#^YQ6LXpIdGpi#;&>d-b8P!m7ZIH z1Fy!{-9_K6PaE!deoq7KNC}(s-)-)vAKc-Kc=GDopsNWb=nO>9EJ^Tizs7-<9e>;s zy&y61vf}r$jm18_N!d~VsBy>+HUH=8{K>BlKLlT!;v}&oK^^#8cdmMNWA;VF-sNp? zwn)9f`o*i))vr)HG^lvXVJ7%>JZ3x(a-V0ncGY==0(-&#?$xX#grYVbsjowNrUUmh z{H6f3^n*pSC0Qa)KplRjFb>R$$k$H=8!2E=t?#*ODS2i!C;*6C-KxM94`x??N@<7= z#~L2e%Tj8a6{hmNx$wO-+sqM)~I6W!pBHt!I|!BhH6g>*1Yzp8R@?DLL(97XtK24l)P})>`xM;#HhUb zL+H7)OGluSqY`nV2etFoGR=yP@-`l{b9n0^13OFgn~3<#KUcr?#8#PThyf(we5b(g z?+*P*Y5XGP`h@Hd@dcpYK9%AH0*Q=M*Dwz-c!Jw|fT!{FhvOhUoDlm0-2XU1#{@2* zcua5vY#I<_qyiRCB>yHc)mkYi65(bCp1+a&7ft?@_aEn<=dSHHXK|2U)YTtCBD7AC z&l4~EIz?0jT&qAg8&%IlH*ZA`5`OhNGo&P?px6;Dm4I4J2(>U0SnSIx3gqm;(xLZw7=7^z0_}w^%qA&0IQdd zrmQ27NxHpggGHJ#$>n6_Xp_opP+Ru%NksI93-Gs{!k=mhoJJcW5jW3|k-eF0ejesfAb?g+HoG*qHif|^=m0Mp zWGJDq+Sb7pLhg#DH$OeyD*p9Fx+B!Vq@$pLULc9aVVxzdsGxN4$y=}jNj#Yh_I9q4 zgI=$EnpoxXP%muURmr7N-B~Z}-0SYp=IHlbh8MlwI+XHOn}lV~H9l=IfYw-{VlYEw z=RzJA<-uD4}vEin$ z?2LrA@BHxPZ=<<4595{wjKRt^SO5K4*~-`dHCuI$#5i1gEKO{!XjupU?S$Jy@Yg?j>FX~)1;(kq5&Rtaybw=eO*zOx zqk~MZj@kL$j82)%`iKfSivwn0y34<*${JLp0b!~P0L@&g+~Lj<=#B~I?!A)vPtyLl zmEjWS@r8Afj>w>66`|^dCBi3Qa*;X~dwQWl&){zq)hys{ImjV?$2MI<07rSzrC1y$ z=Amv1&=16Z%Xu&tI>hzxRc4ekE687g{}GWh*nRXa`8u{Icn+-9yGFO<_m8g$YVV7F zTC8QV(|+vYU}9V8?C}_K-$wN>bk6Gvf8Ms&f&W#y+BvpL-*bdUaN72tBU9Hd`^9oCWq8$GA;A!f-Xyl24Ng2YIzP zVJK=aepUP&sMaJAb#7btQ<=AcM5xdJR>D!wh16%D8NjFO<>?D|@Fp~G~DZnYpzfZjIQq-`Ea?SCtnQw`}7ebh3jkwlg5`v z7ei>4jQ;o4v_!cwLQ$r3^}4hw9`293;KrxJ=2EbsN?vST|1ZjF^QibzqbgFJSB~#& zq?LfH_@Kx~GFRDjkm%`yHwsS~bfe8klBJZ@5hjqDu7737XjawMxY;ewzqJ;0tbnFW zDpWBH$b}M3@wasLL^`1W06-N`Cr-q6KcNZVWBV&%yvn)^?nF>?d?6tyQa2@n$?jp${wr# z7*%v)c~0iqj)&B_t@9~Bsd5Iov4-oOiUs%7xc*Zy$4{Bs!NLvYBcy`ka&1)W5FkyI zEb$C8f07@h+dS@6c0yL7@!C-X6@Bzpjt}Ip!rklxRZhWjRh!ofzfHBj@o|rSqk}0{ zE?x;UQk4x4xPxxN5TIxbl)-Dk69?zv7oQ`;&}5+Qz$B}^$nsuQlO?TQajEgi=>9FR+9rpyVDn7e!2VHf$2Dv* zMEX%HL{mQDMn94sz2LfI%U5STzRridP#}7bSJ2wG?+d040kIJOX05FU)6Fl2YI9|LyG0cYI%N zd-tpB438>FJR;gK8!x`P_GS>hOFZxYUXt(U+>hZFvt{+p8;v%*qGj@bmg)6^EM|== zz=*TcpB;3RjUND(pF%c=DfKs?9|A)&q~7Qi=e$u%v{dK-q@hOVxFfeCALh3T%>~9Q zaUUP73W*C$15x<`m7|k!r-7wxR&{sxR2)0w>J4 z{BZvAhRCaz^1etu33~~7WCP+WQJtcGqIR3_<4k*jxJTjW@SSsU;taIHj_Mj+2gbPu*{+A9u|jtHzh6K;1OgSpTuMq-=$N4IrdAS z;tQg>9A!HnfRA^C>+zz}$qL!WZ-2Dk)3DL)HIjdJcHF{vbW{Vv3=u7-N-@}0nDsr5 zju0(jGrcZ*RC(#d(B}OL!=iX2RR|9uR&MGoq(xKGPAQ@0o1(a)unG&%q>?%$!JRj1 zL~Y}Xng;Y7E1>@WoC59oMZ}fm;i1Y=xE)?n50g?gWbgC)q6M!bevp!n#brmc>OUc_ zyyLhmZo6qpYNt~YF_%A*k)8?7)n85u3Fpl_*`kWC zM0uvoHIy&*DJ+gBema!k)Bn&9rKAlm$ZLgMqM@!{S`T@f-=(f^SDes@96nO|9qU(a zk^TtCW6P3J;@MdcyFgZo6yoEdln;qClhYmc*p6nnp44nN{!1cj?lFugWGV(CR~vw! zXAZ@N9kqzRLRtfR5kPpYW%44;O-RW}7!1s`nSX~WbVDHJO3RoU)eX)q-7VbVx{?+@ zeV{gr=Y_MGsCDv5C&13|?n`#7VPNj7qLF9Itumn@3|QNjrCrXnKYx8idR^|()1c!6 z%-f*b7Y?+7m7NMp_@t;Rg{@;Fy(=OY>ZG)kB($>3r?W4y8pNxBMD_d;0}Tn~eE40J zQk}2F*<1@2->({=Reez5S)ibm06?86>Kzmn2;pt7?ff}|ARj@l!h(O08rg7AsOM;? zg^gS@fVV?V;VM(Gk%;Jy?dFjEBQb}OLHtz=rSZ^l#yaeyB0QNatp|ahu;c2i1-Sqa z2o?T0!1+ZC^f2qzpLHQs z3_(I*w8E>1TvmFAm`wqFexCMF#bl0G7QmH8M&NgU&uU8ExeqeI!2gm_7lMS=i9&N2 zdO+qaafUip(0UxEj>U*PhsoNxX$Wa*yT~0)4vJJUMPPC#mtgM4&k3_XdK^7(sEQ0l zxQgAJ9?%f-HV6_UQG`9o;xFp3%M0SgZW10Ut<$rHn{Y`eFZjwG$$v#jn@r{IIH?an z_zUX-h8u1;&SYHh?%%vOGTcLFk%3y)1g#N5YJGB^t;`I;962@ov+x}{Ke=iJK9)<+ zis2T3i7(8Qp}5iKR*>yFaz>*^eUb~~7a$wbThM=RhB^MgFo8%VaZqKqU1*{SH+) zZc`1SDb`9+bDaOD`b8vE?g*KSD*B|Z5+)oPq`erdV*orgS08hyU0(Ix3wk75{QCes z65}}n3#$`~C5un2NT;m08m{hs=~%(gQw~q91U6KD9yqw|J-`4E3GJ z)65pEB6IyUP;B5+F161X3WV>t-Q~)0~j6aQd ztF~S}yX$Wo=y)GlWc`8ko?NFl!E>C-F=TjC^G;W);sx)xuYML;Z5AZ~Pi2sFR-gC( zUFCZ;9_5Z$Fv-QNl692{Di@hZt?rk4iIyYnmY?;E(z08rYZ5l!bN_bv|BJUiRU&QC zfqhgcQ@>)w=|o3*;w0^DrMOSLO455XgxYkl%MITrN2Zpzo_V#lSNr|U`_&Q2Q2oyC zrN?0wM>dL<9R#t^1ScLqT@fXQypBLSUcK;w_qnUQG-v`H+<6wmtOTCy!6O*8#{U+L zpE0iy||cBxR{1QOPtWeZT$65Er^~$6)m!7jpf1awy$nkWYSs~xL|Nk~N7h0J zJ4OMo_RsQIqX|Wx5H%3*S+e16La68uXmoAzKZCGq`A$!V!b0I<}!?V;@HZS zwYytonO-%shaWNg{4H{rK^uj$2(3d=?}iauLiz(O=+*mAUsYnm_W zB%Ev+Ke1{5y@~;zitUNx)SC8ajnl%f(W}V2WnYe`io^@2ao%%>V@B-*ln{q+$<0jr znV^wOk;Ko28D}EToD@qEZZ_>;zGoPGA2k3p-y5Q9{E#`ga4P?z{t=4r;sd^SL|8UO zg8EwU5r!+82+MhWvZ2wjLMsJjTwZnf%7} zYUny2fS^)r$IZ`%qk)_Zx=g+0PMa4)4|gNM5?51a`Lf;0^3dNaG0k)>#*vlwK1lik z!Rl6adenDW(JZlKAZ)(yj?jZZbXs6x$1;0fPv0ZHkBLh0$;>Fv|Zy7|WAN=JKpfuKs4+ z03l`O%axr{w4k0nvAc%nPtT|YIT3lVOfTm;zHT;R9grK(_K2}l&n_zzU=(sY%kJFM z+B>Tm`%(i($+m_z4Yqpvt%w{^8$)3tlzF1)Ikx>10JD|l_vQ|!P-53yAciQ_$%|pzChn$Qr z&Iaap@w}qEY8M}!A@PVJd4ZBcW7wnr93}T@gngS+qANQE2b1c5t<6rWJPks`9)n_n zRGjN#UF1lFA8HW1tKXld!s}N)2gzmw)8&&i{3y}o%q*w6A)QI&u2>V&A&W$5z*1WN zM@RD3#bUbULz}|puwmjM$jDf+9U=k(0LlB@?fLU^;BAZEq2CKRnSj_fLT{UOdAYge zy^SFB$4rST@Yh#Kg`1LhRAEwomEvfYDU;bU7lDcYNg9fE4S8x*=Zgoz`yJfW4#+D* z`Q@En`jX0!E+r{$^abR{!MzsrUPLqTzHn=E0^La8esBEj{t z>rjvD@_uBU_#M7sLKQJn#1Q)N#1UfjkK2gcy5(YngvqWrzZ?RN0U!WbZ#R~|-wTd8 zWprh}D>+qOQT|;}=s2B$N(Mfh=(W%J3#$!vtS@$47gtvITXR|wtiKVlzEW$#0Ga?0 zi)4g58QMq`a{7WesvYbdOD$AmLtJXXv#F>Orff>Euy~U@x=DjXne>}H{=et{!Gn;l z8(Mz>^8+!+qR0K;Rpg2)UEY0{Q?$_Kzk+mO_e#EhYUF98c$)L-a?Y5ATTnxj#1|QT zlH3C^wjDm$^UT+V!RwWkv<5R&#GvrSORTjM)VZpNf60k^CyIcU5bxIyYL*VN#q@@W zbm?!5Anp_EvOPigfE#a`EJkNM-|kDuzgZL`T)x=%&nK={w2~rO60}s^SohCUsUns1 zHxXX`wW`GEcTKG|yIMKyuDCZ5jKx4x$?=f^2e- zuL{$9gMK7jGbZu0UucyvFgx{xTWu-ku*@~~WMj^%33G-Y2WnccA z|Ih!U(v#@5pu)tNFXx72u2y_9U-Q3q{2sK&5cyXkx?r#qAvr52-KAjK{M%$!?!t7C zRB#5g;@)u|`yd;Sp?CAfoWbwx4>xAu=O4GYUdY1#Hz@_Ezu7~9@JJene<5~9y{n13 z4r`ZC)8Yrf_d)p1Ekghxul=@u?b{kiWk|Jkb2{vWND8KStx@p*YAIR6Qfx(*Rf83e+l zRFB|rfY>gDBa%zZw1_C{O8JxQRd2XecF*gPx|iO_)XhHc($ENm$hd2hb1CfMYUp-J z-ONn|VGswOT0Kq&y-|}kE~t9h0H(mYFU_g>F>ua;0D^!<{J`aJE;n{h53KBEOUcT7 zMPnm>tUkHS|F7CSb#edYgADWj3n@Q0HyXH(r~cYopDMnQ5m?jzV|TRga!>AS6ZZGd zug6~T`ak|Ziq68X>F;gh>wqyvH*Pc%js^kU$VrY)addYG)^`C&OG`T%1QZYv5Ot)q z15r{W1Pc}H11Q~Fu~C#X_*E-@dRIwQZj61Kjk6vm@hio0Tag@ z{7&u)8qan5S!<5z7v-o4Mo>AmV@O@5WSBb+0)ziep?dzub>Qj^6l4R@#474_pKps_ zY~-6!g#{K(-W6qf9ij_UYE_YOQ;khAe$&b&q9%yIBpVYFHdS={>M;h2|2;Op999ut z$tUx^y@?G{RrE)&sG|3OJ(svVG3M_bKcf7&Dt?}*CzW_D?5bMQ=H=JbDH|75o*4gV zX!f}%G~mBW|GskdrPiNs@Dti&R7S2JtmzKrAlKZ31f6T{cgew>V!<$zlg{4XvYv%m zM1*2VF`xxNMTfnq&CC)qm%A`jZ?E+qkLEkd^5~WhH}n?%n4Q+l;CXUQGzZqnnmPXDW9>? zGnjb{6+0V-I23!zfdI8ROojx=>pIy4;@jNEl#_rtXCv}}1BdI;Z)7Fs$NUYZPritM z=OFdIJumSU?d<-Ml6qX%W8?P*n;(~-q0U23B(n<45BVE7X6F+YytU@6PWS`VQJNBE zCIfcW0&*&v-7Mv)6$B6)~Zgf zs6meUzwk3f-kRc)&VI>*F{#q@%_0eW47%+n9lUY?Z2;^dBl}EXjA2IfV7+J)Al-mA zpN_5~pevZ>k}UvT&!0GSSgkJ*<}%W^9s?!mkBC9GMlSU2h&7zd!R-;+2sU+M8%pD{ zAO~cZZL3z{!b}h)etzjyn6`5~ygvQDM;PoAKYHd=GUTc3UoYEPpD^Qceff1C-36GoocG&*94e9LNZQCz`z zX}6e{%Ps5lb#X^sS}>K-ylT+v>ss)FUV=Fpcw9&Lh99B61jms7J>&M!qoTbuxKCcV z5GU&M&R%XPfL|lmW5yr-G&>z(f<-T*$PqL}Zb;U=w0m(xSW%@Fu?SY}%NyK-6lFNj zPTFIkI-8p?Re+h{ZB8(eHZ}b}D+%xKVrg2J(gpM4EF-ChZNx#MCZo*Euc`pOxY^G{rIWU4+i~BRprhw4E-D6uZj8bq9&)SkV*0E@5*n%e45%pVtRW&ZA?i z>hqc}7892IU)JPZHQYIVlRWF>Ol*4XeXs5D!Sj+E$%EWSH;;gJT5?Ix&U}1N<-RYS zU9z9xCwhq;)>}ddwQ#=I$?DDqoMJ+uXC~d&kPB9AQlAr{ zBvz(0MFKlNRwZ)(R78Xyx1lho_0oF5 z5dTW2_4D#a*}ohDU?yDA`b^C#<+Rn6T?=>dE5`f zMc9w{x=84aS+t8rSB`|aoI#9Fz1U93FSMMdr4KCGy2Y?XH$JY7in(Isa2$o_Z`TFV zB1>*m_-W8}X?@Y;QB>;rNo&Cy47GN#*ak!`J(_FAK22 zkhs)tf=>b!8wfvJ#HTJ7<^xaq0FZp>du*D{6L#K7e>Z6#cz)T0_b2&0j^untn0`l# zaw%9HTIc*r!-&B_=PVsNLYI=zLzp5to`r)G?>Cd51w}58qn`MqOWZJ_C9dVct~j$( z;95VGCXI~)%IqeJO}Wr~PqOvih4#m?%?B5V!{9c8+^;048$Q7NIjm1ae&-u3mh5w1 zkAU4h3)X|NVhBtooD>5(jT3aIXd5zZ`4nx1M+NP71mEC9rGvPgC?EqS?2ZP)6brr8 z2$LcJsBubrmP)B6KutVk;4Tu_$omBIpSz`5S9e184xDDeT|q|fTXHv3;JI4%u?ON^ zCfO~u4%C<|$WQTOjj(#01Wz&;v^zICa-#hw)JqeY8^FN5eky6UY0>KCq_ zmmxVn{C*TBEyanaGjK9^VLx=VOq863UxnVa zd*oAMBdOFMsg9&Hmu0K?w6u@)X&j%F2|-kX4-tun`ig4(b4quhYYm*&8oX!j$b_)i zC=bW0+;BUWbf`;^wwG?K#o?u`V&0dS|BeO0c{+iPc*G17$$@=+2)L{aP})831&qn` zz7BSzaFF3==?A*`!^j4C(JHKpyS9qGhxk<@cbh)4gRCEqRr&G?&Ln1c)n$91$&NpO zIVvVbQeg%H2F+OR<`^!=1L`@qoPZw|L5h}Q`f9Tiv|rF%vozk;JJRzRxe0E$3P&W8 zsHWeP68E5N-d`HeCiO)3!KpRY2|XpAW+vku$@SV&-V#8D$G_~$8RC4+C@6hwlh|aA}=Z{oRmeE7$J^qGi2I%(` z*TWbBSTip*ID&<)&8Zhgx`3)g`p7=2yZoz;CPrDCI4@U>5*0#tzwq++3P3MgFTN^F5W5CGuqgk`X~#EA$kIIqt2;x>XA^o?Hga6%&yQA7>7 zct_0LBh=$<&25KT^v$+*huS1&=nXz`_XIAiv)uS^)I>$QzvcDzr0a82w8*RHmJ2N7 z!#fg|t|v;ADfH#u2t|K!LFpao-r|P2eDb@6qTPDJ=FwY5^{~+&!WxCO@O*yUXU+ZQ z$fzG#w?h*(T2dR;_E1{bwHqo3CbG6%gBP_se((K#1tBrG#luJg?nw*IOc;mG4B#sfO3p*w6NUO1wbs3 zqfdhntYxpoAo>aMKgl;))Si-pI>wTtq@4N(kpC(NctfxDdU3#2*dHNVD zhBl_#r%{HExyy5;OY36?$>;s)6W+l&@8BW+*S=d}%EQs%qLKId=zpFVJ}m~tO0y>= zIhX(j0RTK0CZY87!>>(vK0>F&eN`amz=PP4czW-5ExeMq_yWB~4Sb$JWMmWv62Z*l!3EVl>X!QB1y^#0RWf1gU^!TO)Q>W3U>_Q;WsvVhT55t ze*8+ld6lnO;i31g+@qheVueKxF3#d*NeQ_-lVNY*`-)RXmfZK*Tt(P0V*(e_2K|AB z=bAB;6PKDr3`H%WXWi>=yGp&Mpjs(dY zeLl)npE;4ghSQwMyA1C))&CsN7Y`(9@0M91AxzRDqo+xqsH zMu*CFaZ+>W+1B&~unffz5F0lZX(w>kRh-`$^uxlZ77Jb5$t! zbR_TfKpTga5Ij-#7thO19Nj^fgCy_jP||0@@NFR9_xykzZ z+{Dpt<}%3}plWLtjeqhe^xzN3TClTPY$^AI-v%gfydc|b1bfg+=pdj zNM#L`=uPdLwz7N+E$M}u zoqBV*;#EUeiiffi9wIC8$PE{!>yH~eo>cj?gmxLnJX7Hi3_JpxcsjVY2VvMb z^0v{-X47d@(aYZ*FaNxF`RxI1^#bq1OZTD-NuQN2%mL7FKl$IW5xjP{zSD-;u+s~a zEs?w}r}#6HQDvipDJBz31~%K3)={SI1?x3YUcjeCKQnbVCKv5W~IO$>kISYslw*Mdf|L_P^ehKpu@xsd+uP`8up0dAD1< zB?tznB{TK2YK96`WmEAE4F6J_6u>$Xa!1pS`YRhkC8(dtMB6;)fUE5gW6gFPM}Dw1&<% zA}g7-R<>N9F2C(WN$z1RBg0?*IQ#4)>kIQ^QvZ5RL*8{#^w-uJTu`I4Yax0M@A7is zSU1{w8g~lbU^qyT@4NL)&BRy&Jrcr;*%^-&aPMUHhp_5W{6pqyO&NUfI9XDGjA@RT zPFTeE_VNzDCuVta9-miqeW>(^BLId~tVU^rwU+yhDTr1@CVX7~)if)?B&MO|Js00d z7)GZ9{GX#r>$Ofrt+PHuxGPVTNgEHRhR$6-;odo;0gYf+>Dey|TR(qZS}UO6ixF>7 zM&#jQwL_I-SU@0<#tT6Mn2i7cwh*i7vR~PO^(O7ouSQoYPn&oS>ez8PtfdJOBPkh@S>)o!WyVt(HPxzElW;Q3 z>Uj1r54@>j1$z8g42BNJEyfL(TJGV$w4GR{_+#W>ldaW)voaOL&gmO$LDaN4Vo2Kt zvVT6Y1xo|MVBDMJVU(e^h9;)9Q8dc6z@*!IVhDb0M*B}r{u5NIoVLAQYk;0hqk;vW+O1)6;<|{IoM>}aJ_4-+Tpcw$d4BwM_-|6%n_i+_``{X-z zk*@K-)%Yhz)jt>SN3Z?+ZVIpdpIjEg5F{iQBLTZ@82kb*Ta|Ajt+=25IJn{0fe+fg zDoEU`sXuls%T;iRnKjcNSep|hNZL%ZA0%03JjhIc9P$dKN%BD;O&oNi3*P1`hjoJ# z3+rFCS{1kTFi3V~DSIO7v1B4tx{BO3qcz_ifU${~l(m)K_{vu{v+;%r7Eql~|XjUdST0$w>=3Stzcy9wgDks4zdf+6%7#?E!8LCDj>I8E47;m|+O z1TcAD&;3L4tllc%`UrY$LtovEdAwF$%ywI!N|Tn^Y8;3velW+Gd>K6U{5MhQy85rG z`pEv_x8BCvkD{E8^)UmUys#(@7WQTnS7pD#e0(-u?6HCxxP!@d>oOSvd(rLG8|$EyNsU5}|7SFFmF zl&^K0q9v=gn#2MnS3p-=*QszL%(UbHCn)JsAi8Zi3pe8|R9i41!s3t~0x%F^O3ZOb zmWg~Pz6?wzq{92ep92U0aV(Ip13#|!GZE&fRIj;kFrr@C%fY5uU9GPewbs?jbefrs zqAh!Mz=A6cMuED$T#^yg!eTwZYyC4CqsnDn+^179CyUzhcBMhNL8Bv{OGotQCr`l# z*q0R(mo=r554y(xnMF&!-(*uy4rilk!;|igjHlrf_+LD@CHn~Mqn8TL2@w2b7ALr5 zTJf4E8)IXR`@J-B>s~?X`tZe<0%x=kTi}~~SWE}N;`j3gTouyK(fzi+~J$CJ}8)0SYNNfQHBv zaN6;$I=}%yE@8;w)WDd;9G*Kczh3%9@`!>B@aEkQG0wgDnay^!nNG{OT6eo$qLRKy zP*<&ZNE(u{ba3(Uk96S*3;-HW4g~v2@5)Yp(hd5tl zj`Yto;f$0qr&If`=7$jydK1XxC+Un~?N;RQ?pv1+vjZJ2+?A*!%qu#HOCCjOiYP!Ka0hwK4~xQM%oQJcR#t zBy=EkOqf&^E~G2_OvpB1tO6?HcCxxeSV)|meD%l(|E@YXvbg^3uaLW&`U@9}6O41J zWP2u_p&$>elRnmAq@TtQNu7DAb9jxFwCP66>Iz`xJf$Zc=t;t9_AO$bf zW;84k$p2KNZ>z+zs*$J7*+~P-i5^33L6nz4*kw#Aj*7!vmca#SSeHf70m$&5qh3W0 zd7)TbdWnZ6_ClYS-2+|cQ(v9e-ZV+h+4x~@mD{$*J$0piw7r+A0O215Gm5DC70CZ}g#TRd8>m+ld5d`oucFV=NZWw2}d)%dU zi|1NjJC*$Y?>-f5H=}ahfLV@lj$w%CZ&g!}(=O77X&v|j9v41t?Mr4&=m_dWPbU<+ z$kJ8O2HaTA&UrPE9`O>pBs1Fr44&n)oa<*XWoj{{@@Ifo~Dj z1>bf3hn^sA+)8-?#J6t?3!XbSu^hZ#-5%EwkS4FPmS6b`I)*k4f$AmUmegl$4vaQa z-AB9KR4*y;a!W!)H@-p)3`T?_NIzh`_)L9BGryoE14#%0DOE8mGpua*kJwzj`4fVE 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�yv(^S7!FhW7xD}4$98L=3c|o zRH&bSlS?QF9tR4K03TlLFJ)E80R{r51l8)3*_ATacy0xsX72~@%5(WDi~Ynw9h`yi zP@ES%7;N!BgLjO4tFyJTd+`<@(D27fyN(-5`nzm{cL{(R@E6-FfPtvp+xo zNuG_iq)_*+(iHgp8WH@NGc=&)U&_Tk6qAoNV>eixC+0Snz-bF*KEOo?+!P69@fd6T z<5VDx>8B5$YhV{FK|aQ0;(C(aAY$tcTW1?>Gd06d-QooKEGYh_ z+jSai;~~UAKY!nmv_Fg4t#eb=wb88cqK2cPHPq0xZaJKQ2i!OL(CVF0+39CD<{E>_ ze&uR;L@eGv{A#a9=d{<&kX!!G?k9ce3SFvyWOx}L>Gj~ux7ncw#y4K~#XdNSHl=R9 z?U<^uieK39(jU&3HjT=xhzT0IQY|(2Fy%+kP?~~qZOx0$VCF+R>FN#p_`qjZQr-ao zMA{|mo+#jtfFYr1`tY`Io!%egXf0;$kNveZyRm}Fl(eG53cK4z+S>h~yH-apNs#Sc zFK&T`a%B%pKV9UnkCl)tTx&dmO(LSEE>$ork(qSyfByqg1?eU=%mxWZMcKeY+PchI zp2<4X0)_3%vXo73qz6bGr?!4jf(D>e)GRQ%*QHD`VMCSCj(U(np9oSB*)&*bTwS<& zwu)Sfo7i*C+jr4&K-~bAou+}Rt-9QPqZy*Zz=oSD|%yHs8>b?;-%InjfkXjdIYHUim0;$L~D^bGQF7yqGj zvS1mexX4>UDz2EaGl+$+AeTh2!V~5mz#b0(DK7fK$=t+xzMY~j!d#ofEySH}d7&z5 zdT?;Gu;R~XtTh+ZYFX}XV{pCLE@C-I;;OJ`)`l4W=i_U|R{#l&L19%ozGgc<=ZgM6 zduvT?QGIe+ZIK;pq2hYoZt+GGWkK(lj{dJ=&FIG}B?qFKG-0SZR71*6$oj2AraNBR<(rW66 zb||_$b>B!xw-z2}nq)i>)!Y1<;W_!B?2>FU&mTojI`34n&v<4<#PFBtuNeS{(en>L zk?{?w{dk9yXADa@L$qJ7D7+l`Dl7zx1M^!XBow*_#7ve7(~g=OMGOfc*60ju1G8!- ze_w`6z}stQA$HAmzYXm~Ez}NPXEg;;mS|jLJia8Q~eNA zXF)Q_*mR>&KM9X%2>O>YtI2>1U`y6us;!7*_5B{Fn1$Wzn@|#qMH&yaJ~({$UQR^4 zQW>Hs%c%ICnj%6~qcY9mqy(Za%aQDyJ|=JJ`rztLR^o#PRz)Zt00N1YkB(I|?lw?e zRdDim^*{MT8}{f!P*}j3wu&F^m!xml2WSc;y>>7SYTsYjo{w_bS3R+JhCH*OZIB6i zd0M^F*5T8)U~4cBB}W0f16C~=$MbPmPeZu>WVpnJw^rpUZ?)SGQN|sD{+tGPm(ie6 z`UQx{pB#BA8~)%dNIp4+Be_OIumsf@v5ss1Aft>RA9xsvD^w%QiZF3hiM~FaE~Uc3 z9W6cTcrdWYHi9FWMl2$6vr5hsBUDw!YdBPigS9&g$AwWs>qJa|%AeYKI7kHzANhJ%Uf0NZ zCjVVQN_y>Z{rkNAyHNx2o3`#1QCN#SZtThInhR`^i0dFX?FPxE#)bE|2LPycUjV1OjCIqv z5BNHXqSd=4ICS5ijpJZ1(IdDTGaEkMAwK|nVwT6M-@H~MKOW0ei(ujI3EPR=brB|w z>DX_n9$%Iyh1`ii<@$4AnH65c8;m=_@fNUE;hPWI=82{NLUVud3B3PSt z&c5_4I9EDsKt1i;nu;q(UsJSm%e1i^cO83o?s&lWZJ8r8-HglGcb+y)Jk}Ds@}z?e z0!Acr=70_NogaK{p7vdlC^_AF$MVw|W2qjJCmZ_@U`RHVWz_v>{L%UgpxDY2u-1Ge z;(k9H&!J@50{p?c>1y7swk+8`!)nOceu5^j4uSLoI}?ZWx0gj7S>d%PO&6zJ&Jb+3 zt{-*Z*@2M0toU(Iow|#60(d`|*n7lBWfFe?>MJ>3$vyHOdUvel%L5cV3PyZZ7Q3Ew zuNF?ZH+J&#*(fvm`uWoB zw^vFQfOA&^@3j4 z%>9Ek3bn)xoi)He>5Md7ObiIc;6kKY02N>aRbGM%q>eTjfwzeE;Z-6v`J9Z#&V0KM zZrRc)((7@19_JKWBn-0$qypY}KDXLZd-qAn>>S6RCgUINEiAQac3cy|oJ+R%c5yBJ zLJ@MZeq5_BifrFky%Brgv`3cE5zg-TD6Pt%%-1~=i<8YyCnBC?{Fd!~Cla-Q(b=N> zy%oTUtvcg$65m}oq(QlsG7()r)7_~?_SO|~q-~;NdiocpH{N`mecw{&t*Ui96Rcrr zxN>|FaNvJ!ptc($W{!fskhj__HB0#-kF zvn1_F;Q1_&BU@W>{Om)&{Jwtq`ZX=yiq0tK#pAUv0!O(vk#n%@!qA)Frq{q-B9PU3 zdAs1VhZ(P$_Sj>iUxM!6(!zH3 zl?p&{nM3LRYBnKPv&4SHG4MhXwU@|3a6#Vx?|No1z8wcSKJ?XSC4LYFBMSPl%jyVh zJwvRX3FTQFs$s%9#=&N^Rim%BlAxIM0(>$bAIFfCd7`{7K*ce^2U)-6SebHMuqH7E z0f01Gc|Qhtd!Wt42a(Fhtz# z(WMO0;sc1QF)H;86#4eWgz@VMuuwvD2*X08FxbdZfX`u1wDYJ+aqPv3gB?fFqK>WJ z1p?O(ZwPfFZd{0&z-w*V?9()iAt5Gay^|Uv0b@(5kwiCUP%*^F($?Q7E&xB9iQ;-m zkiC<#L}32y>i~4J@TakqZDh;-p^5ZEal3XM$!op@E$koKpxs1=XJ?YkfDt1X};$;nkLLdP1Ig3&%V*y1oB;i;8R~{S6mLh(Yfk(b?Ni$dPlh+i#X>yE#RG z&B-IW>;cyq70Yju>U7Vr@x&6mBVAH`PE~49?Bt|c6i9-quUJQc@5Z3mTEX*{*I~+= zIY3>P_^qj1#YWk(%o15Uu#Azd7=ak3C=h4yWi{C-wb|1>uwN2UKQ&#J@n2h-XsCy3 zh$W(I5?lK4tcWRBbT$0nKNGMh0Q&4IvI&66gfcSpwI0Rib6`#g=%a)s-_P>N9)~irZ0T%Z)$C884FezeYpqxt8Y&wr zIVn7kg{NT6$oh&JD<_ObE?0CQb(9pdzwK+DzPPQT8*HbY1OL)87*y-06?fVo1m@&f z!uT~J%O&lfci6(-k&Wtj0-3!SQDOuU09^<1AQBbw71aY%?phc0Jt^}Xn@CNY%xys5 z1;8BSh_`x(Vp8q9^~k(!f9jEqT*6MY>o z@hI%DG6a24@cx3I{DPmvyx>GF<*$)nZ9SrP!`3(M7Wq%B)DJ6~_-FioR-zHQXp?1F z)Hj$BNnyf|fcQbV&3S1T{G>^k$aWz5$BMJ0cK>|KUGM8)U6C>*6dZ zcBli)&z>SbJh$>w)PgBEWYNP|=)ZR^^gArIbi*{Vw~nTbwb>tgm$;=OX1|~MJ*kD*h?W0aN+ln+581~=LLYRly}Oy-G*HlCB)b+{+(-+AT7zc;RoH>?U8 zrjvPis>)xSj%W)H?m~om0uEif2`C&of?}$uZjs-9qDwTZUju09q!SkSxNc^47EY~9 z-MuVYZB3xYRsVd_zoXVh{eGzO2df1ZC}KR$I?zvgnhO~$hs+Cb4F7m-ZDj+XYR*#} zQ6FBAa8GSuKfm7c9%;{N%P3l3t-CxDSZxp#cWlfOwLd@P?Dzav4~u$SVp0WCC#&fv zmm9~u?dK zG#MzfNCZdG5H3uKtY->{9|}vP=pW^j5e{K2*7B*JC5g%*$uvqdy{z}s`t?;_zprsE zD(yxc^f)JKpKp9fXqPODt&hKb3|!z9U1(%|rmwKu-iwBC1xUsO zY~%A=`zfvCo2OM4e%=W$`#yhqo{5TKovE9Hr;fXwq`4A22aW~oVSK{yZhzEjAIV<^@#rajn=1UR}yU5uo-h2=C-qy8Gh<+_pzXD(jNU^ z8~u+&WDhf1a$;};Ur$n5BPtb0{>t2$bQgQrcI>$JyEP8$j1!PyG73xL!IBOlD=JXm=w; zXQjVO*$eA5G6ERiH$@JvcaMBVw$t^9cANYatR4u*2p|6Sh=_Dn$)OkW5*7N+4 z@$Y+5c4qt`$b{sVH&>wHlt+YDc%t*r;0VWi$OH%l<_P_{$TDDdXUOtPuWe~oLJI-4lSg?EByC;N+bKMtB( zOZ6so2EG>oWUBw6;Tr+hcDFs9w-q`b-mA3yw)wS*L{ZQiD08qo$6`Nm%GB((ysK7s z;@uQDva+Q)U2gSH+P+?=lbTOZ4HwqRo(Kks`=rNnf}L+*#!m_zqvVTMOo$IQZYubJ zBh�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�UGFk?bva=o=PyCLPBR$z$UJH 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 z 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%0A>oi2s>rh^+oFuK2!hKzPwM^3Rj74(`LqckPT5 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

    j(hFs1)nIQQ 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ν{nLWm=Gnrb#pI$?O+yG%H936 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

    %8GMY5qXqtOhDpA!Aq-H0`)XSsk&-UvN_8UAP zYFmN!rD^WN4w$IhYg0ic`u*l@{pP0!%+2goresVR{Wjw?y+NYQ@`JbD<^kUZ4*Hn; z&)9bB-M^y-+%jo$(0|Y=d4KTZwZX%7K{KX~7aQ$69bo8g|5mDmHcey}{}XNIsn`7j z-|n^C*d9(*1lVL#t5zc(rQBACu&%nZTNqxfAUX|_A*)4|fXvZo#yM0!$q3H_Z3lHm zQ1>hoRL!YuSp+b>Ph=Gj%&3>u zH0WY@QANpXrep&^BAb2*135LFd8^?82yNbR186MZGf!v3u}KhoHodPxTS{v938Fgx zmweCz!oc0i=N&!aI%Rzw1k=Mx)>}XbAD}V?cG-fsZ!t>DMoaZwLmi%(2_>z z5z1&~<7m}sSAXtk4Fg);2;F09)IrABQiqlT#Orn-E@-g9;J~%P0fWb92m~7o^M1JVmtE_B^bsP3+buno8N*p6=Ir z^C;#Vv5Vf{eOs6F(WcmoMj#=)*;b#}&zB?zp~6rH zOKhM?R$0+|xdWf7*bDW;VH6Mrf(i+)5>G@S4H$%g|1GupZBLUO$(+dm<=IxetH`e$ zgI{pLd$%BYZwe?bFc&HSh69@OFxERASOfx0Is zBkX>lh)U?vV^zkjPeJ`dJSEp5cVf&cO<80Uo9xKM> z=n2wMt@AAHa>0ytJS&FG(i=J&&70Qqh3S8v(T`%m!dS*i&vS6zrmIXd-{%JjL1{zA3NTquv%)=Hd`batK`tG+|N_EH4jp$ zg-(yteDO@VDZp%5Z$)mtP&hW4!m`WmU7$KCdm{9wCKhTgzdfCqvxZSDvA{Lnsi|>V{iA+hAvtoEh_IN(>FOHoO zRKOB;>y9y5|B3JtvSB(4&;I4joGM~5KRt`*!s51Ilp@}-^6A(L7Os|c(%(Op#EMzR zVp4QvrRR#7)8rAJ$&1mlq0xO&0V=CrhA*Z|t7a;%1yr@as%oDLo}R1i_Al+`UHLZ` z+;J=++ds!Vkiso&bPr6m$`V(dZ)VQ7e18==1yQ`0>8A~&@R`yj)%bEh)Yk(qtSucT z(86c)h(kp`Y%bYhK*m(2;VP7fareMYpz-c6gW2LEvLYN2>=rW=L#Gw%yurQj#lJAx z0_-XPU-yczOyQ(0`T+_|bBPg-gMHeC9pu>wjR37NkXPdQ9Qm%WRy9G?c~%-AE9N_$ zZq~=TS0{G;<>RCGh_sqJRzVK}p6PEW*ofygut85ukDczG(XGvnWqX}{=oQW9g{<@b zwN2xq(4-0$c?*_GWrZXBnShHIxud!-jzqT{E$|IxE*!b~Ff@q5qCr`{nDQJF>m-R) zxxyp^;F$~A#qraa7soSeS*za}@&G{=LXW3HCTx@sOMTkZdE==i_<`2_ZS@m(6BD93O8R`kaF5Wl8H<7r;?9Y zakZeL`Ue4}gFAMDYwgLW9st1nwy1PH5R^z8s(t+EyMTFNgn#=bn)&#c5E*w6E@ zgpu;>6jl@fPR7*lL}i_^%8%~#-1}7_#dU1~)(C}{n8Klv2ZMOblet zSM*?iMY8_AIDSU@xF?Pu!-@t7xVq>4<2?D5QGD2B0OA7Q*B^=;=3g;*yRk5LHKilD zf+zl4IVIKj7}M)suCaLCTZtbdRz*1t0+RMfp4*UmLRw%|)Qp$8LhgY|I7^!Gz0 zdV%0M8ai$GZ2iRRie6O&*o%8mzeU8OcJCm`xHu3V8~MgyEkB9kdu{}t%7L1&SY#?J z6irte*i#>aiP>~L>Jd5Y9fy032db8Bnxj*ZoBx1AV<2!|vHL@Xp-!2fG z`nt2|=*den5D&igDv#;=R!}`Lr@b2e<0{i6|M*89RNj@ZVYwrkyodMM{I2BU0|nH;Y@_x#aA8|MEVVa8R1-Bc~j@tgo#_MN01wRXk~85i@Z=(^njE zgPdashXuO8G-F^D+Ax^PXG}Q24FCC(THa9PINIwHN-px+FgnG4*7RG? z;wLf;Q0QSc1qnbf6gc2>B`K5hfQRV-A*)XHi||mMSk?!5VKF75rzHAW$Ty$T#tyW- zK(weCs33gZCO|u}b@Ew!(F#OlO7q>xvWk^dJ};F5KjWWuB$}1z4^K#A?d;Ejb%m12 ze#wbZX=zz!aB0!&ES)Ra%yjGe9%jXf&zBFIv2A`h67a zNXw>4^JZ<&W>5Dqq5Zu2gS=DOd#`AJ*biQpkJ>LUATZf$`EwP+1(!sW(}2?2#)5T3s&oZF z43`RR{rg*4CD=Gib~;yF7v|2lL-44Y4A4`l%qjBva1 z*5jT9y>mzU(JSkBT;AK}K2V9=$pe4B1nl{A##QFsNt~Ai^W90r$-*OP%>TuOY@G9n z{?~Kp_=F!v=*5)Des43ez9!#o4WlgKAIwNR%#?Xt^&J#l0?z^>VisW+^vGLSV#3?r z#E4Dm6ytIDQk=Yj z`~3>nN6yWfcSZb^|PWdj7wRI=OU1WIY_#8(fQP6HDW5d^jMq!t@@o)NV)LGvWEOU z-0V}h17<4u@AiVcg-=dt@&P=)Uz|g-pR`ywyrx zQD`pT`k;)Nr`0>NfFer-;a5HpWexFi3V2B^z9bp%AmxJ1ahNgHt3AC|Y1A#{?FLKq z_BIi*?h>wj?sD7PS4et5*l5Vb7sYlx?>%lZ#Q?h-Kit)Man#2^;P%Y5R5XTgrpv%&bZm|sFtHQTAP0Eiz?kch7|ODk~2Z}A;oHx2Vkalqw3Ezf?Wrn zU2}E`X845XYSMS{AP6*kpn;|FG`Y}L+{xeMseE+HqV1Qq2oF2+|NT(dZ~k#}>Efrh zZ{MDoq%MaSsJ;CgVZ9ECjVyj+RiQo;=xQzb!uRpnYZ%FpF7wO5>FwQ@_WZ?$v7Lv+ufX345!Y<}3In7`)t0A~Wjp_Y;Sdxi>B1$j38^6~x>~#&Eqh z{6|LD!($&I-M09F_Jm($w=dzj8$cjj3Z)`|Yn7uwwEzMpJ@HF&cU4R4#4vEA+~aPI~M2N{F!dK6^^ zNr5rqUyPf<(BXs6p<KbrdqgECAtg#dQIW(c)2#fyMvP5}}8Xk{jJ)|yCo;_H@qr$BC zzw*g7$Wz3?oWop|Ynk|ncq8Ltx6RY_sa^Cc$bM}ivX#x$++okMhfVt{MUy@A6?~Ue zos19lGb3l~h`;%WZ%#w+aMv3(hZ+jc`4r@tsLMrK<1z5Ci$Pue=md-yX|h*0@}}1T zN~G`gC4bomBTNCVH82lzLEIyBPjG*N(~sapxsYkm$1VfwB%^VevXlndJg&V~Dh{Tx zTVUSU=XdH6LF_G{8S|`V4_g5MLK*?+CZ2<06+i24uP|^=dXGLdMcd2?leIYq(^nMF zo=hodj;}0ieT#Pc#sgNg64!>7B<|jM5ayHHcX1e@2`3Y=uycSRoufDA-CJHt-FyLw zJHDPhH<`+^$Xk?2x)G$feW&Naeh`H&9BhpEiSX1mq}=d?t|$Yu?w$WEQ}8-yA#_nF zsO7WFI6K5tu@7~DvM31MCGtvon4Az5?JD}dZ1)E16=wU1Jdk<+v2#->7T5?FJK0}i7N!~8K0eqLK3HwIYxIHyl| zjcXfQ&kk%vzSQ^$6Nyn_>xu8;yLJHQqiQsDgzxa^Y4yD$<2r8$!C8K1P9H z-(s`A?mRs%a=0mdcEpm^xEk=aW^{f1w%QdTohz|V<^rLJE(tKP0&>MdC7Kds6e>01L5mcu*)=<_6OUnr`iL5 zL>|l<)xss=9RBB)xIQ!1Aon2ckKu*-AGg4m&vgi#0TrZ=!k+t-X~G3v;ysPP@GUm` z0Rj-@DBT3XHv;et_2-4cAlh3*(<$WMNBi%-+O&Rift|yvxY27Oq5Sjti`^tgMBR&e ztnj@m;kWYF9jk7|PuvP&+&nwcnm8eDRu>T5=ktcR!*gD>x?~c7+FM&`9r02O2|YIs zm0F>yQTWCgL|7SDmEZSxj*HrJ&F_Y8j)s!+fXb0CP-Z|)jJ?*#q~y3q{H`eGM*+Mj zJI87uFh|N3Fd&Wxz$gG|6!AhgTm@hH-3t$uqJkr{^oQ&Z)PRk+a*+#CBz5mAVN3mr z}@^iT2zp!RF3`B2wWFI(4hklkxbXGD7y?w zZ)fUDRhXcb0iTJcT#&jQ*nF%1l{G|QfX8aPFqHph{;MULIt;);Sn7GKI**NdG=GWB zx6F(X>94vmghhR>wYqfG`VeDjgD)0X`(lWS7R}b2lG5553WE50>eQ#NJb6zDTSfaS zxT{FvVCHr#olPzT2U26d;EYVlMzT0;E|ycEF@Z1n-mf}RAj$8;@D@+}eT!cV&*G7g~k@F-9U54KV@qJsDHBzE=v+WZ^N+WBRy%SF4_ z=R~QRq~r#@DI>Mz>NGUyr_qTttiA`>G_7A(eZYJLV(LIQ!@hiIH_$Lj3=bQWZe4KV z_V2NQOg!mxv6%}rL4WJ_eYG{UW^b<~#)FK~h`8KU^C_eOe?jPii1j0^?eB$fR^Y1< zwMBDHUY?qrrgEcelbFTZ`+2Vo-eej;=8vyPm{bZ~fvV@G)U6IOy|$Sr`} zkVNv~T8a(wg8`=%xj@_=B?%AbDjKaLEU?R1$b8hokv|)9#u^Jo{{jSmXF|*TgLj=x zl~i>niKhG|i?_0-Wbm75qRHu19d){k8~>r%K!XbQZ9LY2%fso?=Txxj+)S-tMrbIz zX#=e<=v6YE0vYWL)&MXDJK;{`CYuY(LPs?twnHukMz{5?=i113e68x}SbvFAc2fZ$ z2m1`97zWs3@}=CIyK6b|lafNitHv9_>h&f{uZ)TYOh@`v;<%tPJd#1(qz#u|FNlt0 zks(io)xoy<{gQyEm^?x}>YcjpQ`e)#ep2A_@#i|&s&8I2A-lr*YxuN7&d3%#l3Np& z^2`w5e=c0rNW>c#5Bdcd`MC#D_?Klo8uRC?R9q5KZv^z;rAy{@nQEJZaFYT0Zl=~0 z(Vg6{lecP$Tc;thmL63LwMuy#SAZX`0Q!}(Y_0;rb3{i$SMtb0=h+?^q}E3bf{3^4 zd26-#kFbTBYp4Ty5!>vg)fUmQh&>~x?1VIOWHu(LKV-a8t~@%lhF4RZ>q)p?;#a3g zCWzJ$t^Q?Vlk}oKwOWtuW-)AqEvd^(oMKYodsCKkR@#oJAJBzHn)s zHY?}{<`P&9MQ>g#=-{eeov4a+yn-@6CN$lj-9(dn^J>0ct#DG%-r{>QkEpqDYT@c? zRe{9ocgSkn&>MW!(AGt5WD&run7VJg%)o~jwo>Au^SrfXjQwvYY-*@wB&h7(q0$q6 z*cO8HOg~OQRIlJd7C5cRAiL*npyz5tlNGpwRbxh7_R99W+N|BvsJ;}{h_^~A{0Lt`Z_=z()d z=X)>MFn4?(WP~fTbLl#vFHwmgX$DLNUVhm$G%fKeA>RF;%&~XMv{ySu$%|8tyO)6b zaG;-l@)!=~-%E-H<(~xZl{x2+5H2bHBjvy(CjA-P#UZyOpVG zPhuLH&lmJ97+HVvhFkKDypNK~ zFl-#*!Az6k?$(CkQ&E6^bT+Hoiso|`AO<)xBn`wd?3L~MqO><%K6Cdl@4}=+nSGE+ zGPHLDw5R@qG;-D3D2gKl#f)NIU#{N6k|Q6o4QewDF#XEkD$^%p{$fKWek3{#Xzlx7 zrS^%K|7EnIM*2qv-S+drhfa>{Z`(O^)$9Pzem{@y_U!cJ$m#JnW*+ZPgM3GxnUx*+ zlLv*S0PhaiZtd7~jo4P$A3a`boi|WO2KzW87%tuL_)_2F-M+U5p5wloi;HB}3^-KU z+w7UG;<|~!k}s%qON`@-vI*j-VB}DvLuFZ%>!75aH73+@FKF{OR;)OZ(W(9|r}-!# zEeRmkd{|?gBahk0PEsm}^w&znl5(Fuo?h_4-tGb2F7IdBtuDK%fwNc7Oi~i< zI4>p!EoN{j{+8x`36fI}zFU5E%OiKww|+v+(Z`OL%9Km_$fo%ySY?_*%6+5`>!cC# zW~X;t{Mu#@ou4|O#5f?(7(`S~x#Ar5$_ElUgG|Xm*PJO!>a3HmyWK*j6p9L<;1zo> z>G)*I%=U(K(L!1X3SGdnc6aU#zc!0OrL&I=RS-nCh*n`g#ImR&TU3?A)V`2 z`}yPM7tVlP*3V?|&Uk{;sQ*LQ?q<8HSl!U-mDKT~C({YRzZ1yJ*_vJ_>1n1G#Ld6r z))C%Kqa1;&>*%c`{?#t7R_jDGmI@%@6&o+^A%W!AdqYMl3y*#41^M1U+*SGTOdZjq z**0Q4LPWa(5}eNN`^1YPzfiACE(rsQZQ&7EiIaS4R|{2=1k$wX6Dh;X+y);6z|DA> zrXvG(l>>$?cbAH|(r98bx}V&A6z;=KV^OQ(;TARa=T5kp#D38rUb@nwcl>Y1uez)h zTbW=$o+1JWs{ouyKa=KsukqR6wCDHUl7Bb-&#gJ=d-Jz(XGqF_mu;Sr?-gXcV~&;!TV)rZr`2upRWb@Xj6Kji@)KC6eH=6-4??m-;C0-sP&N45hTtNv$-!#*2iu-5OdS`m>NxHhyKmNY6J50at`s+q7u}IR|cj$21!&|11 zD#pWq|NCuMd7fULZMaJfK&av=x@&Fa^0*Ud)w0`Y&jF^G$^nO6m@1YfVr(;x5R4Sn zvlsyJqov@Zrg2X+J4Q&krMa>esk|a<$svT4g(o{3-DmHiaJ)x{onII9|;2y-Xc7NOhi^|qW zZS=c>|9;B1npJRAJW6%NkGi!iHx}e7ftCMWPI`jBY?QS!JLbby#NZSwH9iO1C4X5d zFTH#&Iqh5 z%5+AkUBr}Jt$&P@7|km2n1^IRm18$FYvQ)AH;G3Q`@nTc^FZx-Gi{;kTD}yJq+eZH zI9#m71YQ-sUH?Qb^>-LtK8Cyq$P_t6iYWEgoQsrD>~gu-ZoNE1znr$|3O9O)8*szf zqhEjQeEfU6#bj7;v~6k(^IaG{PHbgJdVpdx8BfyF)tOFOt@x)*-d%6J|4Fg6Yv5)LrT3$6b!eaD5rywEjkoM>_6mNRDWR{TB(Xed)R2eMNJR{dUcZg46L4VFBT%A>2d<5L7!JSWLI!*J3Q!|TtwE@ zrcRu4>!Tfs3d(~_Do7VG=O9{vw1x`7w5)>7^|6ZJ=hh66~ z`O$Cn*;@|CfG)46MWT&P9y<;F@6}vrPS5AYJ5F^c;obk#c)1#U_wh+zcJf`!O@8rW zHS$Hi-#V`@zczS4r}=*0dFeu4c>edM&92Mw7GF<%sg|iZA^7ucEf75V+V5M!qj=n# zXL{owh{@u7tY}c~U1q5zpLymTt1A_udf{iv{s!lWtgk~w0u6@(g>u?^!+loTi!3ze zrt3&$Tt&U6NVZQ>LEhP2P@$edT^}p99~luTwy85*ol!$jl8>(K6Ro&qgH_3rqKwdT z-7Q=fsbF~?HKvYM(5xJnnkW=R0iB_5Kh@D@-XDX2yqHTPFSJc7ofbvaN^wjblnO+Y zlxz0YKWJ`@b*IbAQE}_8NJ`VPMep}$rDVy1h0iiK9(;;VctHrdnd)dof>=5T7n)KuD8?#>V{DJt-cD2cZsrRa7`=-l3)f*R9jC z0X)!&3){ls96#+4WueUSV*cz2Ywero*G<*Y?(n&<1+N?36({1FkguD1kG3zz>z!T{ z4(k=Uw;HeXi5=Fie|BIqI3|lL@ls0KXWw=nU7`E#3&icEeASuez(a1TlGW>jPwJDC z{r+AutNV&V5Uw5!{Oe?OT4nFx$hL1MLj_voS7_PmU%e!KBjlIKszT8|1@~{$#dg?v zrQ@myMfQ+E^cG0UsxZt#j^<8opfNuIB5b)Jv8^qp7OFmCFDf&j8pB*CxpJRqEXz|~ zdEuN0UEWM2eBN>F{T*Q>onqx-7WB=EA?M3EUIR`nS@k2K$ z$Zd<3LmUWth(T;x5-&Wn`J!a}bdza>z3y@v-ETH{(aNV=H!fPzChcRB_33{%tf$;Z*s?Q3Srsbm zW@3XxLK^+~8dI+MtFW5Me72lmBkIkP?wJCk|D)(E+?ss)Uq5L7@!Qn3LGi{H!pC*05R9QXY^*L{A@OO7E; z2cSZ8^-xj^wpwlug1ATDnk>X8oJzl?NgDy74o|&LoF(%F=K8~O^rnsXTruaz)*V0E zS8Cz_DX0ab5XZ@$($GT^;2Q1}(s+{w zQN<2w3^kuT*Y&pc+HZBTzx=|}X1sLzy*K(Ff(AM+w=E&kG!6Tg?5Wa;L>aRPCy#K-uBF`5v%ZU)SNXbn zdZ4N;vWeQJdCPGPX5|K%N(wb{XV{ zP%sBV4OZqd%4>|$#TUs9=9}W4S;Tv{qBRzM8ui;c3+=al;QfreM#>UV3>lT^#cSS; zZN&b%oR=s7(1S8;IC05z!N1}@^>a%=obvfB_`u9#(uj6&e;SIx0ozm|`GV-%byP!T zLG>?atn*yP^cqa9r{C4hBr9OEE^yP%OK&LtAV0`9P&9 z5DTKXzsQ%o_V_$^UFf?nC{_mNlV&FOK0p-+ALu zgDu`M$9?S0$$4UhLdJ|cQ4))7r&1ois$DoFmNRTb&tbGk{b=$5-C5Jqtkx(NG@P0p18U^uQ`iR`Y_-?}GqVMsUd+aiE^}rJ74-a%=q(d_DEe-vUR%%&&pHc4v87L z{7$O3Up%5;q-KpZf;8=uUrx83)H@cH@AT5fKJ$6rtL>~#=9tmP8wjm0zlrI zpkMcBw0qbR8i^9O?N1%>T6Tb>%80yJR;tmkW-4F^Nmizf>4P;@0-5uC^O_#cF34q_@f${uu(I_1a~Aj zQ2lw6)XeoG+pRC$_HCq?ztR52B6&7bQRgO6 z$N5&f*gX6!>*uyY<7{-shkm_K*(4rYF}JfO6F-$?u`L9?3R&sT+h`pY@(mgGKs_MB zs#mDlUuA?FHh~PL!Q%!wxw8uUr3ZY$%E26{nD($h~_qPN~RR($r7L-f;}y^+c5NCR&sEf(43Mz zHf_-=Kc0*?uW?#h($0c8emwva7#ajrW6bAWnXiSYyXU_BcFpPBK|g3&b*h^(TKhi6 zMQ5nX{%p#X*o$LcxP%kHZnNdIbijHX`P$KhGh|`!e&`vsfU5;613Arcxa+~JEiqId-GKuj)r z;I__ll%fuH=fgtwrBGx~oHo`VRndUR6SOKc)V$EauQ^u)ei1BjBk;~jzv1(K>FpxO zSzF27e2KPjqs)e-u{tk3sMLBO9(i}S2CFSRCv^ocy%@NH)74Sdt;PjOSimRoF$9CJ zcBU}|c8jG-w!Cz_mu&i%4UUdw@>2qGe%gDEA70EmYE zRw_r+d&9^MBV?m%=RwKqiEP{~;vEmO{t`ev0sR}O5(k}_J8{M|3^^+l5A|2A$- z-JZbXTlf7V2kS&c-6p5HXqWgNKUyLy{S7Enl_KgZiw9X>2-Bn|9elCaz578V|Kkjk z^glkh0S6LI5E&Zz6ecfOz%PEoO49Md5~E=_Y{M|xy8RSX@+ncg!FmU9=j7$@OR-MA z7(R2rb^H~3Dd8BnxS;ujwRGSuTlr#J{}#yrJ-h4u(Nddsf{qfm>vX^J>s|JUrgiF7 zvtGc6y!JM{VeUv_RFi&X`drZI-?@vpB=6?jU67%W_sUCHJf?oZK!;$NP}4AX#=}mLVRf5iSw_T+UF^20=XHbp@ZCJkFM4Jg;gA4Fy=RN#T`=}I zh>BIXM?@^F18Xq6rx1T{kw+0^#R!0Hng}Q-DXFEHW*rG?dcOH*;RJoPm$Dv z6e*H=*xbA5sj@Ma?aL|aOzics2Pu*t1$`z0)r!v2X&-{RDEJ*gTUtZCj zSSoZC&_NKS^^4dZl+2?Rv7mPp}0qfKyNlOp->fI|hJQ$xVR zsv%LC6nINyBE23G&k|r0pdL5~n;g&{d9oSgG*uw&6{u!*T-cp}n&%vDx>%Sjv?p6L zNeRZ?hm(Pl>;94ye?i~=pGs+MoqMkPbnTr5oxhyKcFc$PNNt1G%SQrafl#^07fE#~ z;a>R9Z!iW<@}s0NLoP8{@ZhFVw5O+~ipfs7*7xoUIfMT>^6+Go`al~6aGI$TG)HkY}4KONYDW91D>k%OHO|gnU zm}WTe?I&4Zxy*bkXs`dd(4R>U8iPzUVe!E{dTT--2|RyksD%Jc2^PS^^=O=|%r}2Y zGEu~dm|vN$LsbnCIfvbhS^K>%aW)YY`z%L=M?TJ4i{DM<$`U#2bKbjh~Gji>Rlzm?;~~x zEn|Ij4|_k7#VfRpSih}V*^8-#;@A>nc;>e{bp7cOtid@(PpgmZEuU)Xnfm~Lo>rRh zHCa)JKY06>VpT?=Tc~iZEINW-`_>q;z!Ijd^SojC^J{`P=l|q`plkro(T9i0v-F;9 zU*G24=`WHdyr4K3)Bc_4xWdmbmrE^HxL3EmQC48Q;oC znmv3Bw|uVuOWH-Tr&WG$&yXPLmg{+Mz94K+HHIvZKyxpZE+0-q;$=k!07{`CRVx;R zlKop|jj19Ta0La;UROB-5bI$ad0_MRLE{m2{ab@f$UIIim4h;qhY}hy^63;Q0mbuiqWq zl&t7S8?+!J%;AW&I@apE3Js!>_8-Tg{=1Dxguih72Y_k7S$2|W?Fb*sZt@@Pr%_c( z`oj}4Tiv;Tc&C;zFra{o>?*cjW6A8n34~PhW$@b?kN3;cn{_p6_a%EThjp}T8YZ+1 z`*901Imb`f-Z^(S*Xah|L@Ljf*}Sx;pGKax*H!46pXw-`yR&xF(mZvvs^Vbs_f|oI z_%}jj8cnchLIia9fjPWwJruXobh|wHx#IHa8{+cR)8b=mazIINVr`AqA1J;~6#K9@ zjtt5E2Q48Vt`_4J8pKwq-FiuLxyxVkuS~;(FH)cap0h}I+Im^ z7z^~{Sl55D(gzu$@hNxpQv|WwbPTD@%qox4wr5%YTmgMS=SZl+Lpq|4EV4zcP4cGn9AVxs zdPZIuMqkpIXy zU~c2yJzG5;@UQ=!?|@&0T#=sLGDWsCn8%(bT-|>M7ywS=RV1+%+6Py2MJsaG#I*xQ z^7$p~dZ`^7lQnq;@yiu!LFp)A8T&+|cl~zSZdYNKv_~2w};xT z?VVjk?gHgcLYEX1E#E1%7lafPbSxkaBeaG zRbp2duIt<<+P%~lE{n(W$yq!vKDghcY)w>}CM{HV$G(-gdl_xKw{acO*jU4`;5j>dJzy$XHV_bR+P;vj5+_3Pl%pX!~+UO3*9QKTR+qzAjye zUh1D2O@rE}DS$d`F>Jk8 z-XB?3HqLf>hh|ixuhSNPYrq)ug59|Sr|E4V5T;70%hG6u=w$I>NdzHRUfewo_wR&z zNM+wbMfjP3Vg0gG$wi7@ti+kEx2Ix%WxbHh_G+OVG{m7nNR1!tySYcZ#oQ~5H*y1K zF20Q4s0b<=ju8*2Jl!RJ{@O*@>*kC{a|jn)NGPt2TMh@W#4i=WdAqr+@@tphj~|P;@@*^Q^`(`6OW~30 zSB|p)hByjJIh5jW%fQBs)n!OIjQMlI4y{}La#veKaVJ|copa8I(TFguk9c`2e&POf zRhL|XHcCF}E-%@lgc=5)K)(4^ItD{3*Lh|aGecQSx%08Ine`yu_Z|l2g zc+`+gj&aBMQNz=BpG>2DE)Jf~sJXqI(EX|FBR%J6^5)3-qq=P$-k#Pg`gwlkVLk!J z0l-0EC-rdq!bpZ>y1i`rKUi2D2Pbo?K1(5j2+~+EE1t{|x6kEAsp&GZMvoNWlE(rW zH5ub(_+JWE^7hCk_#9yHoQ2M_u*YQ&Gx>ut={4e+4y-lAF`AfbG#!Y>Plr4)8dep8 zAbN&|F#_KNy$8C4TX)~7)5L7*hC~iB4Hux;gySXkDn>~Aj{!&iVMleciM4~d4H0o) z(~YeZ)%w1F()rBIHQSCVxI89LrN?-NtnXI%JX4cq_dg2@1s_@FlC=Bwyr^oI?oY`& zN{*}rM3+6g|CZfgT%bA{Yk#us^hLPe4ap~W!bVMgIDt>!$&uFmtov}Ob~G+RfdJ0)b0xbk{l?|!y z@i0vpZ{$6DCbo1Ha%xIv`k=eUmL3RXcs7P)TBqb4RdRZHSZIxKCajBU1i|&l1DHXf zjELcP>AaCGhH>9Mc_#mnH8+Uilf&e@e=(8^b(@oTzUpAG+ddtAdqX|W_Jic$M7_xU zZQCuIz`Cj7mhx}W-P6a@d7_u&pImjaiY_NYU+y$@%=xn$f@}WkuX{2*dK#m^dm^s zpzAh@B4PLxmE)?nRHz_64IMCfK~AZla5Ru=S3p6_rC5+sg*>RKK&&*U^| zZ%O@L7||7mxI`R8&z%tORWd{p5jW$Rqy+_`tZzXxF#;fg!l!V{1?^j-j0UL{)_HUO zV#7zJ?>$=fl(DH|TuG9vvGww|pK31$0NGG5`r&U7xRvcPRwRo%m8!eyu5f>yfIaa6xXcD&_3X)MtK}F1> z9=s`%xqi<_Zwk;Lv`OGiCV?g9*(nCHf-V7+B@0$pR-&y)O`1eW5Exnx;0w6B-ibSH zAAgU(=s-lI*)!ZoX70v1=lazb$dDj6Yrm<5G9{u=i)ml3_|wKW_;;kK(6AU@mF8bP zix-F2%uYUd`fS@~EBBR7_Gii3dXY;HFPoGEq~3q?tL)R*ho^sQL@nNVYCTx+ zd-%g{<1}-%7T|_Q_$?2Jq>SB>U{1XLM^Ah_{fB$f&ZCY%_Tp8b4e36O%C&FAffW%c zqh@8#N_=j$oh78e^{80X6B_(_&>)7wTLd#*0E_Pc@YzJczxOtSf8PW_a0I&gzAUkH z2Q0h*iGbm3RRbt?W*^rUoI3}EeAmKYJQrIoxEX|nt&zPgC@l#u*OZgRG>h*;+(MnL z4=g6%d59OsW89nMb^ZFnBQBa^@S=LUjl`+SXByX*a4(E*dFE0h;5F~eUUov#Fr(c?Ho2_)bOB~vIU|W2l`9n(QlWS3eC^1ENW!X(xHkNIma>cqq z=3>jw%Pw1a+w%n;)|j~d`ct@`=Q2F%b}}^`T@h1Y*@_Cb=MF@M-H(*+>;Iix;`ya^ zNSwn~H~-Clw``$EJY)>XGtbFNT(lCj0Q@B3*}&nwb-fw0H13jlc^gIZ#Fsa|P|FID z%c4F4VMa z@TjTnD5^&H{b})pap&adlE6z_Q%7FKeF$m$eCh=E^SX%C+?-o^(aE=_Zxf#UcTgKl z0fFuMW7V6jGU4V|tjONKuh-7V;_;{7ebWlfsLJp#4wHpG#K8^7b#O0FkQVLGWeN$z z!>SehbpyaMbN+$nbPNS_!ge4p-9azs6byDi$E^eoop4X&1QnD7f8qG1aInlv;3#IY zFCLjn^+v=J^nUQH?g%|xjqf;|&J#9B=}2fDA?`eP4%zjn_~{{FgO4k;YETx`Ch{#) z&xDU8ahfD5`7d|;q_Wm9{Fg4@KQI0Oe&rQAxNGfl{aua8;X~L$YUEPVL1l4L^czS3Y{8i#b3z3Gn8mR&8@~C;(P~$Rd-> zd{=S51!PZBp=Fe;{7qT;y^!B0%~yAM{JK-L4tFqU4kk{-d5?Nwt z3?tKMI*VEod$Zp2q77*A^$mDUy)GWP~DD9!a#2cmouq@}B^dg|YY}u?RD! z7b2xhH3qE4_1wapR6pr>Nl|c^3{$`>B@08W@p2Rn5X}Kv0iYV#Jjbu#c?#bm9GAY}fmb$-ov{S>Bb-c$QXyl;e{?w9?1g>A;24aTT!#_et@ zy1bxswBTR-<@|=reb?1LuvI0;c{ez|uMeP=4hQV|kl)MCD!W=6A|(S9H}O5?}?2BJ;>l5G5+b6b`Hci@Js7 zsiUF3S0XDph+j9Z{TaXZvl3YcVAXRF@pzbHli6shs4o-5;-Y!2QRPB;=gz~r$Ov7o zylkO=-n0L>c@&p zjjDXRJ(O1Qw4f1*a-!OS?%D}rXF;uOb;t4QOl_lw#@0~r>ko}H=0L8L?R15cHKY8R zljBKKi#5-Hwa^63RecJNk9$%@?SDPBN{cP8-?hBklb#`5h2sDUG*}zJtOlD!#>1O% z=tV+nQ)p{Ht+mCWb%=oO$Dtb>(9OQBLs*_%+y2T$JG?cm^}bK*eXRt?xtD}!Kq3nk(vBC5d-4M&uBa@;e3{;pJ1iGVz0mNB@#_?uHh1a&H6j(c<Fg2@j-UOQL4kQfA&-Rv=uLHd%^9*wsXHnuYK7_36utT@pI}}0z07R1j z_Fnl!T;VXsqo;7Ht;HkJ*1-V6Hq!>`4f8}tw6ZJDx{W%d?aG2 z+zxhP$+zu5g2usGgf?#$=t54;^`M?vE(-6edv+r6ek_kRQ}F9OWb|Rz8y0?O4__m5y1Zo=Bx+ZRMa%7r7{J`|$5h}^tMG%sHG@B^Y(90q z>seK;Z+Qc&jBdF~T(TAXZ?2j9r?*S_Q5P~@-jpV*X8Wjmrb~-0+d7ZGIl901f2=^eAw|2&q4HD{vchm#XL0CfEDZS6JxDJH)jKi7 zL3jcFbFeKoX1ib#L1=cD>mF!~j1B~p9lC?%mUU!yKxWMDZ(P(v5;|d(Uyu~1CDkS< zqG+}QnI)lzvAiF5tkvP--CW3_pP#^w;4p+!agZyOz!RkMEK#t76km+ogAOk0xQTu| z(JG51RZ$mbN2aDmRb_M7fu~WWvq?dn!P!mW3%coI&)#v zr($%D$M)4u`<0KQ|NXt5*58qwJC?4|65V6GOqP66bob>z-zT1{MD_7#kMWfR%4bLS z87itu10aTlyM*x+aA9O_u@_;YS>qmjYT`x>rzMPYI}FLa5aNRVKv>Y~Gd3kT9in~Ett#Q%Y6tNe;P5HWrM#VGLWov=ZH_AO3N!5Z3`1GJ#J zxU7KT-ETaZ zYvBJ8P7zSuC6D}FWn&#RAcp6{!g|yEtp^TZ3taA#DsRC;Y@Izas0?D*-GLL%kE%G>|iixfP zpx4+4HCmV%USL5&Kqd}6L+0trY<{+Og2R2SL<1XR*Hx*|)-I@xe|c89P{H)j_obZb z!^~xsm|rCNzd+PAQ4#OEB4jWd@#hX%V22&-*D2fzxo~i z*(eS1y&cTVL)E^2FJlrVrOk~FQWMWF<9WwtYbG8oPio$stbMAcS^Gfy)eF~G1D7-x zGUmQ~s9k>bY8H1RaYbfzT4sj8Q)LDaTZP|bXYQ{TpIt>Y9}3K!(0gt3UZ$MywOW%6 zu)I!LReb+~H7YH`pPwI8MM8sQ;5TVVi65^Ay9O%AJYo2gEqL&~H$WMnfYJs;L0e!J zU{>I7$!PcWjpoU;1s>|ZLuo$I_`{h9piK&3#t3`7cgXOE(~~%!>X8WAYNecqtiflv z{Q47sx)tEEif3xmT3^uaD&GNhU{~_$OfSaAm>AdmxXK*16455F(i52 z4$qMD18p>DHx_e?Q|8=}axWk2+yTDW7Sih?{TgtBOW+wR0Vm^lI>?A(D#{K2{{Zn} z9kUd3$T^UYHx~6QxiQ@WxsYrHv9>B8qnf#&o_^hEQx{$PEOK6(Vf&*ZG5YhnzNLo6 z&%3*ylTD=3wO@5>Znax&G5f9m9(@EjvJ>`s3-aHaCkZ>JJJWd|@4UJBW*p?oueG~^ zlM#3={eG5Lu<)us%oV~hgXz+dhl1A@8UFdOfo>X!!Z84s9I{xSr zKX^N^N}~e?8Bw zvpx3V?|9Uh_*e$?s zI%b>uy0bqjNVF@kF$u3y7m%JITH&qQ-VUDZj@)#;b!~Sun@Q{5395)~<1&w{9q)%=0`}L+ z<9~>63z6fE?d#n2v^QlXbm`L~xq1QP@}_QbS=d6m_3cIi-D5nz6jW&=c!H31OzA($ zK?hQ~HhvFzyFOC~r8-`dh*HDf2srPQz@9+0-5zp4wRH5V9h12S^W%Bc{eJ0&3>$7W^SH zZ+eEs6rY=x!8Hc{G>balPOwSC1|!zeL=WqoPW@xE3$B9d#EWGTC!&=4BWWQZus|0x zFh?p0&{*o6`3zKN=CR7M(Jsk4h6^^(-e!5ZEH(;ctgttD^;eh;rG7^z5aY}PtL(8c zS$BcTV+x9`LB-_(RpZUo(GT9t)vijQH0qhY6OLN_kmB0-1=X*$y0cEY&N19mJTsP1 z-S=(g)p5SJE$)fOwh_R!RU~V^)4A=o{Lt&OO*=KQVbf~EdhVUGZ@#&cLhb`oK={m! z5r;FpA;6gh6@84>F2p@?|&oZ7!5rImE z5r94#@f@40esPGPeC1%ORjTCBtCWm?2k!l;k@y2U;=MjqC1OI+ed2)7Vf_zEmIYv7 zkEn3g7=j)+|5dU4L#J}$Slu~6QQi*QVytr6hOGWl#h-bj`TdpkgRhRCcjb%hMD7O_ zpQ0ltt~B<(lc{ytcypcA>pJ&ejMIqY!hX@rkWj%*1g|F9pA3E^aGi*3bvbc)>0p2J z`VCJ_{7LmuqmJf#Hdi#YGpf+%#^MIfn+=AAObRvI4R&?uA8LC!v?F2tJcraO`auW% zCjF}+4mK+>DV};8Bii>4(vP0vzzm}6U}zf*w8)yspG^ica{Ixi+so)UcB-V&O+lB1 zeo>Hrw%H+XrbPnM;#u?;r8w|w!kFP+A)jfPyu_Y87Vky_CL)2@Y8*uPFFQ*JzY0LC z0$>uy@!pLMGEb-#IfrcmeusA`3gd|3A$YadkgWVcLy7ge15DtExK*kAqC!!=kbt$* zVbIrjt%MR?5Z!xA`Ok-I|4XVA05Q!3&9`9hDwPv>KT3AWY)u@5vO?Zj-3_H_Tzh>gPNbdD1{yLPxRPg`;ub~c9 ztaJ5=`aa3)8DZw;-yegId9{UX^_JI`XpK0JLmn}H9rj?ucs!3~b~p#DEwh#)&K}Ki z;xaV%R&6yP^}+>MtmGx8$-f;IM23~28bK_m+Dtw2ao>)fxQjp%X^Rd5QTw-C(=J%rs&pz-56bl}-S4fPUN9k2)$qU}7P&a*Q;aQ~6c2f_c3~IN? z#~qh<3@w`QvMau_>Q+9t3cHE{6OJNxf{o;lY1a+p-xP9Ak(L_O8J%~c*cnv)2SVxV zHeA18TX# z%U9pZYF^DxcoA$`qUbld+T7ri$C5A@kqqfi1Q)2-_a}*A9EdNYLGbUc6sl$wq9-&c zUO>2^nq8P7zyRdC&}uKO*qgc=$shT)4L21CI!ifhb2_#PKt`{^-O*NvXq*kkZO06A zD30cBp?UmA@chue-P&z*Fsz`|J|Qu_CUjr(+Ng;*{}16TEa82jnr6~^cPj*Yyp^Hh z-%;TETc;(qY1B(+>fK-K_x{)?=YlRnaS=Z$?9Wm4= zYdACIIe6#xSF{^}_+YEc#{A>m6H(WCZe`2?D!9isy&Mz$2Rr!%ElyrdL>WX*jOS za*I4i%Dz~#onwD+_oR+jp;)~@&BBnXTGB+3P2(|Tg;-;s?L?cl!-F61(H z7DMxvzqrw27x&{>fpc_CkKFZ%30sNZE4ljDHOkfDf2&s&-aeNBcQqx6PpOuSRJ8Br z>Kyw!_3hT%qe1Zi%v8TfMU8Xh9sK!J%yrhK+jncf-&)=ln`wDWAJ(nX&d~&PK+aCZ z{@0wjO&y}o8sMLcMq+v6@bsspgbl%k1rvPhXQZJD(0rx;SYk`s>96J)W^q6>O~^V* zl{S!xB!XaMG7k+4LQX~0+rJ-7?91m>5_Lmn@=KbCPAmQ0Ue(XH5{pU2C#{78 zw?9Q+yZaUw=3kG$4uEypf0f=J1xw(e=HC638S&p2`|u-TBmhotVV!^RKfTMk=0}B> zT@NlveWwe==Gax?;D%%UJM(xXfdhcxO$AhdARE(YZbr%igxr(nxDNH@GBUC%j9Lhm z-q1a9#S+4`tnG>oWEQ`BlZYwQhneO~M&J@|ma1qwv%Bo++QWj~(G;`Ecr#m~QQU=t z>{$DZm{np6yLYm|aQtcSxpgxZw|EZpXbP2WEc@u`1s*O+bJpQeY)r}X!Q2;@d*+KC zJ+C(xt4a@I_lO73)bXWKpj35^j1f0cMyzsiI#p7|^Q~nku?y2U3gSauEcf3(W zvGM11xlflsq}9=|wgunn#DPcR>ogr3ggckM zQUp>GvtV@S7MkX#sP$!<<@=MM%9K8%Kg!z(y3!6KIR3sS8K93+wVLZ=zK56*Qbfgo z-`#B7$xx>ukVZT`fSe{BpCUQdSu;h`dRpN6QZ;V-&_QN$br0rCY2v{ZCCn*@Cx=oyuEu*qZi43D|C!0X@+`q>@MHGo)l$fhN&C#cgG#L zcJ}G*J3W448;T_brr6Xz#YyZO?qcj z2htC%XXrFfs@Q0iIGXPtDbCfY3!4)OC_d*~+?VJS>*gwATRo}wNOXGYa*6AVQ`_^0 zu9=grv$uqvE>9deeOE)}hI=7c<$xopPO!6!b9x9D7wxbzWoMUyoFCvot08 zefCXy(7wh0#9YRKH$Jp^LkQR=qFln@H6(#r<`DA7sXsS_#7Z3&kyRRlT|#1(5E=o z+S*y~c(`*lg-;!^T40v%z~IikQGuQzJ0nV=OW{2ve9F=hQ+V{yvxa@rpLJ>e(>zu8 zrEAxU`UI-&7mrPmW`)hYOvH1~o%6cmgXV5K2^D#TezLlt=uGaRYlndz&uOmI=c$wF zZV2O5=2(p8{iU#z2TKdGO9&6&ij(>+7P^4+GYGJ9g`Dz&8=uOI>XMxDPCX$W+er%yXK&YH%fz1ABtULFP(ikbE;R;J+qcB@)1I@zF7c@X+W<7d^g^f1 z3K+JllkSIyx~wvsqY({qj67Xvrw~%1-IQ{{@y;I(zbWa>6_0#lnFug6lJHE$^;zRE z`r?J9NQP(aeG+?t7-IydQdpM$I&342I4nG7*|*C+JF>+SC&**Q|8k1Zf9>HM!`KSbNT8g=<(o+m!YVQ0DC;c>s#+%uiFRiHG17crLc=HZ`qO#xJ$Ovbp(aH0-|DG|W zfK{d!^EM#uiJ4izBj5VZbO|AAOS^u!_A|viMb*!GmbQNj@A*DV@_xm=6OL;=$HJIr z|25C}xAl5*q2I7xf?erMlYd1c;HG#v2z`qnq0SLvi4mvI{o_W z-+{J|zkDUJiWL9U9=>h)iXZB9~Ja*z3-!T=eO%fz4hw}Rh$I!5rs z65w4u-A>PgTr70jJUi}r&kk=B_nWqS;3kFzv`U+#zr!_N}24exT%WN;l!|3b_yB!~LXWQN}AD%7Y)7t?L>T37I ztQ3;e{pBG=+x$#qB?Tft;I>9=WQYlMU#f6D_G6^&-8+)ZD6Hdk{}@j_P%w(}K8EqW z!RX~MhkIR9Hss2qjy$I)`=Jx)3*JiC!@a-kzv>sTQof&dec{hBUZv>}+J}`HkT0Oi zaHmHJzqXP&xatNyiA@i~rH6^_l1XV+-k?;8`x`9>&Z-r3)fQgK1Lb8Q5C)JIOqC;& zX)+@O7fv7lc9^VTrxrQY=?`6*3_84{Hd}RzN@#c%u6J|^80VjH29W;Jm6^mTiLMCu zwNCBIKBJE(5Lzu@7ueZXWiI33!EES8TsnoCE_wrUzoTNm2kI-v$mVJW*L0QVHFj8&CQWh zIn7aACo0qP;PV%EjQIhQ3Vc#Bb9sxpUKCq#mK^>Cpw<=}x^w^Hg{R*h^&FasDIjNn zfhm`YF|@eIn)X247dV-wh)p+e%FjITNW-rJ4XAYEeYynfO?fgKpe_mg+RF^Ib7#A-PL`?Yi!T-L2cxIK;o}qFF>m5wixjo zK#)aOC8Y?Gft`b}%l7bKPDQ}Ne!v3Mm%JigSCP>ZwMROOTGiAK@g9)I_=+(?Nh_|MhV_za0A!{{27qa|_uQ zFE(Bj7$BW`^4%f-wX}7cLLTMlz1c9bQjnW&~G#I(PuGKCGo=(s>KPO#=W;LaJ&HP{ba% z{wyPL``*X<3UtZ}vpW!vXDo0bdJCoLtrZ#eQe~g{zo*!3j~X1-$hbX&kTPLak3%l^ zBpe%0s4b8DcW#PUm~oBoqN^pmp3lnt*hL@x4~)RXAI}E+Ca<&=VqXAPb{DGbMGUhHks?nRBlwp7@mU`%j z^y5T8i|TDBOO?tGT5sHJj!|~G_}l~OULK>Y9nf0FXbqmOdRpt`nbyv)=GR58+exa_ znaeK2DVV8VE_1{}(OO1nfm^`gTyYgU7TX^TJ>BJUwWTK|jkh>tZM!92I~88gs~aJ7 z=Ar!A$CR64vy;aP&IZPPq!f;63}bM{kpSnXRw+O*TFjwwOll)T=gOb=pX#AgB6#vl z_M*=4ji)t)uzB{4*vX0;MvPT=-6xaLVb?b18?o%WAv}Kb0 zngKGxT9){hw&837uH108lJxpUDsqgN53)OQ(WaJ1CJrU~hkx(p2sjET8>_m`ezB^i~0rFuDbzTwl~ zpCh8jZC~)7%}rT2b9lthi0Lx$se-zjO;$+5Wv+qK}t&=I0vQU((-Gw(qDA(MI zKHyP)WqW??QtjzWui{q42VTX|Jlv47#S2lNaK#jmL*l1<*9(m2#(w%=Sx~9Cmiz}; zLH!S+leB7rJi4%&T4uX&q)^B=(?1<9>*JbEJ}&7-^_){A@+x|`SpDl{KpcCR7oR%{ zSzWJ<3w9UMcF^_|mUjoB(uEXi>d^*)rQbnHw-{^v=sYX67no@0_YBmDkLS`2s-oY& z!!%~Mg7{41mrhvzU06pC=bH-77+$Ziv%(lR9v;4X%>WIkuo;&CA3oqXnU5bmxcu@i zcm278VmkF{c-P1+9fa&d^QS!O-(|WZaNo~lNXL%yL}u=lI_VrgPdjveD*SF8y>t1E z%{R0)o{{de!iW#l`HqH;fXDK_pUNAgyQkrUK`=xsS!0U6vsq5SK;CQ zNuQi7T%lLJGp~~vaw7d=eyH+*y!sY7NuzduJZU#wmTHR#<8eHSAp&iF)r&fc0R`6r zQXehS;9AT{o|;udj(;RiMHuhmTx{x!jm4x=4Q&9ub9dLCaxNGgCztXjw~WE8cLU z8Ogn!bi+fDPh32BC*NKANzz{NQi_Y@($3KjnH{FgogssLSM%gW@MVETyG+y@^S?MJ zf1upiU(a{he_A2~R_}@x3J5*U3xAUQgU844LBD0uFFxAR<_G|pDKD=bWN$F|BrV-W zAuUXW{%(_WOvS#RCscuAHAg;fL}_Zc!LQ`T92aic>D1X}gtk(Luf|ykU&kx5EW}3y zY?wmVu<~NLR4Z&nGgP*OAQ&-etB_BzGFw=MI^A+SwSE9nl}TFTFt4DeN6OFmjG7A-+=1JDq*6%TSZp56CMNKi?6oNxV7m{7>xDvZ9BNc?$}Ny zwJ5Wn-OVuU=*IpgZei(r$lm0Yu1dX^*1&@*3co>ssN zP3ouTk_W3b=VpQM^+$9Kru~Pov9Om&xp*(8#VqHnO`>F>%CkAyS(+W(Ql;j6r4@?& zU_kHy$!+7{C zVa-DNJdcuoy7cNL_}RmN!tz)e#0jz$0s&rWc(wRL`M!UC_h>$GgRc#^nL6jI0)%Y>HxQ@QgF#P1K)3k+dRV{Q; zw>4y%Th=1kn3rxydg%O2gnA6&iev79F<%k_yAp#l!(UhO^Mo>{`o3!(k5fNI(MZLj zd)x$_qH_Ee_~{Iq?wmN>QF~JAl{e6dzt1h z(%MuY?t7l+W0ZhlBV)~}ojUqyYqo7Jhga27OmdQPM_|3(9xM0Zt=uEBJ&rd8cz zU~!A~uL%zRt;o4(@=x*Arj2XzdhLNr$nmeM+vWTV{1H`R6K`>98H+6sBA$j}bw*<| zQ{v9Yh>u^s6bR3FO2S`V{GNvCmX73-EGn|{m+4b$vk^aY!;9_W_mW(f*3fKJddKRb z)cFU3P5;IBnK}5v{qAT8x!Eo46%z#~tWIbX+f$LY(OmZQRIlSK%u}5Zh+z4Q$h^$O zAHPJPMr3pBI0MW_L-3H3LHB-5M+_VAiobaS;gZUSZBu})?zq(8?2J@|Et#fCff|2r zN1YDqJ?$0lrXq9qO+)YDbP5sdnRQ|`33dN{Lcaay_HR|oK<}fO2~_c1#SzlD)=2Sm zmfF|p-CnZ*bBOb{p@PqP?sf1O?X|%W&&F3SZpfOphWWM5;;|^1;kehSoum3ZWr>O0(V69DW~^6obJ=#2XX}!iih;=;)|?wdE= zTI{6j-PHkUh)jy$VhxPJy7Kd;fB^}f&k)Q{6;R?$xy;!~DD*NQg>Q2>o~#$lwrgR}PFa|O>ugNPtGoL{eH=A~Jx(bg$;*o#uJ`~yeZfircK zVRMB*nV;pus_}eO2QecGyYA4$dANb9Ss|lbIA=+ro*0L#bgtxg%j7Yt^o4U=zr%;u zZ?S(4o9%la`E^Tu-VGXVkuAEaDdYcL$seRX4_IX2I(lzgN;a4|y z{8k|advn=a{TKYq#yQUYpU&aw8vb|LfIus`RkD^Wj3cWq5;-KJN;wGc0OYn~a#!Ts z*+I_*$zE_(czdD7ATY4xv*7t+idaIRx{N%y_ElM+KW5 z3bGT*r?h|s*!wOLWtK7xn;e_z)JJn^LN=-5-Xt_672VGyB%s0N03j<;ZWp4Jav%OV z*v~R@3 zbN_q_4L<;FGOjUq5!f>6q8fR02Wy$#E71F$^F)72BD1wHPft4kY=y2fVR1 zdyQ_4#?2NvluV{uwiYOEr+L)Zh^#akUE2u$OgR!{bGPHVVETtp&?K^I1J%S~j%WIh z0x`%n)U1l!qVB~r&a8VJ>O zmjkXjWu66{$sgNp&5an2;=Y}yU=0+QIDvkvpg{z{89cUW;ebAZs{1jM3H^D8w~jTN z>UZ6?nlWq5LiI#xW3cfq$2bLW;YM*SW+EojOXVBNLR5hSem;7tKq_~~+smE< z%qV#H*AbHKplki4+*4MqcWqu{M6rVK*{}S)3ROcoa()5qHL7V>-(c%URhb~UnDDm( zTa-nxX?FO}n{|E!LH9c6zYWxd!Bg2TQyJrG?>_J3TTwHw*%q+E3yecm>##$Q-V8dN zE!w*EJ6S38>)b8P&u7Kot*ZNT2Fo0b6wpnPo;t2s-n-!hl-;-JR<_jl^DjO+uoYwZ zAtVq%>{Zt>S4W$1t5QyrfeJ!5Sj!^5WFAq}aZ_GZJ~9v^8tJ7JCguyYH%#qkyY!MI zbUJJdlg%}eATA<+yNOwNFBL5clKX=QCQ`JEk6ZPE^l-&bt#5ZEk3|4(VQW&Q7eS}Q zvKqyAcGk1xpSG4Y7ByVDkBi(ByF0x zx@|AF3t$mCB>TrbrL4%iK3Ie>Dbhp`r{;=_+!qsB7Rer6-8DB%@9U(SH(MRobdZ9q z0dP@iSO*}!3M5=U805exI4TQqcx^ZX4r`IHNy#H@9sg|7Dm^=>TmuyCx=)y6O7^-& z&Pot2oJfSE;l~U2x_O>@`v_NaDW7B?H|(aGz%_thHuYHVRaFEjN7t_)x12wIRJ(rm z$O2fbPS^cN$>Dk(RQ92kNWXquRAJM#oErL)jkc;vKaIYtHuxspHd`P6Sx@!$;~pil zS$`?SZtdDbbcaQF)3=$+sYWWLu+fL-RG=o{Q4^!PremPXv|dF21a8qxYIs#dpCnjb zw4${16*MWxa=D8gN+9yJF1GaIu~$Ra-TZTw@DKHz_upW=d-CkkC+LYxza6)2^vG)VZCxuy$T&; z_SLVQqBCc-z!sxaLyrrN>^5pjTEiLMhguiHDK_hBt9_}P%BEf5g*Sbt7y6EXwSVU~ zX-a>ChGM*jbhWQ&ATBvyiK5;}R07(4GlN9P)$I%fh2|pDt@ghlpZ=|D`} zH0vu)B5s<(pV<%dpy2N#4W| zLyp$yid7$6Nt#RFoMVUQFFXi0##(5_(la9svL5IEc~bG{s=;8?iwq?fG>tDYFfCQMslfD$*->nt>J$LB zU4-y9vAEpuLztpyy)W|0BpuTInp!#=dstKS`5)_Sk3tfCIDR9$;? zhknM-z*_=op!BTkxAYTpYJ~3RnhM*e=GK~IdjJx^jZ7nu|H_R&6SgH8y*G;A=@+H_ac$3T$5j;#gGR_oq`Ew_LBrWGCh4iRYUJ%7g(7zJR zdLU`mFq4@N`sJi`R0#7q2krpk%ZY(R;*UK?Xc)0wF2;lg*6v8t)_J4M9-qA6uO*HI z#mI9>0Mc(6#2UQweEkulXy54>&FQo+Rr6{z2;S3HMAs7Ix4TK-6lhiYk@LfIa(UMj ztOmBGRetQ;G`Y0#^!0XU#2LHTjoE|!pAYYJ$LytF(@rW?n!a@MU2Sacq@?}bPcH`^ zD!=kEzO}bhA@Sp&*)Y=oahcu4?`P&a+*WT6z<49PyWaN{91Nl&eIj1%e?Pc!J%Y@P z`-d6yiskI*$B6ZraDDa;7%>`1Y7P^L-3YpIoAj;w=jov77xiW8mr)l!hQ9K695Im? z+wLq1f#WorUR#(sHF>maoy%zs`FKxQKLwi@v;M!Zsf^{xIF6ELWzF`@oO|N`Fn~Nu zld-Q-&>lV(tubZA!bM`*Mzaznyg}r6=e7t>mP- zEXkxQO)3@X0beV1UYqh0FwFho}du8tQA$=rwKz)%-G1Z#5LIb0TYuSB+1^~y~1$sfHRGKyJgREGh z_liPmMVROLs;WWFJJ^~j^QG*{;5{q)5ts@MUB12?-i@hjC=ZaO@cEfXzq@OOF3oMgW5K?TcQ9t@V`5~`BAbsQ< zMoEJ~Nmt!S@XeG=i0b8*a7geI_QyCbKR^7{rGPyeKg)y(4?iPiu)oKy86qcZRwtKEt9?C{cJkOS@<>DQcutPOjlsLY z*xQSL2!y&d>?Ng!YopG}7ZPphit!1XSNENJGZJTfg$vw*8}Gh$n~9nb*7Lb6OrbjG&b`Ly z6h2zvK9?1HEk3aJa^d`k7P>t$@TFm9sjw1*mGL(L7nunNr`N)5^FOR*D6&>-b9CNt zD_;Fab5Fg*=Yl@WI}+$n+mJH;f~(xGH#kQsTvTBh(Li}L)j&M%**&=?c+EyH8TI}jkD^C2K~zoQE5N@e6+xYs?{H(3sqjPsmF?qJ-3Oy zbz8X2O#kV0_@LP2tn2-dKA_&L%!x*gH|>6pRab;IX%jNXckcNX_*$GqOpV-(iy>#8 zA%hbP7(`gzP^RHlC~Ub;M6fC=SETy{@$?p0zgIK!(gcNTpzrDx#*Yk%af;N>;jEv( zijelAw@KUOnPM7Il7@`S+HBo^X=CI=6Ywglq>586O9Wb{I%~9EuaN!%e6e9*yH(a;T(;jDkO(y z0IjAts7tLry+kr5JJxlrsm|aHZqTjZ)oZkuxunkpGmn8vs=_X)q@HF5)gpqQPQ{|S!_Z=svX1QI4KBMy6g;W&y8WjG`v5y(IsoozSvfM&dg` zU^a?DM02VH)H*l;2hpY7#++34UzUg~6Q=g&39}$70G+u@6}J+|^6HQ0)idk6mQ>oH zcEQ40XI`LGUFat3Y2lP-2vw4%;-FbZmDr$<8cwd1-QPyr$BcecQW>fBHv6`}rWDe%4A%pDoUe z3y7jh8b9@$GV29dan5$!NUtWQrw1SnFLoEqoHS*T{w&Fg%5aikd*pl3Q&D-C5sBR9dOf)jUWWYV zu{DO7<*O}(P6$}^kM#!;-VQ9q|D=1o07kC}^=Umy&!SyL!PRSq5OT84Hjev~$8Gm* zXR+YR(Q0SUJRay_s^>SSn}qpY8lCmG?R;>3qC8MSbUvfvJIm5N{EeKy_}j_&3}9lO z+c197dEjIAP0N+Frf1CrwsM|g1y$$pv)IEaGnm1LJTJJ_u_LUv&rjE;pGfxQ^(fbx z^uPaBq5cc%&lA$sNcvlmCdT&0>X4xUupqhAUzo!M@xpy`t*w~6tvEJ>#|j`*APE4U z7zPGedR>ic@wR$0q4qeuHs@A5lkdYb=v9Dkc2q0{}ycqh_*OUQ1hhdCC zEvk{B-$abRcdxIw@1B6Qp~lsBF3W}nSC7t6TH=>;pAIY~Gerl9?L0_Bn|Q1o*K zYKg(h595U`^Gr2x7vsfS$jMbWzN(spfUC)IcNKr(rE`Iz>g)+jO%9^EpDO}@R)wIQ z$Y4CB8}l^yypkVPp_ZLl_^&(=t(X1J zGdjpSLhcZWR`3;6Es*MA0#@-_RpIq*lS(lo@=|D!JYC*t=acF#=%99cwE6bZveX(A zbSF)D(l0WqHJ6?Sd8eZJeN4k?O2ZSakzdg0Fr|JN0bB3YQr?6_Yj6tJcavyb?K|$3 zxp?Je{YEmPsRrIOYA{t$WHT;ac)MBeDxv|5WZ>YYUvgu7d1TT#{YA^@i2GgVN2?ha z2PXF{`MXmiY640dJb!=5hMaKf`XN)Qr&gMs#xFm|#Awt&+Hky06lfX%1y5ZiT2$Jo zbJYb4*ab+xOvS+QRUQgeI`DHF3_jC#(J&yja1XWh#nR_9ioxKmUt0&^ZPbIg0N3WSp5bG;5PR3y*m+f$#?DZEKRW>JTycW{6Fjtk52~Q zt0r@&Gxyj<@wTd-jWxL2tGFU=p2rRNP^4gzFOnlY#{WP6ICuh{Kt?B}3S)eE$Je=+ zD5x(3u&6@1-zLvBRW_Lo9$TpuoyBX6;-!0m<5oDR6APBkf<=)rv1ETKmC7D@izdS4 zO08I0@eQ{P%eXOF3WOGh=Z&(Tnqs9jYMpE$%au>AKiISG2sl}t>Dj^>FAh{)-gSvj z``D%)_JCLQ4O8vZgyM?8o6ivO*MsUmfEEYEmyeb@{MkElSCi8V+(R#d+~WBUmh~AE z8zm*E^%eBW6YALQt3`NthrOb8C!8x0{Z;Rww&M^Vc}%Ql2hqVo&}-n=8pJz7`Wszz zU$r)8<1udAx-XDO&Jt(*vRGv*-jD+Myd%MJAonu3Y>$uXFoibA{C+^;r4X(`GVjNa z-aR>SLOw{l!)iQ9^e6g9qkB4jP?4}%wg1{lgbhNqr$X|kq#B8s3k0!WzBF?pV0VymGb2pwmjQU<9s_3oSX9ARQ`agTKP*9Ej?Jb9DpLj-EI9?=ilrKeM&1>(HFEBU})K-hA6u@+j#H;|Glo2LHQEl}2n*X<%tu!d%pf-kka@li@1x==1y zfrNoIk!nen&AQ3!0U8} z)XUz25S!!LQ0#f-GymbSde>tO-zrfGR2N;E`D&p=cHFipNjoj5SZa!yW_#4uqlU#@j+LX}h5!n;H%&m7eE5MKMn zw!@Fywj_yN3jMomAoL*e{g*^~Lrc`b_dU?G&?RnmHV zqktPfTgmK2Atba!hj*LuDCU#$m$1iv{pdP5v@!``*!0-D=pfC9EJ?@P4o=MLF+mPrI&A9@`5 z-zK+?3+a#~6+v?R&sSKv25bdDfqW4$l#?wCt{6tp55-{XwUqx(DgC$}?l1RPqnFo| zU(_uXwN2*jl|6O^Hf?2w>c5&Q(q*kz7u2{KT(gRML_`%kJy}bYa9hS0AG+Ud3p?J5 z?O+l{@sZE)l1OOAJBy5Oq^P^DViPK1RvnqqeqOSh(f?ft?{4=Vn)BAZp8euUY=J@a zwx1R_Kj);oPo9l?l%@90qpJ@XLV+8YHQZ7YgIg3Y2F{}mI6X8uncodFn24^$F^83yetgX_)VXpUq zNF2|3Mw@6VWog?jrVK(JAp3Oza&W7*e z)gowBBXd>LPqIzi?K5|dhv(i*RLgVto!?(3xjI*va!g52&9TNr*xLC~A<_b#14&y~;C?(}Mu^L|_ zW2%wsC$u9~%Ar<}vdsU-AXy`AXma4{(22r}d^{W!%?I#ipNZ*Bm8@IFh|6JTYrysZ zE)Kz>kcZY|^8cZL=%*?x#ldw?gD*1q^n%bfiReEpp)GDI08eo=Z0?PWm4c(+iu9xDT z@E@s8;4<_VuTRJgW;3~d4I^!t4i^JxLPGK0g3?)JL^=_kMwx2B!C_~npf~BC*L|M; zFs&lPW!}LrZtAx8BVqsorM_NkIIs=TBw!3iK6NajCZVrZP>Lz)!}lGc{vBo*U&T5` z)(iaEAol^UqYoC{HxetyfsJwC2(onpkuN0`I|EQ`xC;^|j+=eDGH-^Nzj{t6A*3R8 z(xFjU-~vZ3wKTAL+|NhV@Dn;k!pQlF#HV87eF-}wLj7kjo`25S`-%iC3pFlF_S6bb z0R~&rR8$?L2AMC@!d`qRQexz{Tl+d`1)1q7XaT=a6w@k$f_J`6|H`i@Ab zDG(Fp+0Q|hl9BWD`|Q4BN%=C|p+6Q)S4K(azu~Xy>5JW~c^eHt?Y`iP2R_p_e7M*G ztog-N|5S=j!mLpi)&*r8ns0bAMeCOBE~&T;90^;^5w!1huza;}cz{m`yqPYiuaG7P zuyH>{5-et7)iLjX&V!)t;d^qYAU^c}(j?k|nw|KOcNYJJ$4h^%^_0-K@z-XXIQ=|ub9)bSnlINm;%ozx@8lpHUcdDy9H4pHk{jR@@7cxHPdhMm$l zpnng#b@9Z-^{0OqjvcK|Im#(1Z98RoNtQ?*OZmC~?%9b`)jJDa;a4RdN1S>3o{@S>!oKRJ z@$mQJ)f>jV9p5&mZlAn9`Sj_*r{=NNH{)j>ZhfhHQnb`LA<_A5>(yKc*W; zZViU_B=53zK3yIB@4tWl{?1(=S9gKq7yz@`UTKXKhv)%e&mbU7)XhV4Io-|HHv_|G zChD6mdE8?;TRPXnH%Fuqo{4c-F& zNQhMI^J7kpqXn#$OXbqhKZi^BOa^xQCe@~=WCaDq=uwvPl~&7O{GFzD_5citr2xR@ zzzi2;jYb)-b~I9Js5)js(@MVN5NL&MOn8Kl@Vm=DgiX2Wdd(%6zgG~KZUw!2ItDJD zg{2Jpx?-benK^15LA|zGt?+hB?G1;)#Rz(gNOQ}?8Cjp;rJ8HvMlJ2H1j6FJi{+6nD;7+DS;p&pvRQ?3}-_DVg&AolSMpTIZ0I-WTSb_fNM! zbCIu1_5W_WvS%1OhT(#93VSmF;C$6+_%cga_+Iw1kbqx;Uk=8{V5Lvsno@MSNGIMB zQK|IJRy`)n;kKagR~Ce}N3XNsf0e#!A^kW`YeFp+S1M-(|H@{`S;=dTfR8OteX~=U zqC4kn`z-C5!3=Abv(SV!Vzw`(Baw0=N>9TD8RzGG%DCguaRlpul8Kk^oYk_zrF8g> z>o*5AhxGUXgzd;rI&@dy3vSs{B0UugtC3YBpj@PQU``%5w&7 z;yj-WDt#MKffYM2so*Eou*tUOpT87U<;tA6*{yK^?C z`ONuusS=+PR>+ z3CDU&$o8PM6*3?J_FWYSy*-F3nR$LXYLHMheKpd6D*2uc<)Up+v1=@t8LBljsb?MFqXu z9QBYi!N#Brp@H&&XJU1zcsf+Wvo_~Uc^yO!m#*yzRoU?P98(aXeMG-^m|*s z_UH5a6(VNlc|p-qKG3e+NVTnW@WQ-TAtqvg9FFqn4|blkN%Eibu_}Bdby#JIX@W1+ zLoFX@mM*bgB(huFZ7}y;+oH+_z0cdaKb!aPVb4j4Bhzba(qDwRG||W>(rc-9Kx8E4 z{x43<_E7hGh0s%)cs&v1Sr3+Yg0=`eJC&|rOoAVwryd#AoGgyI#uaS^)7W4^_>^-V z3Nx8P2@as5@eyW{6hd|X~->Y#t zeSD3yT*Z%#Sz}o zgMJpP|NWa-q-Z*`yldB*=boUb*LPgFPG0EkyBigPt5|NESJsi+P|jwG7skZB>^}se zlIz&1)d`P8P5uVU?+1;4c3V0e>=;+Mn!(8Nl8Z*W(9(LO-)QvOka#d@_caTin0~j! zr0k#E_^TeDdw%x|vOSK9z1dyMjrb;ukd)SP+YHd*m3RR`Ri; zGN!3W>g(1+?G=hS-qtK%sE)uRgt}t@TnBKM=@_mQ6`o1fRBkYpmHJx*fp z;(J~3sVJDneh3bKcz|gwr=lC_Uk=s2o0GfDezlRg%=0r+HgA`w>&dmJ4Dq2nhk5p=JQF=`Kg6mBPEhR0eVfvM~aX^dST1g{8&+8XEUsL2T|()@ubHW`}q03?jC)q z7yfuznGO>FQ{=a|j5RzIdxch?9h5ZcqE0c5yc!bZI}_5g{0blYtrbVGw-x-$-r7{@ zXWV#hlvM;JIRm<*s%UkCR%sr84`N3bowz*&uq<7F#^FC|gw&`VojXTz!E zFBm*Uw9{gg(id`bhJ_YH2$BFPnzj2!q0LzmzEfc%^~zsESqk)Pj3 zan?*geGM>mIcOxEn^NPgKm-9Sfm~6#aeL+;h&&~`7AfdFKofWL*I@5rq?4jSIr(hk zH45rbsbxb6-4sCZgSz9mZofqM>A(#gfa1fclAr-{QBnnO(F&tK3_LDwnSAW$m-X-g1Ri6H#S9+t9?MJ&PW#1GLEu0aPfvV!7 zZTV(E5;MHuCooi)Lys+Qax2 ze3#)y7>w9B-gWi6^p2MF&*{RQI_lHd^d+`qLEa|z0G{---0efEjYg+2TPedOLFz^p z3K~rFDyRL_0x09ST5+baHIV{$@lQm~1!otD?)k(xh)B-arujy}?s)vogjK`2yD8^9 zuK|^x6d$4U`|5%903})@s6zh|x#?{DH-6)}%L@Xk2k|-EWFA|ZxgiVZgofO#^A-gJ zyFM{Dsn@l15BVdKmspoyMbUeVHcgrGiDqzu^7`6k7n+13N2shD;(JNGhFMefG9d|#G)v9DjZoK4)EbSahzyDz1uM~u zao?btb2laK+<6Z`CQfR!@%UOR|@_XdSZ5FC$4;76oGb3`IxJcwE zRB~7Fu7Pg&O9d-O@Msh-QSKfp2veiQ9nH^`;!rc9!DWSkyM9%2WWqi{;m2proR6-O zImZ>KbT)(n8_teRrRm?H>mV9nJ$k%vVJdH@unBT?GU696&q$9U>N7T}{YQDHJ#W8! z6V{p9`ho1$)PH+PylY#ut%kpC)y8e*ntGjJ;=L#JpWf6f%(Z>^+UATv4G`g6XaJZ9 zN@Y9LJSM|^l1%OOp2A|AcjQH-a!h3^z~Q;)5}QujKPZ;mhg6r9Oo)_R@w!VK_t&(!YEZrq4Mn@D*kua%cHH>WL~YKt{be!3sY|8gf0_t z>Al((laJUqBef5Ey>-<3(1!ZLu}a!Wn^L2O>o<;Y)qpZM~ntq?*q{g@J1ZZiNq8IVwpiYV1Dc_or2nA3B@ul0Di$hi@GTe$Ylp) zLJ`3>lps?^c_3bk4#5PZ2K>1s9Q1_S9l-c_o~MM4cBey6xvQvQ>sEIe5fbVP;;1EJ znwKuh-!fs9=u$LyaeR;20>;kLQ8N$Kx2(ozoX0B&sQUKt1Csd5ue}o?V3U1i6 z#Ptn+YukOAVT4pvChD1q!T-A($se2_V1sA;yszTa`1?}x=sw$2_@~p(x=cjnIVUVg zkCNQJ4zcH8xw|inb|HF{fiN+%EnG{-(*4hLaY0m^6BBur#V-g=4RJR( z$Wewu7yvnznIR2?$N)O`0jm&*rIWlYBmLObvJ~{S&Cu-WnrA^c%)0>!GJ7PjDBz20 zk#$v#Uq{t*WsauHEk=SmXtbE;GI^6*V!0;XYm7Zg9ux5vry2TcZdqxGV>j{R?fHd6 z#%}^9)T3Ubrp>$75fgv#6DN||w7VBO`_<1a6qRCt9<`O_;@p8C$sl!$m+~gM|I8IXI0QeVzK3i zi+gCc7;9Mm{=%z+PfEjv*R8(8(tz+$I9&6bFj<9@U<93%M5&5Py`M&1SQwpWjaEK1 zL~LUT$_Yn@C0TXj9upUZ-CVb)UNdYbC`Kj$lB_Q;)khbN?^(D^At&Y%$PqW)?zl|6 z`O_8GD)r{!L|N#Q%qReKs;`WOoCY9k#*%uh1AH!KZYNLv06PaBZJb>5P)PxI(2ot# z=|~5VMq;2b10p#ykOM#eL%ivM?mRm-O6g9xfLtyA#L#?6c3vxhcN4v^c^wq8s}qld z7IPTxV)HB83Y=Aii275gKkiTD_U#8=azBx zOxgyPYlO@ed0slE=^E8^!<6t6rX~-e+3^l>$YToU4WoJgf{b^ezz+DIaj@@qCYMH)VGg=3I=a1M2@je>pkyF-7UP%b zXNPlXozz4!`;nW@DUPNO7^ydM{RwFQvcJtB$F!<(r^q}81xiz` zA>SoBNS`+1r+p$FxECfKeJs;|5QSKiEt3l2ecrw|zPJ}AadB~FkNC8F!6|(orQZMQ z=>3P^>b^-BUHNeAsuTgU|J`waC3648L*uogeSMFQapt+I^*7j-S;}bpr;?Pntc6Lru|{m^8Bcz^hNKVd#lU6(XTLn=i@%kT!`$eR+kLl zdB?oWb#>>r;oj!>%`ZLSMta|ux-A#JtIq!kKG=LebnEQD6!!k7fB)`F1lMz*(4a+g z4bqRE-!Nk?=942mpj8RF84p*of;mb%fKLKt1Sv8Jx|Z6=aY`*T2l!PCaR4A&tGw@; zA7wcJL1>|+A(W9xO?CS7L0ffssv*<@nj9!tMos*ql~u7-@yhKII$rU*m2DFxixkgV zh6?#4^osf?t)ymE(;1Kw#f0pyD5);nkV3`Eq>p(`31t7mn5|`JDaePP3Q$2?9FQvH zM8?BAoD2X!&aF9F4Tcsasy`(LD^$nDll%)AD+zst2FDNlXRIlNt#-X<# zPAcR*ay5)7xbP-_W~vu$Z|k_4o2umGPq%KfTAo%5Y;KiUj9X}Z{60-K!eF($&+W-p z=j+C!k@ufONT8qH-XTT36nlaFHmR-n{9yhP-?QKBPxpN;{QzscX9qRnIdx6{{wlCw z(#c;Ka612-| z1YEU`&z7a7Q7jhyt%_1p(Kf`|F%h5HX5s31FG=gx#p&vmw znG*&!9s8-E5+C6Rq`r-*G0Vl(;4E@cqUhhcNSTa0>e~zU-w8!n)AfR`VQM*{6gP13s}i@p$c;th!fN z-*V?cWHXO`KUzBA)U)_!eUe7#chncee~nM{4=;U#(%3()T>WvJ71<5U`UydO{#%hQ z7}%Bc=@x&q-_D7(dVq*wHh;NS2)5}D%`$#&y|lpAP&Us2Y>vuH4_kFJToPT$4IF-Q zIul`~#N={4s{e>q*EG$-WbT{3iz!dWB#!1JD?O`ul` zV$%JEeaBLTmdJ1;PWNoIX#f1u@l-MUkAN6i;JfWkf=)jkoe9Xt|60j%u1XUuQ991S zlSGLYu-0G*RadYz@t$R#i^27XHUx&(MKW7ulU~{9lj< zNaAoCD)z}zs%t+@Y@BR&q>G6vP9yOhtt~fq=ta%a6+%+XrGD0AsZktx6Vt(>syGs_ z(ol{b(pT^S1q7S#)k8ScIC2Fs{`omPP9Re;L3CIzti#VO{2p7#pJ?w?51-EJ%jFPe>uA8^6^tXG( z=D(9P3TTVl)x5ZX%j%*pquAT~ac2QC0r*xkWGzaV%KUfcd8*)p zASli>H&xp#R60 z2geqNMf7>ojqBMkRnoz^5ZQmiuIY9c%nytBC}Q!hEfHqTpe7`gVAW)LI zrscvLoFX6XM0@#IMQ7L-9#oFfjmk_#T>EgI>5iG6?fVq%6_90wHcEz$Mx=Fky z9moKKqJFOy+jDo@`^*Hno}7NC9OLkZ-)crf+`cMP_ECtiqWv_&EV&diCU8bPe6?Up zitE|DQ?Oy1SJkx$9!ZUZHtF-qK2cSDXFd?WTuhvQ6@lCH0X{p`zw0{lYj@-Bzux=K zUvIo$wPZ&oF{l?(vM=8H=P4kr|AhO}{ijH9}w4H0hx6nj1bc5wh6oM|P97n zHVU@!@-(@;{lWfSU+}57ClkN@gy|G}*0piRi0@|TzBxHja9cr`)EpSn+%9X)riruP z6v;VcZoEQvt|m2!SBl;zutNJd)mdb<25NzwK#`nRz~msDRbe7W>nEX{cd1$~W(Xw* z!2AE>=)51Pe*gb}mgAg*>=%u~>{BZsvfwZnUwT?zDXwElgnB1R(-)J_?uf z))-Z2i#V6}2~OaKnZ1WV zVc*ZWxl^E-PEes2Y!)V*e{2{yL;X`tRm48`YtlqufiuhpVr^_TO{K#7dA>VoK58OL z4xo^hv?yTM5+XD!9PJH@^p}(COH>{qvyx9V!^!9UPc!K;nLSh30>7u;x$6I^CtF5w zJ@7DC40`b^>BUj)y&d1$-%`lizl;8YRSs5Okel&QM+P>p+QaADw|H|9`b?M&;a{h2 zD~H*=>&*Kn-%S6+)ZJ(%aCSpYrU^)z8E11#axgtWJDCdw0AK;5*IPv>h9XM!&Mi2u zcd71bcQ8C9m@ypM1mZqYy|(JJ~V^l<=zOF|3no9&k;UoQno%mdnlbQO!6Z z_J(L3AqXaf?X4~wem_%jr*)b4X&Gms)rw^@>cxc;G-;0aKkXq%?5$sGS$DuK#|ma``OK5` z5<);binAQLM;+>-4RNyaZ?$H09eU{45ERf6(N2{>DT+_wV*Kx*O~9EBni8w9Y>SSJ zAOW$3^crI7&o zLK)RJ*j#>I9X&#^_@vZ{89ghl9MdG{*-2H1L967Se$~|EwIbx!YpE9`pfCEgl(TU7 zleXOo#Ml8X>8PVoOmkydusSJk-3@|pDbZ0c3@_hu(idwok$3eTY(Zz=;kniY71VIJ3FnIpst%oMe_N8a7>W}|m%{Frh6hqX%MU|&_Q6_8mb}UYy-AjaEBK^`j zvu6qQe95{4Yy&{qgg?{6Y1=qcOGaHz51W*DrrC`8ceuq<73Y&L1<^0ggE|}=#I|kZ z+>>3INjer7xyf#oVz5#W$WNpv3P+bGAUG8GAabs>C8yByz{%{HH8l+x9iyYd;#hi3oWT2#nhk%GLL2oj#^v~T z5WA7q(>zZzSuh6x&ACnQwFD4mVSic3w1EX}^Og!r8_}wHU3I6(ZS3{J)XTb%N*mGU zsgjn*-M7F3LJ>#MWwOfM+Bc-SH(rJJp|&V^*5sC9PW*|78Q`hIjs@NC>|Ch!T+sSt zmwz$Odut{q8A<>q@4t27Sy8?2FgW%lruhUeOQcJ~%N#}x+W42W(Br*LaGCCD(#H2i&r}|X0 zDZpBvI5vI|wKRXK7S@y!ON44TjDGU6w8hr2%|P}z3XNQ_gf`Awm$4~M&qpR_j3Hc; z+pQBYNa$m>*A#%Y>B}Es_V45DgIDQcJjJ|-lqSwMziW{Z#mMtxR&9T>>%DX@*wi8p zik{*Le@E_nvw4wRCfjVSeb?XkT)EYj)N(?scL+wY+%I#V2y;)zCxd1uQM1-TGLC%n z3L%BLUbtj-QBcHtz3AAf$2)rc8YLM_wB95r_C3;L9)yge=#PK}U_b$kY}GbgO((sg z6UaTUIuQ(Rv}}mITv{4MbvuGyvbY=5$%efG%8{gSVly7(fWC$Sps+?ge-3SBG8k2s z|JU6EwO}@&Jt73Louq+`3avT?3ye<1t3u8kDqpA;&^vl=cx20PwVx5L zXwc{O%(74A6xxcqXd3GI2krWSytwz$em{NiiAhe`%pyk*>b{uQLz#Dg4%bI#z1T>P zsib!uVyMn6uYme@p_7wcTqlM-0eT)QUcey0XjhsSF-c6vre7@0#WT-^mo$jZ(_&E3 z^K3r}a>)H;;`CBX8BqF4Lk}olD;mL?msQmv4Ol*=rxtaPst*%7cMSEy(S3@+uMv%| z6e{1yX+?$vUuXZ5srg(QS*W;?#kf)iXD;ZX2^ff1CmT_SR#w2Nl2_%HR=)B5p(czr zzCe?rOx@<;nm9=MFhI7h|L`r~w)X|3$3N(=8y_0p+%uhl{%*Z^ezw`!miTK0nuo9s z#=0Tv6z*KlZsSTJ%|f>)pS8Vz#&&LHouqK${*3hR7JHG`vx*gX#|nomC2YyextPa` z07i-55%+ zEn*|!J@eUn2X}Etu>d{y;sBsFK%ohu8p4KmpSnp7)dwNC{V|oHCL7mmi z!59^TBOB7LJ;G>W`B=q~gl+c7XUYC?AcO_bD2L6clOlnGcA$?6aen z+Zwe;lJvMtj7OGDxWX-5!et*y=3S{teVAm0tsz8x)T%AK0Hlq7LQ5QZ7)duYWN*3C%|d_b>i<)9xw`oO68^OFXoL zK0W(2*y1a9R)B{ErBxRo0mBlTLL@pvq9LCLG*)wYLi2NFBpg>o=aWY&y!{DL<6KWp z%~OKTsLGG&%UL{W!huyiX+a8nQ(k;$EE`hLVF`r7U@Q;;15KRdQu%X0Mw4ix)PpBM z8CvfZngRhZMp+>9-~zV1=a?hesmZb!vfZ7mv)#FrXY#VRHCG+|vWdlfr@5s&{(6ej znRK?l>%!~);@#Cfr57>F4wbp|iz+I};DeZt;wjS)J`@Zgq0z7IkH5joMLxRoN$YlY zgsNT>pHMsG9l7`0!#9_GWxhrNbLxhykryI=P5_NhQLRv?kLLm&#KZ=It?r#fV%EDz z&p|dHkUsNNRO+gJCy;IJj>8tEMm1j)D^eLp)!OeqH%SkO7@u<1I^~=GQD`>?OUEz0 z$1qQuz(GUHG<1%r2*~n^E_p=^0AX$mks*l@ors!ARC_n$6ryj&!%r89L0~3uov5R4?=C^Y8WOxXUx6*9tbTZ604E zH@X5#j&?9{NgwWgN{s`=$LW7aOuL`BgC%g+6FII%Lo5vOLCIc#B}G_#()LD9b8Pg# zNES!+o~(IQCfHwxEqayh3^^Y1A4Awe7FgrNVKm(mTq+0ntr~3GoGPMl7Re&l5BJ@H zI)r7IfR%+(>vGFF;;_zBCl9 z*vuvUEPrw6LD<39h5sI2eK1oNadJ(*)JlK45Jj@iooyNj`>!%OZn5k%g;8M zDcXJ1;cA)+b$a3>v-3vLrE0o3SNYYh@Iqk7+k1tD#$+-yPN6h&f{&pi+K_r_f^$>nu>dqhBL%kuI+dB z`mvYkTx`?lsgd`Pn`^AnUp?4(#r3xF)eS#$ZcjzGawKl#pdn9I#|aSrtd|0zb4l9} z8B8L90%k`MR#4#CN0;ASt$x6V&AD!Ta=03)>uN*99MhM-ZAETzk*}h7Q_+!~rz~U| ziw{qe*+55TqLCv9RU$E{7=#LwQyK!-!PHF}4OrqO?FC77JmwpTvD4{Rg|#kL@~s0- zrmDSoXWNzac0V(j^o^PGh9NQn&ZZ&i{O2vt4URj$#d#Fu*|Y4~E(Uora~{+B{erh2 z9szCxY+XQO$_?HU13uS}AD<@`D*u%AKW_uwD$Dh#W)n)2`6(+D=@8v7|C-qUN)Ub2 zmmZ|jjq{9bS!fgCwo5#q^LC$|VpqHMy+c0oqV`m26o|RgE#(o=Z*Z=5LtWzXLgwwLQH=(Aki&z` zi?P24FO_ABH8j4uV$~p5Nqekn8d!E9X%2fn|FAzuPd{NXRDE}4pwVuiVE|?C@E`BFBxQ0?H)(`b*0U@2qib{&^Lui}yp+FL#}b0DasB=bjL>}F zC`_U5XW3L3F-drdtf?>$6r5+!tXRZ=CxE1=N`k1|7zuen6dApKz~!vJ27xYsFpM0q za+D-DkpN!WG*j$)p9Mmt8ZxFIRBAhLL~FJuoz~1%x?~75;(3^aM$C4?ezbA%wLs)J zr{tm}peObrm`uSs44Z~fAAdutF%koyNOfmiY<8|l!%!vPDw~L7qNjF$*B2CJ`V&=0 z-|xk3bw%b_Bp@$~yQQ9&_Ah`4-$aWa)*RyMaP}fo+R~Cw*1AtCzm}W*Gyh#&UhOf? zSh<@FDyBK4IlWIt1cwM8_obX0YrbU{k(W=}gc#u33^}yPCjZ|+?tp>0ur|g%-$X^r zH=zn~Akq0Y(T0N+`1vLiMLGi{u)7J@JEF4X4kg8m)S`EBW{RASKtvsZCeukl$zDt6 z#W2eG=b2C})2OTBn|_byt|^GKa66E$uH?F-`loM|H_h(prV0{@X3ii_pF0PEZM5)|}_!Tt?3 zm5uy9g-4!pda6+SoRTrW2{|FnCJFZTeGh5PN!C2D1GV4h4_$ipn27x5TokjZR>Cs< zT6}{aHU*lAQ<9;K7RWgU6%~a^vGpeD$Ej1`nqrn0)yr&o}$Y+;?kflKvBo=UgHpZcr^5f-%g@aH6qb0?UjQ^>nQM zMlUpdtyfB%gdhn%(t5GF$XT#yys9}a z3NUjpqR8|XC*_B@!PqL{4PpS3Q~&y}P-+V2j$mghjA1Fw!{wB%#;0dqGT;s5N@BIs zp}EO&>&y%CKf`r2Upmg+i0%AkRaO1H z8r0thU+cQgXNs)%%d^2dCMgKsC%pE%rN1s!T^$@mOlba@uX5w#A(i!}Ve|C8N`;H? zoa3C5T65yX&6-TQ;u7%`XXT)m57#qvt|M1v|!&)0e^iygo_zCc_Oa8;c1&t`=Zy zKn%C!0|4?9Uff0wGK-Aln|?ZlPPBZ%CNkY}a*aRQ!Vt>hVbI3x#`$tbgx>#s7DC5P zwCe>kePg!Xe|oyEJZ`xI$}+DK`8}CR$DhQh*UZ#_l6$@+>o|dw&(>WnO(>gdcgo%2 zY%Gal+ZIu@*E!kd?U;O zv|T^cOTSOU{UcEQM|wNL%8P0bo6A`escu(Sm;j13UK9Qi zXCBCD*Td6UDtpudP^)tiocGn?L;~Cq!xp>_(Cp^l<0tbE@_}Hy#TDNF2nG zwbl1Ds`82{TGtc(QPJnY(8XbutZ#RuW9>d!Pm_>aMcwPW+E4A)-*8o&zr8`1l^*N) z^S;EOo)nO_UjHbPze4Y~u%Y?R>yw$+!6v%3|LjbYrjpwbe>aOh*|OKWhRQw~3fn`R zynW$*aIqj5$Otn#1EbzkK}QKqyXR}b zP2jOixCI3b03q85TWmm)0_GBo30z5kx?#&nFuETHRypcjKc-xd^V#O9GG8VRq-?oTX&B@a3yUgk7rzlp(I}(l3yy|4WbXCl-Tg|f{p{|Qfv;>I z%9Ks^$0sc7`K^ol4@-={>3sNhT=G2}{DUjc{>tD>W&59oo(Uwlx_jyIKZ#$tRZ@@N zIvMt>H+^_5#@iUZ_(%Bt35Sr;xf{3SEPMZ@IkhCa0vcZbFTUm&vOv5xsJ7I1Dz><8USKW}_(*l;%mh7@(@^yRSWn3$C;$L$WAbk>;pGHT zRG(}ZsbT$m2tZzT=$Tx21SVq~fg$0byG zrM~A{n1q3)ZEuTvRvqdmORPZ>vZ^Km7Nyq8>vBI_PtKImtdSC*o*X@o_P@niWB&pe zD-IaS>Q=mJI$8X$$8v%>HnwhAMt*hoJwd_Om_-oOy)hHqO@Obz;h1Og1&w%FqLy-n z=3>WFE#JL+JcQ%*(-8vW{0Z!B0Ax7E85P({6b;TXRgsvH`3LT~2B7sWSe=lde|FnKi9m`` zO*NqiY<$Qe3b)Z>N}!$mO{ri#M!AUt#02AO4xM%rT9df(_9vICmECRW=F<}rYgWI@ zr35cY>n7PyE#VNO=8ZbJFXyqOH-14A_Eyjvo86{`T#hTB4Pu=91)P^#17@FWr-f2aqd>pb`Q&VjcqdX=VSE{y=wo+l{k1Z>73_(L z@SmJ!|B+t4)^zzJLu3>Iu`h@Zk~P5(Wc-}ibM+6ZS>0dQHiB@9W+i3sVa0xKhnk%h ziZ|Bk_O`iVI>c$2OI^U;^H~Pow%Uc#7c>K@lsRaRzd!(p#0f(xbGV zN#_qP3QTngWo~0{h1|InIAA!`5R*3e-SSrW;cWg-G;B8 z-rQ%)2oV*QzB!PIAr~nh0R_knn(QxN7l?dqhBWkrY00R?0u5_BW8fi7Z&&C%rDXoH~pM57CeWaP1f> zodvhyzWg`lj2f+^$69ZSzzleJ^qn|nYUV^wEWV`LRaBM}`$%6NaDuuB1Z3iupy}}J z$#AoRR`<$QR{GyW zv!&YJYn`NzAfumX0`#s}iTfVE1;xiE7h7b%`Lc+pzZn~7CvW;5>mkg2)O%)$+gXzU zXI3cs+zr_W$V!8Ubt&!RfbjC6#(gsG>O8~BOO@1nt@*BMw;>o8(zi-RbR(pLKub-0 zpb-SPc&q_QKHRbO@$Kgv>p=3CA{XSNAq z@|A5s0z?30gsfaQvX>S9?`7-BXO!Pb45WP-+p`^1S&_8l=HEB3eAqJ(%jN`nRF$v0 z@9=&Ad#f(;UR~kPoq}^t-G}JktQ31>)U5y}x*fDSM){}u9%g;%c>Q$MUHjhPLb(&^ zr|m%QAdos%24p6rlzlgLwi^_OVGm}Kg<%9Zb90(BEB`AFDB$7ralq` zv@3Y*<9L!%*+daUnjmw`kxL-Sj8?;CS_jo-(dhF@QNMO^U@Eg(b&;XOxab|;HaZIPr_#=LiY3u-5Xw^l!YB0qgJ4fo#V{bmMy zV5r02AG%0I;h7%G78!w%}*BkCd9T9pj4lP=d?!u9S-4f(Y3mqM z+K4f0>hU_1In8OUI41kfVt63-T74B1{3CbIq9)hBf4^PR>pM1o@4=4zsiESaZIQKP?rxB!q>Mw`Lce`9auaDa3S1d zh~_-@(l`AnYNJUjwq9-TLyx>$#kbOm#gnA%jyrr3v>L?7y=Q8#3Y1XMoSy~7)Lt+q zGIT@tr>>UAdy9COFbk5xDo4K6$5!Q9WUVVl_s15H)ucl_|9E_g*`lrRuEm;bl{i1S zea&-?H)1X3mz2T}%*Z1E9v})xBFy(rZzLBlr@51QvGFX%E{@~d#osV`=RR3@7I&h8 zrovaW?jJj;KIm=S1<2Bj6?d6@CixJO?IY#c0UllsP161m0)J(ds-ytzTX&(UcI$B`ny*8fL8eQNp5N>A;6sbE;tGF)*zW{Do zIA)em=MX^l&W^p&uNhQX5lJ24r`cxZ3&x(b{A(`Jko~{+@P(0T%OX+zE;cm*`&VDA z-_BPX3tzXp6<=ch1md@-@L}orLA;VN7)Jn=pC=0}-BzAwF}n@V+!?Ke49(_sRAmSh zWqo~kv0{S%cXg!k8I!)6O9Y?ZwJ@9)50R>=Pi;)J0?MES$Q2Z+tU8mE8OGJi+HHLq zU({bW^=@r24Hglgc`k3vPtEb)&|TZh(S9-vRix$hP}N3)!#3H*Nb9QjBCV49Hy^f(`#9OyIZ`@$OxRd% z`$|e38D7WiTljx|72O`)yQi3l$N5rNV_l2;vOz4ayI+U<|1O>A^(ezYbq?sRR zTc+-}Ir}ufapIBzCzUv!Zh$XS7;?0*XPH z-xvv=*|fc?6S@8(eg%|XnzV_Bl%2=MPDSOWwMU~RoF7( z;A=q{v7)4x%4tLLsx^EPi%m6|I8aJ$7QxDLD9^WiO1j8BL0-0{VP|ys^obd#A_^B>(E}W2QfcO3%@^&@sRtwHbu+rsAXf znzJZLWN=OJW&yu~yA5pErFaZ3?h^;hIPnT2edN%r#D0Mf3;BJAidXJ)PMNzZV$og^ zj1?Nc(}-az+67Zrs4B<=bbi2fssUQ*-^R6geaUsgF&(4^-tU}GAM+Z_GF5WiJey6r z2nwqvZ_PR5jk5@xs&(NN-5rW<)xvcP57@7e(}$0t#G^(918xH!G@xIO`-&~PbcjmK}#_^NE_9n|Cw zK*?^?N$KHpPUrNFNq&bj&wr-tY>fr~ymMdsK6Y1lKmpforaA;qrOu+mc(ToRS2*0& z86j~@xfaqY;=J+f2_IpOL)?K0iOES;k|nWelp7&9n*eNaGiA##fR6HaF0c@pBD8HN zyq}t)zL}%wXIsOYG+7qg-Iw-h-q7F(I3TU53MUjRpQp^*mlf30HQ(D9BnJ0y_*~Ud zZldrlsSXPG$I;wqNn!y?er9f$r2irZOefIfnj;Vk~0u?NSlI0G1cKR zs?WW9R;{Dk9&v>tyfq1V)yW99y*Kc|`?oQh!bpv9H-N~>oINI9rL(I?^`R3M;+}&=6d4b}37P^9?G;>N{U1yIeZsJ|1K@6T;f#oPGWPA%G`?lvp`kixUTs zaLeXiZQHJ`wu0-b6kcmeE~_QT7`VqcfM6x5gXm@GM5rX zJO}=DH&+Kg>oZnqq+7A_#?clikOhWA4M7tFO*N$~r)ForMApU34rws1bLH7-5oMzN z@i#qlv%C2l)C8oz-Mi*|Ftl#U+h=C~NO4x26iHg^a(5~eDF_^U(!6$O+F5Zj<-4l} z>}%-7SKrmx*=EA5@m^7dAC)bL<}wQLR`h zk!$N0Dkg$JLQx>W;uVO@_E%m#CIHmQ_i&_oH_Cm4%%ZhEdTn8@8@GD0;B|mQUJWu; z)t*EALpf&rb4(He7^YgaTi*OvQZ@cFN%`?oQDNwGUxYmcvkZA_IM_NFtx_kkapqU8 zaQa?Z{dLKFr&IB7ZB@)G9rN@#@}!sQoqzS|EpNw5i73S6YDuqWeQP-1Bj7kMDJENY ztac?I(-n#3VAQ)6KYX$KDr5`7>4uAnV3OGGD8IucE8?X58iU&KkpLS3r5$JkUvp9dPG*B<(WFp$b#>?ik#7%3EXTkB9 zNVu5jZPBjKM7%^)_L=m3)2+1yoi5Q}e}})jTfamEtekr3HiF0c2hU+si^@8+e|`jQ znhU9*dtS^wap!{Bas8k0+h_6hv2I z5P-a7Gd9ZPKH4pM%nQ&D@BgU*d4Z$r(;D#cuBCkCE1XyK@u}bgvHZ z*s=Ia*j90p^kmYLijxYf%whhd)PCu9Xx37usNR@UD@Bt>XOvI%++lpojqe{#6wha< zJo&d&y50u=hBESAuNhQ3$nn_tsoI?fvc$ErF0bWPh`2 z>+B_cnXlo?4v@1x+5FGCu~j(<0+udcfb|=M)%73w2brY?j{)}EHS$-_2_F2f+{=Xf zj@zx9#M;-p(8l7g@*PYv=L(s9W!D3?= z$(^8|4LHgD!Md=o5=W_PH(Ms3%T1F{ZXKoDU(Z%K7D}7+rmoMUHUeuf(-!M>_S1=9 zf8VqJV@LVZeak_idh7S+t@g3MeTX7|`F~NeZz2G^S64sPoB{t{=Qtzd)W(3z`u#5| zOHF!^{G2QhArY(#=Ga`};f(^mSP@Mp@!T|q0wmn&7&aJ%1w@0))3tJH!#!c|?%4vM zL`@s!*Cq+^X-ehYBtF=x-d{2oid!U|go+t~2HfFdrTuBCsgAR5EzOB;1kKf894{AS`aE zjWoC1f6J0@s4M(&tDiamU^SwuQWz>5$}vx7LCWAblE8B&oT>~{+=c)A%43v-XR$C@ zbhkEulm5qe?NtDlfT)`SImht*4Fu=l9wLbq(xCtx6JoOeb(&P!Vyv5ez{Q)wSKfq?Fl=>2v(trrHQ$64C zk*kyEr9b6V3k_#af-jIXXAUHHHm>lWneYvfmgIZ(%usymfr&4kXabV>8g|?_Nuu6A zdRG05HIPd}t#V%bCP-=oTOAYCE#-VA@xD@ckg9OA=C?7VmZeBsujDo77T6%_@4nRN ziHh{C?AgPbGxwM`gP=SClmveghb{(ew!+pOiMsg(UcSP!$%J<%aTUXzI`~TG8N4m> zPDatlu?hYPrdAAqeVLuzf`GKifS@qiR4{#K=3G{PVtJnTPT-?F5^64q?=OIBo`7_V z_VWaCtrJmWLuorwXYEM5#q}N_$}*F%eE9L~zSDnq$q1Aj(!v$_7jpv-#bk3H@}l^Dfe!F4CLP;;P>~o&e*@xy|d_H3J|PDQm*4JSi;Zqpz=sxUY<)uf~jn zWnsIehq~3%LaXba_$>$k00H1aM161OC13taS680Br9Iki!xnZk&NqRmvD|43M z(6P>uHw1M6$Wd0|S6BMyiRvyyRVus`BEV;&I?y)CUr88_VMMPp5iS_mEP(Z&p~<>N zAeiTjgB9Nff=!~FXL=0`-f(}HItRVQx4VLv#UNL*T?K{-i9gS#Z;RA!a4myH-%CGf zVQrnHqK_VO=i;E*S4{F-v4KJB=0% zzTV2s-u7$WzvjG8gSZwnqAp5{bXLoJ|7kAC<>#B7pO7YKu>!dI4f_3!paKOk;;Xdi zt39~0&6&yEUW(q>F=YCPgjfS<--g5sb2UhG zJ$HA+3m{Rw%;c6O@hS~_-rYX4@i9FJdU=;xsCN52&@kAQtku~eOxwEP2a?*Y&qiN1 zeKi+$DN?QRhg$s)wc%d$Sg+YXi&~${*E?LzUqxA9WG#Y0$0HgdKRcqv-^kcW9~aq2 z72+ieQY4ZGkm__n-hp!;2~u7pl`_{$^L z*eQ7}47)FrCvfo7%YOd6CZ&&z>W2pmEWbXB!TA^_+W#x9vxWUriV9&XeVw@9w|g_o z^}qiOnimP21`Fkh!#%~2;oRE!JjE2TI8&GV7@rwYbnt80BlDy+>Mf8+-w&^EnsO}T zjiU)|G=oO^X2QAIKs8FP%0@V0tnC9Ilk@2_l9&7aFGqJ?_JiKun?@{hr@kSirgX}_ zV6=)4QnbOrlBrzF%>Nk~<59S`yH+qdfK@OT)-@b@6ddGZT+wH)DG?)lu>V%iIqhVlRTc{Ze&d;N>{`qUBO z7+-jBRqk)mvt>=WqqpWw8KR)KG<%`xCKW%=y-zWK7%=AITaSSGMtaIIo$Y7QtjgtO z2xkOQrfRQ*4U60);L%b}1$6bF{P#5d@ZG}vm%s27FqEQ*u!3fwCV}m_G0X|T-cTz* z!#rG%ugvuWw2ed72iU(qbsMo1q;6zqY@cMTI&kq{S6~J}Ha6 z>t^|0it|)Qk3xfczJ%Y6j{cE7y-ja$VzungZfrIE*vN5ke_ljO&iDvDgbUe_=>M}W z%q%JDw7RMNB=Fg9==As4Ds?bS0@c9i7pYY*4TjE@%KnSQ(^*Xu<=vN(uqei>-J4510kUOYH@qpRK;TipXp0&2{)K;^vtj5bJrNl)}{~ zN~kkEQmMoIs4reS5LF|2pbuG$wey z#Wna&UprHcz3BVanPWfLIzyPn(X4BQkY$Q%;CTIy{d+Ipc9sMYl6ct**$0GK$oF1F zhT;@65!lNf#pJ%X5`AzlJiFF)vN)NJL9JmPl~#){uL}QOko`aysP16AgSeXxdx(23 z-%G8Iw7xL|3G^94xLb0h#?;@Z3(NO^CaJUl>6w3a3@+Q z&O~)b6qhc>q`=GC8aToWZv8o(FY0|Qp|HxxB39CL0NpisXRPsaQpwkA4SLV=J)5i7 zgwqWLPiQNWGH+S-2E^KuH86AHpawPEeh1-5I5hX96M2jCPpuP9?i#cCU`naYEJ(FJ zS5#S-FusWa_aSqER_!JKLBmK;5e(Zbkr&{}p}7M2DXn=o5B#PXxMEgm*~7KY7$)Zm z%aR1V#pZykh6f)nu~T3kkI%R!4nDzNQo1y|y;VK8KDx%xhdhFNdM)(a@p_xXVtx;! z<;66u7qgb~?wrj(HIJSHz8fd`Jnwm@8e-hHdhz!`!_?V`La)5}SMM)_mSv1Cw)}ba z>Am-ZuKi|3jX`Ux^0g1uE0Xn#?JM5J|JkiZA8B*A-T74GxoA(?V9JC8S_8h^we>sE z(@9dL?!S;2Q7yZW_WJzz#A*Og4lEO(lykKo4Wuw|(zZ6_`U-GJmF6S?0Nv(+Gns`=M zy>=)IT_3-m%6gW{ooAF}($z$U3$Sudv2gXxf%K{854z(omrhjZU;kY$%eVPDSUY1m zmhQ6g$oF9rCkjIt#CUZmI0{n*J{PolcSRJc4W`dO@a@fcTr-F$ejGY=@-X1K+g%Z5 zEsRFLthFtj(;iBaua;~>h}(lmI%84?S)%Uq#HYE%xFR`P)mTYV@-Rx!NL!3ZPMVZf zHi`hW(4^RsU$dW6XJQyvC<|;L2r38UsBDMEoK5^)uOKIw$##`0)|Ypfjid1#@*H z2@IfoE(jO#M>n&*b>HY=lNAat*s3p%J?^zuf7C=Vgkm`lAw0I2plpb*f$5Lm|9$nVDiPav|0pJO&L zEa^KW&-?1j(Oz%Nl_6clceHnjMPNgVM)nCzT2dy7`k>%s*G-|Bn{Nkxn{0>?oq47B(0#%=~&P- zSIcnddu^@>lGES8m^aMd(c8lV0OvkzV6nv*0L6GZ8cC$FrO)+s?A z^a35mHLn05-*KObnFmgEN)dg*s29$ZS52Mjeh6aH!96%ZzJ$XUcc#`QU#S(aHr~9NdN)@LkKBtu?+{20oZkr2y3htYT~&SYXNp0d@!+4G^6GE;1b`^ zodH?d>N{Pnt>>?OcD-NTU%u5%(f7^m6PUQnh9_RqZN-_QEif8XqMA zfDKQr4$+jJAjje@E^mjx^w4WhuN2lw06q_Gx5;3@4}zpx@^hWOKjxZ0w!Zr8V};|@ z6f?#olGM{>nOD@FY}3p{bp$0#_p;!TxE3+V!XVLdyx_6e9!>mOsWNw$+2r^x$0 z@OA0p!ATo7-Ro2$i0wu3iL0z?iQ^cmzyXL@C*Xsay>J=;rrh43!N~xCp;(QDCo%%AK$Of3sH6@cui&tn z{K=6+O~(EY{bLOW=-LAkdDqfEqK)gyX(ROm+^W%+KkcB6&S{w{ zgcyse3ybxLpI4qXtJ zk{bNT7^5AHF!&zsy4ou+y38y7z1%$E;#33aNpq1l$`=*QpaPuRjKwSSJwS-zA`8Pi7Mml271tosfYKz4{vu&`r#{litoKs4NYfn3|{;MO>6-%pjTAw zS*gM}3}kpRGf=-cvnonfy=2vr&4@t&M>)WWZAJ(kLXuJeAz5@*rHCY^=mLrY2)p#1 z2v2nmdagQh2Q#mP^(ES2d;@Gg@xMlrExa(l6~w!4G)9E++||&V>+TnyL)-)`VVd?| z4wwc-^VNj0ECj71!B-!Btz)G$ce13?-7s62)=j(5udz4Jpj)q`37kHar|7FF&DDDQ zvk$wYMxQ_9?e;^>*sgaPKKz~jd)rZtzImDazYs986?Bn&_mpB}yzryGp$T6>!%g9? zx2^J`vpGq-0=H43D@-Y`pH!0Tp)Y;WiJ#JnZ{#Apl+%1T0yfQ*q*0GK>e zF654qMvPWK8Tg3EHwk0M;i71POeyj1c@stKU863A#>lY;Ka$}Gz1(FEv=d4HS4$J> z&O#yI5bwIFA__d0Bv?QfT^H~Fm>LULjGDZ@EUDglec+cSK4oP29d$M<@t)kz%cC~p zSVOr!-RW>YFX$jt+qb<{(eG*2SyF3P7w5iO2wq0$td#je+-6xhL}X%xO$2&Wr!#hm z_k6K>(aF5PCnN6Hr@_J!Bm|TYx+WYlog~E};9~k>h2tgVz6@94=vg@Md7&_f+b16+ zzp~<__Y177+h&D;RRA4y2mpty70l9_=td_Sdp0A}=>Qa!cp>|O%3tv<8zaH8wmTA< zj&KhTxyaXv9QUjeD=$=-F9gMFKD>MQGUWAq`O3qCf-7iV@yNMh-jgg8eOiLW?J&k1 zU{lUbRh*HzpTYRLNyj%R1<%kPi}ekCA{aVM-g;m=U<lsq$Ytof8l~uj#Q< zz{9#*OIKezJLf^r^m`A80~^|J(IafzBdR_|;0$#ge@dR@u}g8e2FyFe%SXriZN~p^ zDE{nGJo`5<__e@EMwBdxcIR!v{kMU@9AFsk^kX^5>%wT!OX5s9=j4G)^mekQ3?#aZ z<2BPl)&VHomdLUwUEF8unMB-t=#!i$9>#po8HbSk zX_1jDv0qM!{vSo>{gCAMw{bu~L@?aAaqqp$3fy~ZrdGH$HAiM@Wgu$qaOTdfIm+BS z#GMOG%^jMWwmxLbmfwfxPq=?L_c`x#uIu&Ez%Y-8h%SnD2;|Hn0UECcBhVETv}6RM z;Q?PobMdgoNG-1%K4b%dwI_PjH*MWFz!Ae*iih)<0a4-L>?Gp5n$WMVs*G<$I+WuL zz!xVY4wFE^hzU$dd3}<5`fFd)C5bCqVGT}P>fVV>)tuK7N!{9UXLm?zu+wlqe}BV5 zHCaxisa#g$MBLMN;gZq-8#%GkaEL=8Zxqzr6URr|kBB+AqiN#gFMF4aWhcobKjZ=V zoq*1%v0kIIKU72SR)aFBA^zbI^=gY_UKd>~P^bb*Vt7lTz?daKt?PBx(fIBNp~e-s zaUi=q2I_F>%nXV(Cy+IkEHdY1NN8p2vKN`-gf%26DJDWCc_OOy;#cLBYDx(twJD>GCIPOC%9R)A*4S%7@m_p6GTSXGZ!wn#FI zyc(>O22`X0Ay`08B%sMF3L$VV$E}uduV}yE zX>ZnH4W-z2LXa;1WVB+x8DA*bnhE11z<|VPVtb%TEsNh~4##RZhnSoln-|C6i83rQ zf$h1S_hpo{VS#UvJ8~gLEt`wpT2Pi$ArldH<1)`Yo%3~I+_{C==rt1Lb!MD?=5irt z{8Z%_FKePaKo-wxx0;ovFE{hb(fK5Tek6T*m0E^Fv5vh)WYNtdB`i{PSaLf8^D052 z70zzqkOF5pJB-C`^tIGsfC!3pwiBeU1`7qi?CBRlt-w-oA;_q_eKrdLz~tpANHMV2 z+S$`gV6y^>vz(&IYGOA{U~S>-H>yPxI~3Pr3D;kj1>s~?oReHBAx;2jG!~XffIc7r z(Bbf-HKb`CQBW^-1B9ew9`Djn#^&J*46$cl8~V|lLCZIab?skOAnSjkT7IC$nUV_v zVv2xhdf7NdZ=?Va1DK|E%ck}?_U^Q%9!uW->+Bu$rWf$$VN3RUZ1d=K_(WWDVMX)w z%jVhlZ1eBgiZLy(6k2ler!6zSEogmME|#4_!N&!~Y8px^NMxDsAa>n6NwGq_3~0v# zs3E>;niO%Y_fX;bm3w?nQSFL`1n4XvIg1P`Vndhq1{$=od>Uhc^t0%y-6JyhSxU8b zJKD7G9&b1ZD+yMjv;1sl)5k-bj6v=dAV)c5=c_3+kC9oBoP{j z5le0reVJ{&%*i@xDk|PyR;8!m4v-I?2)P|79g2q~0!oZ0fDg{z?r&wMx;NLivRz8= zyle%pVX!?Wz*1L#;s)3T1HM4$NiFHIr}Sig=*jHwd8pWHPZnjeGYdT0ueU<9gQ42# z!jFTY_ZYqL6N*8$e z_4>0PJpq>s1A^UE)jjc%y(ffJT z0V|FGbW~$2rLY$>1WtBbq^we8ra@f{B+?5ZPSgI5@(O8ndsSqpCB#~ShZ9?M`VYFA z9ovikwA01Cuj{&nJXaiv)Sc-Hi4HGx1_&iz5A_l3y9ZzsL$JkRsBr*l7M?15mwKAZ zMD+nkWF^1wgq+veIJj@OMW9c|C+SB>jpZY)akz=k5vE07z4c4)X)q(%FW>ogsf@ z!x%6hM%2exA@I7>8=&Rl4Q(ga`~5IIKCdNykL{*pE;6ktT}8%J>rg|m1w5Wi8v zH|^O<^~%;bQ<;$Nn|QA>J+}A?k!T344oOUJB`bWLQKo!G( zpR<#&?3b00OMtl@#GLqW=%91HY|7lXJPv*h@lQ044~#jsV~#JFm}C6>&kT-V&GR*5 zD91z&gH_dSdylf(+vN4j57TIZUpTjCX#aC~#Pc$Ck;0wPr`j>bP7a3$6iDTred-_5 zA9OHo?%)}(=6GwSUndn3>#NQu31OH&3sg^v*r~_Ci+;Ml@@^YA3u$EsTuon@G+{91 zKrHsWn&-%a2h!*zeu2GOS>15ZbyNfJ4(QVVL#jdZAXiqbYm#{iDmz7)TX_|l40 zy3AH=e`~-1Hc1tZXub5{m#By-Y{FA_9jG`LRX=&o`_Acd>ewrtTZx4{7=SSL?gj?w zq=-Z(5TA7-*{Jy!RxX#1aO~54SN$=@EBXIoRm$Jr@H#Rs8@W+tS<&Ib{VTtOB>x5Ibkq3(!sG?%tB?=ia|~EvB}fx1pov1?w5s_iot?h0WI%s_$pb2d zLyA!_*>ILtEm!fPT6-eE9b2jcM0nrh_(DTOw6+9oDTZO`6OF^s z_LXI;*}UML z8RI*7`RO)_%8;p9mocCZ40F1>t%h{EBZ+nJ5hb3z{d|`V#L*`wv5(^Pi9%jNsAM8z z==k?KJBUqt)UTPfCOFSjI6D)T{&F2Yh;M8t9!YvSGKrCTy6ypXd`W3V$awATk}Hf? z5&acxV%F?Ii|baKd!i9zfU41lrYrv3n*Bd`rJ zV0QM0Md|{V01qju>i% z4>3MZ(NW`orlIi09W|tWDdHao;uQn=6N+f7pmtWUciOX0)BY|zWA6j}n|Xm?wMq0V z+ZO=tV=lIIs4@S?r#u%s;i{)Y0K`xq9Io0z|6gpa9eXkD;Q)sHh4cT~C_mo95DktS zh7HGpKokwkk@%x|4R@6cWgbo_a9O8^%?vcxs5eU9DA{^vH6o3dEN+s##Ko1tn}r!} zJ{6wI@iW(UOr%{O4|d9e2sjVKL>QT*s9rnREdDxL&?0LGEmHU$IQK|aw`Lnfm3*>X zV;55hlL*KyPRrFPLs1AoNIQZ9jNd3w1^{KgF%%9ymMC+@H7r{_LfBv~Mr_04onjam z+uZd5^^PMX#;{bu2JS0M+sB5kH|M=F%`Db&b-l6Txc=>Ev5G%^-`5<@0v5(-Z^(r5 zw_I7Qv+-HE^IFBfC+zF4bo!;)-3hwwxS#LChM6E-Gl)#)Kzm!I$?< zVNsn4sz@GMNb=P;De%_&7>>cq=tBe{)e*-Q%<$=PQJ`_hv87UrlsP5<(HKMqf&di+ zS-t1AT#Dfhhs;No~%^=Z&EQ9c((OmQLI>z5P6lEsA@(#I= zs$R#%krgOY9uxgbv2_@ssKjwmL0u{fC-Wrnxs8|CUr zShK4Q+?zoe?V0ZoR{g(@>$n$Y%joe~7)Ll?E>=(J!TR;q7QV~rO*)Ui0X*pYK=`oG z{of*RLLi_DD0BY%LCJsTqc-pS*Y}fQBvTqmee&N$z*`|y5$KF{IIgc)-!Iq6yr{Ln zuVA6}03JM4G(xNbM)2SBvCihZ8c(Wuh|@~#HreJ$&K9sCulT+fx;fxKAu514=DFGm zeD{IloOR@sOs$rOr9!*2$274tNJ!kA1BD?VcGboTTvy$4ZL(?(C;xkBm?L4A4b!#g zcyv6_UYiQI6>DFH*ax!99^hHHr}>9{QBAA#VKz-Mfz#dOCe-rFsFvhaL+;BwILeWD2kDQ@GdbdTqAj`Zevid3#Seg!(Fg<9aE}(gIx+ zX5>^|B+)D2+#oPpYmpgk;;B|aX_A5Lhv|P{ljnb~RZL)YFh5pheOW9`^_i}mFl;qC zNxQZgoQh2H3S@HaWvcD96Cflj|T8lvo*paYe>UG&6ll>|=8y-`U=Lars> zBiXUFBir<*R~B{HBq#8DC~u0e-PMXGB6wnENFj?%Yb%Q=Y=X8XW|b;a6HY>`eg;7B`^}q%itrGkIVC(<8M@HKynGUwO<`&4s#hi}jdLWa z8%rDBY{mk19~G<51}xEY&RgJ$7qyV|8Vg8>`wsG9gRyWVKxmC-DyU&;s*7Hg{5+Zx z{QJ7;P$@9u4TL5zMb1{u8O{JJ(5}A79@pvO%)Bkyfd1uWr=gRQm2u17M|8>Mj?#f> zdS`$)?08%kEyd0+_<+Bca7v!@FBC^|N(s)=yioU}g=(kFO}03_Z(OKR6Jnb%y+<2G zHTl@`v8C#@0mhM##Y)8+66p(aCH%F2SF zcBOkeXRSE+W1b~E%qbj%a%P4)F={32n{{UgiyjRW zD@yJzfva&K%&8WJFOy&0=sd-OZV|>(dgDaX08!V-8LoxG_*;u`$H#rRaC6RcH z^wQ`VMyi0Sc?Cmh5ycURKxX(=ySZoswkyr~>p;)wreM1J(kAPNKwaoM1kOjje7l&4lVy5RvE?Xrb#qjo4E7G63e)7|KI+`B#@M zA7U&i1e~JRF>>_PZM9NvPVHEGyYhzYVp2n~;$eVGvT9zan}s7n651sF=3S&u;Fz$M z^s06A%UpLL3x^});AyELEJ)o7B1p09c3x@Aoov2^#3e|^=!k9vih7y$qi%yZ%?jC49KDN9S^UosqCisr<$bl(zheQj;IIm6H>KHz3VWNXPg!U&Hd@j}| zt%K-|ji(YEEzaB`34ey)%KRkB8tfqI5hF))Y7Wnk!_PvWr*SH&YxSIDwk^bs1>{C# zuxq?k3Z0_R2tv*fEaXL(1c%|OkZ|{Uw!Q`Tl*Lo-+~ME8azgcG_6^4#&zeCzzH5BV zZljW-m6v2!cQyPkXjU~IKe3Iw4hzF13N~O9EG8?#%~b&Rke`;_p3wz-`6lp`Q~rl> zTGg~^&4TW|io+lW)vki)M%BPdfdF@RP5h)*=%B6#g9t?B2hQ@z;XU`Va`|3ierPwp zLf-gxcKOu$!N~h~j)8W`)q}~_r~l%Sy}4Ol5p8s|e!Ojvs_zxXQ(w5E6rYpw_men5 z)rG!dGAV<`5Y#P(`F>xC8L9on(5*~tCT`^B$`1LqCg9)-dM0GO8~Z)$6}inYR?(gT zmVvhC8WAZkD{B_z?WFx+b~LJtoF-U!638mjbH&~L=p|su^0p8Fe5Lfusn`IfypIKH zDp+?djzwz~F&{&Er2(d`mQ&RzI*h(~N?!mqcafp6gena>R(}75MM3WzEIiTCqd%fG z>jSx;@<$sz(nW38=K0%y*L^sYrt5xg*y~mDhd={S;|C&nI#ZfDOB>ySk}!q$2DMbK z1bGxpuT>8QgbUp#sjDpwsvqYR(-PnKq|2)%9Tt*A z`xW*|KtaXaPk)yepcO}Z^~SR=2ou2aIY}SR@fh{B$rh5#@JY6WH2zhftQr(gNl-qg zX^|!+UXk$10xpgMVG9#2Ux7kU<>~^ z4)-?Uo~?E952y+(Y4iTo7BUz{Ojk^Nz)jp4z+@OKookd(GL*HTDqc3M3o?{79*lZL zO)EAGZ!mm)Gx^?(;oZ${mEXE*N|ORj>KYwv9ECza6v(!sQ8#cz7q0Q*$>h+Ef^<_4 zbz!oAlGl-wq>Lv_vH@)zh-Gd(KKS1L-w7UpkaG=*SS-nW7pTK1wLZ(El#(WtLb3pW zg~w7HUZrJs>!W5MZss-I0Z8Hw`6o>5s`j~Xn!LH(AJVBnKEMZh9~u%6Puzv&=AFW834}S zOf}j8<~kE)DT%I>rW%T(HJasIPYHIF$9Op5iQbDEa#{@=NVumQ!ysYgEP-f~za_j* z#sK-Aqt=S!zA$I#~reX&v5eK0V1x*?-pF$2EY7cyLsuZHBP zkzs(-rom0SS?iD%DMpb;fv&z}XGLtjjH2IEy=nkixFXhK?Y z-V`Ru{fuuH#f=y?!O;-#NM=8OQC(~&*y80K+W^-r!oo!3FuuzzQp(VbhCy|>8 zhC#OH?Q5seli`5 zspoBJy>nfD6Hw?1;JUx?tY7?DDy{cd=m11}0%y`EvB2*bIgOcp`U2T=X5WiuV`TG_b&nPKx$f4!OG zPnh-AOIqV00DBTdf>|^>Q^fC#YzwFAAX617Mr|5RLKSR}99W-K&s zs1d}X(*V{f1U;!p7(T115Xh6pFxGY>a>ya!Jt7@=LUl;WIVa1maHe0)*+(up>~P7y z;am`d#c`|r6tZ04)Y6zQw;ZxiZTXfjWH^^SgvRvU2mNlbVUUEefVUFEHz*u-w5OjA zv(RfCHfj(jT2J&k_%JZpH89CVt?&)DQ1sVwK)yV^HT$l3mT(aiuU7G+q3}Zw`seEK zpOlA@gJwoQ`_AF6qdr?x-L>7<wEjJ=ao<|2Nwy-u!M6d z3FlXZ@0dHKm~Y;7OBvKV%axkCZ@vR&d5Fj%*AP&!wFAWECQ8~9Jd2Z>j4l1SQN-oO zLJRRpizl>EOa%ei1JYh4Or|Nhi37S$*17-$R*DjvLUQC`k}YpX5SFFQnHHkX*S7I8 zr1G@9kv;Lsw}SfRKC5(>^DmXPMT9S6n{nukw$SAE+N6%btit!m&B8}cg~j3ms~+JO zFRzll1CtzL@k5ZTXg74gY&M;?N@8SsV4Fc2a=!S7LYb;RuxOEtO+?#7+!z;W#y~BR zYj(?1@?Oro@?i9cSuDGHfZUaS`s?^vHMu?LdhnH*q${N5iz4kw>wY~=hE99jwrO95 z-e?J{bV(ZY65j{c?<}X5G1$nVwoP=Y`C*VIX98D6S|irk(z?tgg#|$&@X)|n`OPk8 z0iacpzbt^S$i!3)v}=XkrH*;MhH|e(J{qlDmrOEIL|CNvt$J&{cF(X9LK>g`kv_MO zu&$B$5VMa9ggBwWyH!?PdC6C8JmRRCciO~wcaj`>H~K?Sm-UkUXsV5ZL)$0#yK%*w zSJ8*RY2WBc)dac=-i!Z&K&HT@pH(|kC7U9{JHp#LGs~WmSFXe&cV(n@@BB-a)VU&E zu<+{7YgtiAxg!HY!mJYps37X(LEY6|Y}CE0p#y138{^h>VN>n_PUt7?Xm9uYUL}8L zTP#Y;DXr1z(Rf0Z;zfhZJGO;-Ac`@XHVhVFnu`lnb8F$nmN-|DM6N>p86^D%1Wc-BnpW^!YTEL2Ec9337`-n* zaNoLG=5rFvmI)IV#>J-Y3za<%j!`R3dqljIa|lTGkvmN;8{WLL*y+WwvrV^m$xS|u zPnKEemhDx&-v98$tK^87E|I}x!LFSk%7+2hOKk7F!bEiyDw&7I*Ob%EX{YnD>fTay zov&&a$1iBdMTH0(mZ+3!#FYz)swK{FwB22Kch8h9%_uchx^%mRTOLom1+wT+yLvw9 z6ZNc!XkdcSN;gwAPoS0#4!Lm7c*%I8*bZzu>JsF_wT;?svG6Q zYH}^=9+;K)oCh`WTbQ#qmns7@Q!k>dBhuk@|MXsX5X~RWot=QjIML#3ve%i!lj9#VmA{ph(NC}J7B^GlSuKd;Uo9(ifkpOu$Zan%zKwuIMLqxAa zA{$r(3rV;Xk|LJ$*ivS;5wPWo!>S{HcUo^Riqm1;p7H!}ZwGG$GHy%zY#JgXpmdm`MP9U2Z`b(5}`zNj8V z(4j4*I_z7T-xvZwO`H1sj(xRTN$m)~PYXxQR9|pI$!vmXDDrmOBWG|8|^|N{l}YJMA=8x{6V7n>g4|jr*$6m_pogH79P# z6U}-&UQ=welSXuZmApaNzWI9^!p9)p&4!#0%uh7sNsLc0N`(jBPf$g(5GddFlhcI2 z>=$+-NE6%%x_X^Qt>P(yyhskb6c&pmWQm@Op)T70L{w)*_ixKkx(7i-hU$2n$o zLvM7&Ry$?Qm7Ko?)$ld1FRn7(XjpLkmMN%)C(A7FIzK6BbbU4?t`&q5M8GiE^;@3= z+pqMKE482K2&m!*)c>c=MYr3h*cXUG6t#7=YYw4f*wA%gL zAeQQnYVlvFvq>KhJ=Omjv{|ZZrgHD>t@jhvUh_}SueS%x7V`$@lYD@@H{FZcxP8z6 z`R-Upxqs$<+TGty&Gh;E_v24bPyhG7+as6(Ey-y<9%p+RJLHKybN<>QlW__S3}aC@ zr9fIDG?Er96fz;9vfI$4vNM zv;Kro$iNh|^z2kBG_ayJyT1I+=h*tkx1aXP_{SGsZty1|5(KJ>aEo$M1vtT=YVz5> z)Y?bhX-D$)r-a3$x)Le~u2h|)kp85N7TMSs|I4JXiS!GE&}?6HZ*m_i}go2roEdX=}h#hc#=fhmr-^>cmyiRZHCi3MIk)L2<~AmF^1yzGX|Kd&mD4RXoT!$ zjLz{?`&i8`-LzFVT=(M6){8C8wTlL8^Ek>G201&}dap&gTw3+ARLqZ(2SDOKQmqU7 zo4E?-TZVYQsZf?&w609f72j;JvU=6=%I-FQr`CLk)2-!gHQj=h%?!;s?X6~(A7`&T ze3hwtx)nl-)(w7E7QGxYvK77IdXbd5b^GnT+e>$D2k5@J|8?uzttq5OPwOynI^Wq{HeRogI4j;pOn|M8dgM8ism}}Df@-9 zLK}=^eZfOYB$h0~RZ0g>du6qcWrluo+gP1Z=NONbOq3Azf{6!GBLXFp6r_aK(5Hu) zVPrLuK#03;xlU(;7fU#eFg`lur0=WE67E3qjIPN=j0l7)y|UlsO1f40-at0Z5mE5A z*=Y1*%)4`KD8md(M)F8_0^Bfs{#~cF8PqfCLl-1u$)#Ah1lDn}Q~ZGU18*0RWcs zQjB4%-E4$X=`$a3MXt%H#i0|nBpD~_(uhQ)9&PAag*&TVBMUF)VsCTW7;X0^%UKuOzUb=~eJc-B* z$@A&4e?5+2hM!jHkUkDF@O%N__Ltv2iD#wEvB_H3zP3SRTGdpsk%mb5NgyUtZP4nf zMy{AX7Nz5r&MYpYcUqI=5k#QefRqR&#t`Ei#9b$MgtYxtC>SY`hsA57+H3Z6!`IsM z!o8&fPxfaMW04&h(n&tOb-I)tS3jzD(QK5=xe7L;AgXexgfGWR^OP_w-lt@r4%Ky$ za~salOb+&t^$F9PZxClccQHfu&C{N;`<7Zs~l5>(f z$Y;FABw%fuTwnA*EkHTM&m()|!u_o6zBR3l&lmkWp>IuoX=T5Hl7@i2-EDQGLMRzx4)1D0}m}x+) z+`7qInPoqU1 zJ#-6CFm!J9OdjaC!fiPzJVdFyn_t1@Xbu!#vM2sG6zH|;vzigYm*To9QQ6&4C=dOz z?O*y<_*i=FS8Li(P0cg8{}+cTg|g~TM&1MPwdMoVQ=P06;0W_pu|V~icCN3(ZvbYA z`)9rSvlyWvBjL#cvfiBBe5Ef`SX1-msU6CEV;@86-&A!O*{|>Nl$Lk`gs6O}GO!YIJu##jsO%8AV#(^AGziTvEUB=mV&WcKa60^ee1xbKU|d^ZhFf2vfilmY-fw z)bI|S;a`a>>gF&@;tkYp%70bNd>;Z|oVn#~rS?=Jv81j3z>N~hDkv9Z^3i!fw~y^x zTVYv0GGJ0Cs+?QjCYR%4z1K+e4U#|yhOAVf20-TnDqCQ0(YSXfcS~%u0FSCqH&?~f z40gH)PLd=sSWm4-^y;a7VB|Z5x$cMH-NF(U48J!SL&mdTXEqM58c+R~<~dMeV4`07 zJg_3Znm2+%;mpHjMH#T1vX_5ebq*?jBSp04u(5H>TPNJaVx7xJf1{xI<~^)Ogf_Y z^Dm0b$0S)cu`lv02BS;}D$dm<;l4=f*EQkz8PO?oUPm{a(1~XbxXcCY*6BI+^GcGi zHB~AjpBar1?h!n7&wHcY>Y`QihGTjCw@cZdFYB;{$NwU>JRR(x@4GK+&FcJ}{T~o> zJL-Yv=&FjjH{UFG^k~_pbcO#dZx&axHSLv)CiqRxY1SG>(I(HKo~w|`($JQ^i6a_wUR z(t^Hp_ko2aOMru!rrL;%ZB|5}_fms5u~i~N>#|}8RmyW1rN-mxT|3;$ti9X5w+8Zl zbX8d|5G>15wsnsGwju;D(xfCv7E%Cr^KeQjCF1-?%YI0~99~Z%qemdgU|6V-Drr4j z_5>@0z_B(ABQZ0d)V+S_AwVY-`MhdnXJ&xXNSHCHYR{t2pz;Pc(HPNUfIfZ`RRg#X(G$1z_7%Fk*=B~l3aPwcpwan5 zR}P%=qM2X|r)vE4UM&XBbh?2TR49HxUjj*L)JmE^a?46{8*r^^3G)RjT1Z9P3*)fF zGv+v9H2_o#03?8=_pkcGiAn&He%yw_3C_w{T%VaK2ZLlo#P8`ZPxNs8ojKzaRXIN< zIlFZx+uXthos_%jU+n;d*grI+u4^~s>nNFd{@M}a3WyL4fDOBxzE+-#jNkgL&K+eM z0IT%A1)9T0nOz>ROkV)?tNUruAY;ymmq#heCx&qfP&GMvY}$%SU_u<%vYkmX6Bwgh zYWVO|!fo>srBZ6)Ka=bQsuYhI5ilK|(G=iy|cD zta|=14!@u85P0A7@Q5%i^kgnMVHgF&ISy5@@ksXj!v2#R9n=F`B7wZtu(4SR8ZnFu zOhMZuNUr65+S+~?2WANwwyR{duPwdfFsw;2*7O|44EW^FdGZe(IIRuO*VZ{DR@$IG z(kzmMKF$BQ$83=2%M1G!sfZXgqQXtDm~0oXj>&7tpT5HXa(_*17Edq?A>sshpO!!FIFRGNoDQ#ZarYGi6csk0(l@~Eb?6^GuhZ;n@knm6xtJ|oU zL4KWqAqaL*{oG~L^hol7bplc@nxjM}z3Fd{%pbimr`Q=G^T%R%vG*5}6mi#n+_E-) zBJKh!%VoltLa0)KK*Mohy^O;cNcKq4?hFVhtC+d0M9(TK3m~i>z3?3z_il1Hzrc_c19BC^{BKoj_$& zbeR*~wpU=EAH<(bY+SuMILx6MLS>V}MmVJ0+S=bXg^7QeW8_gD^pqomflMZH00m}> zF^4p-S7g7=aUk$*CXB{#S)zD(-FGwxcKP6AfBpvZc0Uv+-BCW)5}56fl9n=&}o{Q>M?pm47sHmEEqW zs(`<@D@gJKxA*~OE31rOav~k%lji{=oZ1Uq#1(}=Lkq+c<&V^=m9YIy!+SSC#J}(U zH#Ao0MOOholD`uM<+$3&W8NF$EPwM85y~$pTn=ysKv+iPJ#o;tSm-N>;D}b(E3;tC zP4}Ge_!`?I@R3K7Jag#4)2L-9dA9ND!FJWw2zVzQ_Cy5cv6%{Z9N#*RYpn_e{?914l9Y?yi}ges`$07z%RM4(|x6coeRWn|CRks zItj1Ip<+ym(j0>2kfJ8}u`paAfW3k!qXqyGUYnrS_tHjXoc+(s<}uC-8ptgR;g?-H z=U?oOIuAO|_dXO{#hu1<6}T>=?>ynV`{u2mMZE)%6$4=X2CUbSDvp1(v>+%lvAh(q zYTET?{8ZyV^Z%Z+X}{Ac(~{uxh&o%fv1J1=9kJ3hdKDGcgetPS;1{i??k}1=npds% zJ><`j!u;nN%|he<&P%CEJzpn21Bj;IMz87Qt!PR~pP!n$ttZi@wQ+loteL2-YRt&d zE}C&;pr1c*RnhFSA6B`F3pEinnd(F_s5%U)R4c)=k$?p3B+#XGy0?#zL_yeM%DGYT z?5{{XmTU`x#z;ydUz=tKXOJnFZ&7l!U>DZ}{~RuBy%9`^`t|pTybZ)*nIv~U3p*_n zCzQoS_axT04_u$ek^CPL_&hJc+dDk>J0kP#h zWHf$+<7n3DI6>t$oz*@34&E;@GTi;nzQB>I`yB@BHDK^pzx#O@H0-l{46Aqz78r$1 zzDN~jwv}$3T$!^gRz(S{FReS-f$Cy<2~L-l9f3lf%6B`Umkm#N2If@c zNRl0KtOEdeD=_(EC!+r{-P?t!FlPLXE7=0Dp%Zeeh(3-02$^t$YHmj6pZbMU#4BVa zE-DDGo{&lM!w4l{$6TdK!`S=~NAEZJC|dvst*Ae{Kl(D}=+O@|;Z~1$DYA5k#37hI0lL+Iuvx1NH0Y+;= zR4MWer^-RT|9Somr~XCgWA3`YU$L`U#R;zt3m@JOIVy_|1?_YMvESzOG0k|R7yY;Hi+69N$Y8!!>~ZNt?siY-Ui2q-t3u6ZL2qT+q|LJT zu|K{EWNl4`NmrlOjN>_S2(fsqz0sLoq~-7Q#5MoAmb+_Fr&*YE5<)-&66rhTC}mbB z0cp=8lI6{|4eY;CW))(z-)hTG5a0?|^@<|inuM&0U)`jC*_%T0+O2vzI2f8R=(;KV zXUah=6*}-U!dMF6EQy7O0}KckArM%kcJT_)P5CY1-60W%BRKQ+xG#m@Q<*lXO3P%> z;PbF+HYI<;)+bZN%(HYU_C{Gc2xk_A+UNF>3+F&yt(h|&g=(5Jdd!lTrH*(F8#6dd zK|G)|PF6iufm=3Y#aTu) z{Vn&fDpRNLY4tklvG%9`73#=5GUc%#)rbC)zw z-Ve+U8d{duom*$SHZ3VtNKxBW4?Xc1xf_>wbqEP4;e_+pb6zD@eElEqswK`cYDRr| zgBCEu83Bu_vdp?x=LqWDfigdW<&!4E6HE7a4PU&UuZwGwubF}0{W^Hh(7dw;lxcBl zb2x$$OE|1b(}BWwA7a;!gtDzQSbw93i$sO_2ao)B(}Ih8eq}slJu*Z4d^A_gp1p5c z{H?av^xpT(>taoT{(H%_sh>_?{Lecq=YLS)q$mG-9B0Z!cLet!s}U$78xP*o`Yrz_ z;}+g-wJ~0Jj!(!#fl!+R$*O=1Ir3~vpd;O^EhLGJkhwU7#4l$liz$#_BFl~I$pnimVQTVv zXU-VY+yp_NKHLcjo{H=9(qj7q);n8dBkD3>2yVb7XU)(V@Gx> zjFco5tS*C?28d%ystbXYy9F?=pe8;hsU<0LgdfLrnTwr^dF~mcC4zxDJWioL^?b3| zAlT75&NA$P$u6exE&=8h>Dj=zyXK}nI}?fWGqUm;4(iBH za$bk8shifcUF5NOcgVHeVyVoN2$OsV8$YYMFP3h_`;Bh3`|hhb`JVC1kM07&OG9eP zM)ttq)6B~mNySqF@*i!BK)qC64PKkJ*ha24`j~v%Wgva@x(hXS_>Bg>B%%?3j5U(g zz4_g+Zwr9ZV~|h)5&&*b0FJ@|ct)%UFa*m!=WY@U0=Br~cj3Yepz5L*HtgTKs4u@I zdiN?yRdb$3v98M{tj3s<MEM8Uc&&B=mo*~yZ32<27l;`3yxMf7{_H50t!M=HA^ ztPwyBfh;GJSDK%9wv<&GYPN(YkxdmG7nC;S|BhY?EuiZdz&>v3%*&%em@BF zTvp%?@j@X0Ge9)q@=?f-l-Fz&U^s^LzHMe?^(+achGKEUONwq6l1RHO;%f(8NYR$i zkcSz2TL%v^Llb=huIs+W&IG{W!=*+!P1%>O?&a^(9^2Fg50({!@BdUxwH^4dRidTj zBX_;fa@?avQiRd)-bq#S^YK!1DOdiN{6-hH+3Xf?6ZtxzZ;xUvAnVErvTL&QXdM-i|sqNWhyCBbdYP^ zHk%j1hS~VY`8&3H&baTZ!@{Ghbt`@fQAh6|SF0P~M!IRP`*5clu~LvUr68ZAC}0c& zrZZT%7&JEHv-{E-rrQ4M%ngPou0`Gqs(eJY2_KNlO*iAyJ^6VW)_D8E*5cpzT}raP zGsvCBxSb9d;v(v5%x=Y?rPngJOZMa%?)y4eNtEXu7wFC(ZD=|@{{5xF609W7|LY#k zl#=_PS)~_~n3gN8tuu>*K`*G)-4fNIneV{!(mE4sXA*1*4|qHRBiJ0vMnv>*BhS)! zf2s3;>vg+a3@UyjVLK#Y*x*^E0^3^yr%dt-22h7VL5bYu(gH)32DF-vg?KcF8@#5cN*L5pq3yDt3`row4NrbNI5}pQ|BTo_+(rMjvIo=Iz>U1ynBO(3B=k&? z(%5j@e+N}ThHiA8Jwv_<0!RVFqEYd8g^fKL`+#fJU01PkUqn|#s-fAmt(S6HLj`t1VXEt@sa;E++M64)XyKS&(RtZ1#zB_$aL~>VR<*RTm zt3F5!@%FCh$FCc8Hk*fE6>>lv|Km~mg*=w+jK^)s<3D|5u~;{7FAG-=X4@0kh(H~# zog!kC_$Pm59o~`;a_SLh2Gn=B+54?Y8xo6kZ9YNe$-XHLIB)}r7b~6;&@j|+iPwre zEJK#59ZdDv*Ww}}VBTvL!)ayy%v~Hbn;}>FY5AEE=t|`0H_Vf@UUZ$M!r0DOcXM^J za*YZY3Ft@d+2Bz)j>)+6XcxhN#gPO5K&)wU`+)9CFO71{G5FY{SP|va@T-cm! zGMS7KQ+^ntyo~hS{3_I4`Qs(MP)hY@P1Q`vfT60r>dhJ43p!GJPIZR$WAeorQ+pc_ zW9Q8fS0aOJPELi$tKQ6Q*LocB-v@L1=^dCy`OKSnEBLPexD|*d?3-fZ@lEu(|AR}6` zfdF~CHSAbPe&`C?(bH;O9Zd$GMI7)ZR&UE3yfNq4W@NLdh$yP9bHDA@H=!j?@k}6= zzHy<`ySI!cUH}v^=f}gIQN$N zrRVo4DpMb2f(3BUmohqMoU7%wQQwewd*hTV{{xZWAU(Hv+y^Am?PlKY=hj_yarN_- z*=n_%6=akj5FPy;Ac*rws6M+3;3%Uy#$OJbr+Owaf@1-kc>)}*q%yx+-$*KezaB88 zcC1DF^gneHms~&px}CtOSEw`6Y_UMmX`uH%BR8TqDtYo8m1m4(a!TXA{XkUK8~8;X zf*oOS_cIhF)$f)_`Y3qiymIAvFd8eCFYxA5>`lCIL!`ugh+sNCD%~3^v4>8lxeELCt5WQ@cU1J`g z*>RB|Ci&7J-5=p`mv4_^B9LTTaRtG+q9SVH_SiTy{O26WGLcDTQ^RXiGJvAwh=f6Q zIlM+Vu53Oc-28+K#wjBg)$4E{VyT?FQXd>hT1Ycr36-r_FUh%by zHh}L2BunWbQ1!zEW=RTfWV`Q0@lS~31umjDEa4YVauL{vk$x=7;@$-xF8T3+fMY~f zwD7ohee4&4`qilVm@~CD$_AX>vAomZ%wb||7+x@E1KqwIkbTu(@``j_rFl%NKtUyX zFP5obXI@r$dmM!M6>C4We@I13%H`8J;%>C{8wGp_3QN2z(x@-;UBcXq>T@YaNHI@- zS&`zXuo9SiwdD3s@3DCGD4z3{0<7^RDROluZu{Jiyq(T#ufQ0qr7kM46;s813NX`+b zML*WfJMDxEpCrr8#0hOu0jIj$3{5=REzgT49_x9%%NRBOBJ6In(UEngR)3y(v1!=g zz@9Ni6zq_|Isq{`m13EAyWSAN7}m82T0o&5qYNlmR(Z|4OI*F@4mf;WkiF(YywGq; z4Hzy|7kJC!ij>oeXj_IP&Q%^}TIZYpT<*!Or-c0IlKL-?L+T5HKBKF_dNDWa zK=b0jHxCwovxS+}(!>jrV!Y_i%sSRHm&o_esuUI*z`U6>sJsd*)H@Ze7f^pHP}k?W zW{LfBWWAFh9oX?U@p?CB@ipGxlAR_`7D7e5S4^w^Q#kl~`~BlHsHvw+P;ZB}b8na8 z?qYAsit%Y+ey-c@^lE-R4j#>KuQj?WOyo|O=)YfrqE=$b{Yn@B&tRJ4kN?;w$y`xe z8Wl|Yc;ASVKEH}MIEXD-lY~zVO0DX!xN!1DQrT1iZ9Tgdw#g`4Y!NNNbIEz13y;hw zLXN#5ago?geYYA`R3B6O(Y!B?0^qqo5?qsWR<)#I7=zsj_@er5ZJoDZoZ-gyJ7EY` zxclxkLpN`#9@?TZkVAF+*m>n~Uc_Tcb5Cald`*WNXN%=lf!Ev54w6ZvZuc5 z-Vb6wlf4OhzX{9e$66UoXO!sVDE}#1=#v$n(H%@!Q@5`pJ*{;Ny}!a8Uis_@0OBwI z8?^(~r~Xv|AaQrt99~k`JenWkJ`g=M>;S1F{1=Tx9$o-AF0E@>ZlKS4q{=eOw(z6p zzMwCOoa+nva%iwv9R^x3RRBIRWltP^WyIA}oBf7_uxed?5!>1G;(X)XxYbFa{(d17 z>+15g!;$he>3JcRh;fTBb>;QzxBq->7M@%%n+!{v#G3k@Ys}Sf%{>xP2uhO;w>gNQ zuWLSNm`&_kK+u-&A8&|Mn9>|J7gk%CBsdI+Q4s}kk!OYEony&dOY7{WlTDH2h%+L7 z&d+9ndK~l}1I$`Wtv$e$%86dwy*J8L5R_Ka{_YcAaL?h@dvI6y1y0Jpy;_&ynb9x7 zac(KL1rJZUI&tt!j?T6UMyWLEU+xjH%I@*S8^2R-S9w45)4Syqzcy3R!#w`@urKJ& z^$EwGiQ-kGX+nW<%j|TSY0&#E{rB>J-h9!0QvZSjSH><(q%TTvfk2RM?*_*Qn)-+KRYGLV+Qp3( zog0GMz^Uf!K=?^)60Nv=-*c?$CWndk+T-O%gGQ@Qg-X7>Wfm%m?;%|t==Jrhu3$|M$07SM{wL1RX@Cy_9HJryWh*`$^^6vu z@rF90-+hCcobfcN1f0q1>-%jQo>$(I13zBvju(IPV7s_p^xE$5%GC8QQyQl!UzZE- z-I`F(xJczS23N+N>QT$&_ zWnWG3m?~z^^9nIpL_UzlZUcz>&g9p4OBacg4lnEh0LCTV+RD!z3jeyz3I0woK#-MN zfnZOOlgKJ3giugOT=TIY-a&qI!d=#hH}l|ceJ>?Qhe^4VMI6eydTXu9E_)}M$4Ji- z?)zb@?1E-T+{-*71wocB*WSyP_%$EB@(6r7wn$D<{IOWVdN~=rrl!#pHDLTxj`(OL z-LvJ*r=GI7oyL^Mt>d56z0_{rUUk3uQ!}KyqtD+x>=949lw#M4@h!%BpXXj?_jXL| zXT`hitKmimK7J1?MX#t|GjY<1OhUyhZGL$H+=A5b;gNqK+*Uez0>|7OO2Y%F^T8gD z2O89Tfr5+5EUK$??vX!k8Z+lC84gu9l?-cQ=g{0%<1>*=*qcO4Cmw}9`yC8Hr_LA) zS$5vbc!~)Ua+0{8B)HX~d}Sf~!bB$Zo0*l-kiBzB5-uG za_7ur_Qbr8JYC&T=~qXZtfcU0oTlgd9GM&`FYhbP>(Hz&5)JIfl+xr~qC2p1E0?y} zy*$R*DK-KO_!kquNnpWHmB3b{EWlqmgZnSxekWxBT?RjW{Hwv{)X64GWVUFq4B`tn z{k?G`jCijCgira=KVw~p=l7Qre{QC7{}N;DEhhv(lNues0y0NhCvCH%Mw^9qO>5=s zg3dYaE}kHWf9 zkSKhpe@O?N2NHyHx`M~y%czvsK6P8EgB+GP3A|jap?s)q+LaAPYGtlIiXNnN*RLim z+0N`-Gc~EeMlW5Z(FYn;#aEh$lh!N&eo3{9Pg*g|l*YJVAE+eWYw*ruV*uE>n389P zXB9MJ4Gf6NDduYf{C8w(@GU1TTcOPv*$$t)O{`~c>dY8VWtn;O8=N~yD@5ol*NLl&!lZf!hUb)w)Mw8w!t8-8X zDOIzgdjdUO@N(cK9N^NGXTeYuiH7uB zhd#3J*Xtk>)X92q>24sJMO99%pvF4J<)D}LlzAyl)t>3q0COfRx>yXA-t>9BdBB zSShEQO>UxlF__-ew#>LT4uMt7u*$Qf>);a{9GITaF*e@`rZ?j}Bny zza+2k?N^`fhYZ&53?0{37}?o;F`)I)9SWKa+?yh%~wQPbF6(-J-1`(Q~2Bf-tycxxsn^{ zQKh|WrAsSIFUucYF4bN;$kxcc?y)8KpnIeplej#t*?1b(R_+#FSZJhukVP#J_fa1U zen{$>zm=%!=2E!q2YR=1jR{tQkN0=|0xA4bzZ%K_jU?ifg#lko9NLNyT1*c_Gy}{= zC^o76uU2ESpTCFzt+7c;Ga>6;-)=BbW)bE{tv}~J>As!4()DbpOmLxKR`%bI#u@SS zYe)kY>UQA2i^t0(fyF0X9~=YUf4rzoT!KL!P{STgd^U8^eDOISmd|k@?tI`GR{YTsoAzRRij7HPKf{%$<*O{M6FVT(dXOm6s>k9!s~P3Ez9Ym> zt$wk}gweUt#F4LnrtciTK=yL(j84v*L&jb#0Q?)*?p(H^QZa1HtE%=|ee&JY?-Q;; z)hB5Pw=Z8dw)oatcik4>ktj-IpE)nX<#pTQW4P;L!hVYI9g4hR%8#mFjlSv>^O$o6 z?fa5sah&T+1hp$1ZCHG3Q=BDRrl#oMgpvf>Y1xIMFDVA!H<0X`r|T&`C9H@Nd$|N0 zgdcb8gT2&Bv0$62pA&-~vzy|#E!pbYh* z`R8IOt(;1>aqT- zd8A@d9D5|_!#pDS0CFoCJpM~l(PL7}81}C#05C=OOhg=eWo=OO7K&S$q_VX%N-%!Yd!`mhB&@xl` z3V8Yg@T#9hynmXH455$JU9OCyL28 zd2?6AK3msQd#BrRMoKbhAPX4B@HNQGocQG`Wydp9B&Hx1aAvUSBE&kH@A=!t{h#mBCI1yBHTBtVD>;>TUSs0TRhc;^-kD(UZVV-``z zw3A?Ryr**+I6LgwNk`dX46D7i-eIB+F6{|i{KA)N4wlITIXDx}MYNi^FCtku%ih_$ z;2(F_>9>9B&HtI?eDuzdF3tf4c%RWM6O9HH;w$Khr`$#p(Clr7Xq06cj8NeVRH z2^7Q<=N&F|90hw9=?Go{A<0EZ8^H7nJnIzv4iiQuvsL>zG^0)_K}wwM#3!c0Jknr&DK(q~p$ z$HV06D|J9p%)C;Wodk-|P5Z)dir^YD5Ny0ivS(TmyzO1aXZtNTn9Q|p$dJUjS(XAuEKO&wu2-@p2fxC#5H{|GjbJKX9 z;M_LM#|5v$`wZO$`}0Pr9x>3953HfV-p4`=12{dj{bi{D#4PYK z;P{d?sS79v<CcJ3$H|;lElbpIsafgX&E=l zt#em;8rgY+QEZV^*ndYon(wdNagh)G!1}6oj6<`xT>JI-G{x`6WTWcG7q$C-1=5|;uf`viG35mTLoRZ`JQOdp2hWa$c`n9? z`7I~>+!RZRg31x{TTx9Bag{y!HZ%Lzn^%Dbq$u@%kTVs$+n_Dr&&N!Fj`88=Ccq!-%j1=KlL&A5&+A+ zN>8>{IQKE(T+-b;RPX4W7xvcXD-9jNUvuc!LAM*)R>q=2IzFxpjIr1xMmlTATL&SW zLVZ)9zOUX+oDDIjE!!gGUPkrk&(PCHv+8+V)<(*4i}FT`oud?^ynpuPY@0|`tUsF9 z`3TrcOv{~WCr$~~i~d5M`XuDo%=EDZ`m)gOuit+8_7-?%9emD>d;s$cgYp!_Rp|`FrLofHlfKj-pGiLK_*`VVS`C17w^sy-Xex^HTc5 z&a$yaiEelgBKSS`3tp{!-d}^Kf^Br*>kr+I1zSb18nyg8?EIqa+af-F)Lkw;PL4jO zTf|pYJ6pgno}w=;i*Z;X^WU^DvDS(+FCCui>G!(mgOti6CFe^#zWi)yJKiW?l{KoT zgV^x^P5?~m5j#ppjJL_(`#n#s|JR@Tuj~m9QuL12R(4JLJ>oZs^5aRKmb`U4+^MFUDb-ZI z+OL0qSig)d$o9+!!1XBGuED3<|4XHte)d!N!8XAKb+-t*_k$Z|xxlON`RfnL#TQWz z^Nwc&V!kN+u=**;5yt9@2h8rfss6^2ETH5NeeVTmo)dKEv8?rL^n{prO-{kmwFqJGVG3S(3H;d$J7NkE& zY^kv6Hy4N@a&SCaD)C8Gh+N;07Y*nJK2-a>^{3SO z)-+v8KrjhA1x`406#QfJ`TGr(!~!|rtg~JE9C-33G*1{oh)X%;Mb*3@5J0`1qO{aq znJBbE)=T0uU*Av^ZC&a|Q5c|)wT(&?A0{i^SQ@xAMi5x<_gey#)JG1Wnu-m$?k5+= zh8l3Xe_Zi7(@-);=RA8)c{Nn!sL>i<8}=k_b#)1rzp}P|0v9i+FxxcVcOxh>%T}H6 z!qdl}9jqd^yw|ow7e#$7v!k}22=5kEYfg>bzYHpYwXGzS2Zko-j(~hIZw;D~k#}NU z@=OJF1C7ecOuGaPYwea4VDD3KEYH_|I%@z>vQ()S7O+A^K~nt83M! z7E*swye%AgPOetLU#%m@V{)@r<@FbN1sjl11M1Y-oBj%Ndl%&XeJiXMFa}_M4Tyu3 z^-PKfP+V8_&Kw<5!xzmUI(?Tg1)>?8Jh9p&NqpUp2)_-k1jK^dTsbQIsAB3T->%OLf0tlX+)(?!ZXqei$9BnO?JJ{BW>XW+vNN=MEyu zAn0s&Do;-j4TkxungV9}ugG&Xf@y0cMmBq_1g9pR$ho@WS=S zkifap>Y2oITbGYRtI=%ctRwhd=A2uDpvb08qM-wx=Zd1xc{@~r%yB~%MmGs{+@5dp ztARHNrEdz>wEI}xSz~VIcj5VC^{$)d&`3rjcUOA>Z{j*MbX^bDdH774K|>I`-vV4o zr%I13;30Ck7rE$6L{mGBD|*Kgw1H^`vZ>JyRs@LTN73_xSQlnQ(C6#20y!h06P*St zQvQNLpX*u#2cFsqkWk{DfMt6p1q2_pMT zZokJL)hddpY5|yPIPN-tvHT`IAcOO2&3W0zlFEVIUSnvo29;OI3h#-id4E$ocEHNu z;2jpS(r~itN13;tFO|HaNHGg8Ss4QGolFSFpPTPHs-D<=NFUVCvqL`nHz6J9`T3NC5NJRS^dlDK?bcTDeO7|8mZ zVT0{zPWqHD@K9SZ@IiKaw>TL=XLDcMJxA|DC+W1H4W&$6`jz z^Y&-u+5T**OF;A+N~9vvdn=kY;gS<9sg9=tg_cNVQsq%K{#3TwsNcAQRfN^w5iSQR z2}#n+zDi8ERPo+o9w$)BdtXZ3_}H29vf9iN{@8z)MvtGrtlQ*?1o4(opG*BB-aa>e zoA>97|4G0%;QEKBdB5Cw4#<3NzXTPIEW3S8;TyHfmsWo%NorpZ_mBXA~W_p~5t!Dx>aN+9c$BcuZ=?Oml#8 zd7tjYr?1%n)fzgq<%^B}OBWjLSj>1zWSkado$!pO*DlD}zswP0NkK?}4WVa0<<2R@ zLhShRioR!>#De$4X`Z;0*dUl%P@eg(f&Z?_*K~kMv0z0TLQwqKA~B-;FU~{z^PbmF zbThE29Q(|*_U-QG{9j_Z#{ltwb?8gHwl^(#kQaRfcucz{_8+w>ctU~Qfh%~fY1gJ< z;iVAgjcTZ{qTfetR$M!;pG*cBK4{;6hx~Zijy;g9S3rb~epCSjQI&$AK?LYzF6JJq zPeiRzO*>tULjW6<-uFjOzCn+K8JJfc=wTHvKIrc3rs2Eeab()R+0&6V8RBY;d$zSq z+&Sk>s=UoP^&&}ylNp_Q2)^H zSY>e^^koG7*cwTX_*QDGQ2m`E&c!btK;`!1&{GUHa!wp}H8gkcGm6WF$}RDnbhE0j zCtk*n_~>-tepORfMFSji68&V2eM;3)ApKZ&8+waa--z@tkTgIoypJZ&1a`OHQ`oo{ zC6RGxXA+If?5E(Eqf~iH<_jiB0h4$Rl%Ru>L@-~dg~H@oAMXEW@|Xff@LZ+p}@+KDsA}|+yY?kU${HD7H0XvW&9ycvn6Gx zE(qH+N!!d5z5x`1J4odYDtNwjPK9=HgEXSxxP-h6Z>UO&%}|ZuxWa0C-Hq`EwIrva z^SjE#G;)VqQD6m}b&ew)iZ6dd?wi?;Y3pp=FcpiZn^2PtR{ z*!Ns;aC<0J(pg1Q0?GhtBQr^{iNCRl=CNRPk_G-Gs7y=>gP)!L_2kib0wXuiRJpbN zl9Y91tIir{){`Q60G5?F8ep0dxRhi+s`H$oGYAox#;O0= zbdCJ6eZ4mIrImX#llkATY~?8UrXSbMD3uh`>Av0}8fZM&mR(WI{JlkU1}1g8&1$%} znPb^V4xR~Y1&y#EsX&Rl1ENiN@oM%X+5*JJ1M~dgj#GAE0eS*IZD!t`@73`{jff49 zn~tnT4B&_~u5O@0YWJrqjdrT)3RAvF3s@o;#GTgq-%1WA+;n3pdOp(&VsDV8RH{e zW)fWLTcv<@z=Hwco#ilTnPT0fFvke2+R^xN|Re z%wc_%TKaFktQ>gZyX!grtb3jdPB#~>5mMOyJTYEAKF5=^QV)cjPfZ{ONjdwTef--o z!B1i*$GF5m5_ZBkQ*E(HZv&Y;`Sc1O0L&eb?8CARZ2f=p4@yfj&4HS_Ik~YCpGX?! z+YnvJ(tVG(BrNTooptW|?k)qZ=KMYtQ3MOe%*9UiCZjYc;5nt?#g|cQN%3o|Rn23L z;~ZEQxlxaX&;*mw$HbyJ{M~r{_@xvhS%OUh_T@dUJpdX7(xij2?eg+uYsFah6-BIK zTTA&s#+pcms~E=@bI*U3`aj#S7O&?`I+mFSCr^S@@X|72;72#W?1)ai*hG_Gxl))1@5R{ysV4jO4|MUZm8Dt4B8V#?P46JVT(8y9 z_fh=Nq{f4#VlX633vkS5rnad0P+~5E5%@0mx{#$Bm%q{KVg`I77du7Y&Fp=GKm4L7(DA(?e z=Wu{}5a#BDcXbiw^Q9$;OBqh|B)y;n{2o<@c^Z8XB8!8lr5Y!I6L2;sM-fzpo{O}3 zijv`L12DuV<8vK>3f=J(L&R#w>6DP=J_oO73Yp-dc#{L(F~S1rvH`~lobyyO*fb>w z#h-zeVt+cRp8BAgo{*gkyKb6%`$h@R(}f9$-y3>*cN|zB0FfgDfRy*Y%5B^7s{<(T zbko&GSB_ziUKjikners2DZMVRDKM-sOhwB3*M)y@a6$*$7c>@F&d_!)dMU;UpgdsZ zEdeM3^kZv9bz17yn)Kp`k8qBThc`MOd@BKy*kwtvobEW|!Gfy)L+vZ09t z$Z28{FI7n;Dul|C_7z=1M_M=vn?sG7Gx{fe)Pm%cWtCE{M~WWI-y56Qk<65(#P=H} z6xefUWzh;N7sq}FWI{@U>5)YTQN}QaUGEVu|Ih;UKpHU z)*9d7P2+0C%Ejsnu;MLEeNNW(cnrn`1=ef?jGO@~6oHNY-TUKhvwuIddy==;BR49P zkNRc+;t#+xkBCJNbAhcD39t9Gp*EM3E$mkwrI(E5#mnOo&6gl2?}yjO&`;V?IcGR? zM2 zr=(6rK@U@`rG4=_QmTgrr|8#rzEn2B16>-b7x6fRF)&Ll_mW4hLz%A*pEzxYhwPcw+SP72E;M<>Ic)s~jczyPMBw_m0x>nA(T% zGiRhSgqS%N_tQX24h<_8RIOq>A{+uAgPWBd@2AmT-hjC+bh5hhOrK-0ZN}ePXf}_ZP_!=i#(5r(O33 zt1o|u5ox#EjqiM^aL6`vK5Pr%E<2NYC(sbI{OaFsgl~l+@@`W0(`)JnGFB)_-?csl z$}c~7Nj4TlIw_za1NBqWOW!0Be~pNgK@3`#3ZpUx?$yat)mPp;G#>u;q0?3>)7W zkH;9Fq4q8uib7@z*>_pA@$hb|?BYvO$j=m@zQZ&3r0tG@)vy<7I%Ro>J}*8Ol*!vA zVpJd_<9Vsw((za^BearN6iT?kX0tned(;tkdm!0_eM&mp{t3-(I7?`(E#y3o!K594 zMsnH6$2R~#xo53dwG@tXUI+<3svHT782xID3-v3c zp>8?w!u9O?D(MDXm-^}9yq^MijGa72@0#So1=h|)3S3@FpXSfCP+^V|#k2bMqpGud z85rR^?SKUfEkn*)w55;#5x;|d+|h!wi|4R_vxU(k2bZw6q*HFDJaKvXrcaLwFH(5a zEmfS2>`xVuwQ{Ab6Yv2pHn1cP<`z_C8EGVB&rlx} zCoAxBX-}hgQ_#T}UbrFO6&Jz4b7w}FK&&51pM7kKQWi7z`e68!&KmADyPOB!5Z3l> z{X@)a5xQvH7I6Jz+`Gm=s1QwuHZ1G{QSrtlAiqJ_go*K%TC0qHh6vEh9H$@A>1`x* zgtgOe&`0WXNIzOu9N+-%;@Lg`&cN_2SMnXoDB>-5d{+Y-Ka8x#@6I<5Jwx# zdsw`w2$U*V-~>wT>v=RQYvWFp3x?wx4hA^nELuIITy*N=QEt&U2T+pp_v0U|U~eT{ zeGg@R-0X)5k$`fny0uEz|Yh4@7smZAJGnXxq z`mM6GzRF~Qd@@|A@6v^#)!Vc+cOO%|ZxS5LQStMXezwOxcTB0y^&Pz$afuxK>S}S0Pt{JrT0E=Zi~+bKpYrO_q>9=^F$MsZVGd2E zn!t3(6skAVozO}X7kAm)2$O{O!?$A+PUQt_OH#O^lL5&s`5z$Cd!!}@ zipc%}S%)r90$$r89;&UwtV|1bDhO=$omITa6f~NEYYwDWW6KC4Nh?Y81-zeYPY76G zlfh128$joi!5DQ1_E)a7tDLfaE2N@QL0ALt;3@#GAC(;qxg;aoKVq)(p0{Y@j^exP z93u>6ehNKDMw4b-TE=s};L4?2KCXNvc9#kdy&L5wsTm4K&ZjW_sn{_Lj=(c`0W;fB zbmKS^ry{<`WK%gX*3zFn1K6DmLRgR|9!RNoG^VlVq;Q^^#0jX!V)epyt@*K2aE`M{ zddFcyRUG;UCY#NbB{wcKbLC+{ z^-wW3etzl+dX?$ahcCPJZJh`{o0vvTMmP}bgLWH}@Cx$~DV!dnfsxFCA5AV!PeoH2 zKj_ZEg+=3CW2T98(;nF5vQFVXTk$JWjg*5$v$SZ{`J?)L zE{>%?kedh$6(CVz%N+{XtX&plCAlGB+C`Bh+LG@DjP^;^##{gG3LUMrZT}WKF19TR zNh2`WT-U!T5ya-4lFTL>avbm90tQ&qH7x@_`!kuiR=3EZ>VVzRVwLuT%o~*((913Z z{c$)YL<~o;QwLe_je66qL6b zEyzvGAKnjaASVGU@$gq;G*moW@~q8JXXEe&XUo-eQBeR`l2ID7m#pyyeaODlKfqbw zOWapDgb> zC+}Vj3;g9KZ3!_B&5Lhc4aZ^thB&4T5J+Jn>r**YZfaTxjy)Qj%Va3OE3pV_zhaCz zBc;O8z=WK0Y4TKTb>z65?`P_(4BN6IrE^p91!a zz+0M3fkXZjS@?%G(KV$1Lh)xg`&1I52ZcLsGWNGD{!wAqO}k^&289b#L0G_dWO9S> zE-IYMn%R$Pp$fhUFsU4i6Wd6aw*}5?0>-EIICq)JS!`8|%Y?*xs|L`&Bz^35EUcmU zEF(0{*`484qPoq)W!C$VKamdp{Kh{?{$Rc$y$O!lCbP*qkO7#~1O=N@RkhQ z{3G71ABs>jE3+~6E|c-*dt1Wp&oSl}X?zO#nexRt*X<}`1s#RuLW{AzP8IP-VTRQ* z?%Z$fTJ$8p)+RMx2+Odg>~>Tfh7z94-yBL38q zrYwcGNl7pq6_NlqlTF&@yv%wlZ1eo~{39QM z00|J<8#BpY_4RzyWBJO+@6GR>kuTfpeZc(S;tC9zS>EJDdQE~K^1WGlrO&SSshr6N z$>y!Y@@vur+-6(mmyf@k)P0fl7Lc|OdeNDB-KozAggc(SpI{&0i zghfx>JCTqN<7Kz?sFZl2aMR?WQ-&Ti-Khz#c)dSa!XOIuH1i@L{I&Vg>ErwaryGNR z_D|<346FLRUJT2Tz6F+D;0DF4yLx~pOhxQs4b&1Duxm3=uO#U79p})^|DtDL0b+lf zkZ+B^mN?O=GF%CBY_l1+1uW%20ML75LOQ@F#j8&mS9|`gb0yR3EVlR|cqM8)#s*+? z({(MD8pA)!^zKJtrmxW5*&IkiM`(UDjqlKWa|vtAexhgL(cAr)uhh%P0im?KE5#04 zI)i$`$A)^X9yA3*e6!U}#&j(u{vI~x#%tr>M`WW^IIiI|jJ{&4D<;uCB;mBFLH3a{ zAC&SL6u;#I%(1(RgUVVZ$X56`#SVh?$#$me^Oog*)|1BmUNk?bvfSMMd&8(Ol=p8Y zPK`mHX<#Qfxo=8JW{(X!SPDEZqCI}f5T<}&!~Jm0E!EFBE;n(PTd8}tdhD&}LR(Vf zBp~!D3BK+XL$8hrg~cHI!<)CF_n87YCb2=4QL|edlgu3*TIl!_sM%u5j+Oug8;w)`Y$8>Ol}RD90wR( zNcEH2Of-Yx%rXPnCz;u@c*um|L+szpqa;LHLP zPu{sGG-bhQT_^8BG$%zDvFJ=q$XNe%m;_ zqBb@V7%gseGeQ`pqZ>wwfH=C5l2$jmC8cpRN{6&Mx^)67A|NdSDj+J>elPET@O{qt zp68tBzCWMqa+CD9;d5-`m0a2_V%iE(qb#=aR@hV*q zTELi}^O&KppjfzTK=F+uVwy9}Gu^F2iDyQxMUNLOjm|=;LY#KpM zyPnBd?8%c9+HHsTHdDjlR%I74c&S*iYx-}lIgA#$K0ttMiya`kL?F@~fIdqR8uX&i zC&to5EC0FgcsXZ z-5n_T6NnsH%T|yx+sA_;nCh7^K3FN%UvjW|LPnyznOH&6{@3^ADbL$IR+s#)Uih+O zsuj{S$G%Y!GKg;q;-n`4zjI*fgymX_$$FyDPrVyQs7ry>i;@{-Vi}A{| z2nJY*%e)KLGdbH0?q^Q#-wgcXZX7w1wl5h73V7>#i{4zyn$5Y)zEN)1^hrf?_uSZW z2(FBY!fxuklJ@9UleGR~^VDWQ^fEpWKg47jcfZ#wa#q3-nzN3X&}k=aKBn|2RkAYk zZ$Mr!9TA}r63ZYf0#7Wnq;k>`p@$U25(Pof8eN+613|+2R-(jx8#4( zqVJwk*Zk?=?hO3K_185I;?~c9>!#Pc(tf))U()>FNPeZV1q9qJr?sRpx9$t)+sHwp zzkcUUJer?BJ*nXg6+W{YdtcCQt8s8f|L9kDE8&b;+ET)$tl$q#@9+3KpayBT2(+>$ zN8W4QEv{eP{5);P!&pucN{YZGiUMk`j`1V6o#M_U3_1@&xoGkBU8XtGq$xlfWUebKC9*=$ZZAE^oc`fU6 zYNf~Xe3j?nSb@D!e%<;yQh>j{l`v>@+tcqaC!m3#B``t@fcqw0`bg0G{WU7dS&uR3 z*{31;(PF_u;|s{Z4F~g(?WFa5BKvV>h>cQE?Hi9G3Vl$A7#~+iu>l~A$bQa;8KiXJ zU*Sf9Qa1|)?3pomts`njf~O~(&oGkoAvsQ*rMfA3ddAC%gimj}=rkm+=sK?{AJ8xU z@<&sKay$F`{buNajBDqjg3R)cBv-QQV(vwiR&P~{G1Z6i_^M;6=3wESlM&)IA@wH9|jTgiNs{alj+(Tfp12@#%f*!K!qPl5uZ zOI_L=Jq-|=7wE#e814mu6HZ&hDC~qdW>pt+%oaB?{?uK;jDQj?mx%X;woNHDZow?yxTfSBk z9N9Qf-VB1mZt30foX3jE@EqL8^A4D8m@g*EyliVv1LQdZ+2v5&B_8j-JdXAoe&*GjwqabF943U6v z4XyB%r0}J*$Lr1;Wc~9~c`6diRFlSvlg}Zz0&ZD~LBohWAztzi_A{WXHu2keSZNTQ zh^gUEJgoEF_1D?aqHW^j^LQJ1Rlcn?(9pL|BwKR>txO{~Rq9v6 z9QCeuni|HfFT8=gef;fK|7;0Xpv>g89389tXWrJ0Wtqv8ra1@s&%Y{OE+@#a8})Km zg6UH6D{9A zK6C;OA$djFr6o_eJc$Ho5Z9I{{6&GIp1^YkH!prDLew+7+=<^l&5)_@bDL8SUfkmg z!t10X*TTK#QkskTFkb=S5&FiDB@5bNuHvax*+=f*Z}hs9ZA}xvRvJiKBM+xD-fMkK z)V-H!!bv@iB{!&wWlc0g`IgtRnE1xef1D5hWIAytAIE{FkmUDfO?^`BX43M!0B1+(zo!GeFE8e~5 zcnRoUMY!pZk12!D2MU5CF#HUl5oIU#l4o1oye*8lQ-o>chw*aE@Hvs}9#^(Cl6Zl&D_H;Uq5`w>pJ><=Oxpt zStHHHW?pyUFXQQj?Z$fEy^7uCvd`0-lg_E*Ynz}K)S|Ij8gKi$dxK;1~q zK(VNlw0|ZA{~Ce;yk!nCGd&q?SLJx}HsrV=7h)ZeU?-COUv*Ze?|n}4te0fiaR7E~ z&^4`ix~M5D??!uh0vxR`{icaWF`Y}^bJQ@WO7TAbLrdmQuXvQaUz8Nv@W?DH7Ro(r z&wqC!VpJ-w8ZsEA=%tve8G4c%uZ6P|sLOcAd#XE~FJVR2Pdp!;+BRM*buEuB@Vh2u zqp;LZ6Pd|L1u-i$tOx5Prg4cF_rfcOb>4Sl>+&aqs^imo1ELxX&+}fa{1T@AWE=?? z55CXB$Os@R5E1H;8hu0Y$?Vb=ZL>py?g%6^|EY$_&)F<~^8!hpTp4vLpLzggJ8)rl zF7SOo6Qn1%6dSxT77Dv2`&SYv6)qXhYFS2O<*PV(lVUlQ~ zYM(jywmvN?OC7JyGZ!?fWeHw>F~A;m!lXwoNlnqKG!!>JS5vl&WJ{GyPd{qt-=s=5Eg;Vlz5vy(s}+KE zhw@XBuyqCLvLzP=v5IwJ9FQP#@}jKnys`;ch)zZVj(7el$F4PJ-LZ|Q5^s%p<3{#lVqE&VqSGkAN; zeohW&@8e-n_a{Y0`MKLau$ZR(R-Q$PPfc)LrFWJdCx3}^uI>9G`^^WMx&1oF^$)ve zeDshe{_RDfp}C9=PTLqQBAA|gIN#ABDqaHJl>7LmU^5`M5uMtl^q84Q3#RALG~_0N zdMnB{QoEhWA@to%jB$!cwY{^1`?ib=t=-HfE{Tdf1ZD*uvFawU*iz(X;*0R24RhsF zj!Y0^2R^AR;BVX3WiuFjo2rYvQ{AI8#2whXDo_yCYa{_Ll58vojUaR=STun7oF~E; zH2%dxGd$Y1)!tjK=5?+2?6cyVlqo@_ZU9q0qa-bNv*vK}_C&ZqUto7Bwam-z?Ii!_bm?NzJnDS1Td>e}Ct? z^V?ygW}Or6@koq!0c*E9csw*&?se;`L zD@bV@)2Z2EO*0KnuQEwtuboVH^bZznkP^}hdDTB*17I%eO|)u5C88j}h^GhFvJ*xJ z1hsaoaFSY5WG&9EN)g%6RO=gmI|lbw*Wp&ZKqocY5#YX0tBlCe8k|`Od@M5#gos}% z1+WqU?qrBKPV3Kdaxr!^!-BtISauSKsJ-wQ|4%1>KAV#Q;+!Bd*$@`EBcEI{bHS1t zboqqO9^tPCB@4~oS9EwX#QPXy|JLEYA_Xk)3m2-%7vjh`P>teSqbB^aoKpSi#^!T7 zMP$3F(mcB1MQ+)GFzb|gca6Nj3lA|T3O+@<3Y&9-s?BNXug~ET3?<51rh+#Twe=#> z9TRe@O0i>Hu#)Ty&aj7G8v49OL;!^OoY2))g+;;F9hm2MeAk(WV!BN{2dJ7>m=!z~696oRDo8woVu*l>jErBB?9)sc6#54L zn}1!$>7_A5umMp7J5EhHR}|p=o_YX+Kb5}!o7-a3n2(7FOH|>GW5009LASt^=@{#l zEEP*v#WPZ)?6!nP4Kj*V<|z} z;n?D%=yqRKXQFn+!OFcrSN6ekP`}LYm)03vwI z6PTtqd0a>Il_EDX1n!FK!YiAj>vEV0!XtumCspivAxZpb^7QOP>#YD-u z*&>ohmT(RyI44Be=e%rYBIVNcG!gg4mU*aqGfjY}e!V6qFQ~<&3e-3D^hg9oSoG!N zmrs#SGr>FH;y9;78VoCP`qDVAu|qZKLVS+LlC^ut*+~iY7ROF0&iR6X8@IJ#%d20M z!DNQ9z$lXl{nxaMTh&DT*Nm0O^k-{``+Y(`D1_yKCfrWl9G=bM0+GZdek)2n((1+= zG0lCr7M+eaIPvo)mq~~|OpDUSq%>QExM>Tx#JK}-KB7~f`^1DDiL;-IhCI})R>owR zp*&+vfP!f%Pp6KngF4-Io%CSi+qwd|Jj%G$ADo&TFx?gV3_E*yP0L*cOp%LU0^(=Y z&6<=4dBHHuOmVm6+8IvjMz+OBS+(EYJ=wLhasQUhv};OTxKTmQWyyB#&V$al8m7H6 z_vrHLv%ioZ40F77_sB;44bo6HpG0rLMegY^9@QJvwWR)i?tfx3q8obGP2&bdZ;k8z zQ`Jipr-iX6tm{QwDjCfNaJ-eBW@?RTUIP#+pPp+s`D+y>9xP|oPT6(a7~@l2vqc#0 zqeY&4R8nBEPaU#eC$TpDOhOA|-B-dN&n*(ZaQLHE`G2$xfbk&Jxo2w+FC6$hZu@$7 zBuTj|^`Hux;%0P_-wOIMjT7LKVz*rhxd%s*^+8!90(Mp1FjbV(a5PUz&b9R8o0CyrZ7!ZCSm7X6#E@uh)`9`o+`i=XzR97nL5*x0qI9r^&*! z$NP_8K;+WC>N1G1Nv6vB3a)s}MapDa0e}z!V3&+kl4ZS{9MM)&n+1P&YWN&wfuJ>> zAl6UTT)Mo5jk3Nihzo{J^PGDxQW`11*fa3Dg zHb=UA&BH15fudsy0MICzXLEx`QVWI!j{l~zuK8N#?BE)A5NbF; zzLAaoCV#Z}i-eYtDlM&fp;Cf~__GVWhB-oA(zo_?+M|!>Bn2O0Cno*nU6v)Jkc~QJ zFG58(dHyw(XUp@XHt1}o3cE|`a*FY)w{g^Zb77iAlMu8FdtHaJhE(I=@`T`rO&J){ zaF{ohK6Imc8>J5+10_jlQxZHy_|iX1Se)CtG`y6vF;oo)XPdrIgaIoMWEBYJyRJ|j zQFH`=xsE7PM}`ZtnfBvhb8`@d5FtGYz?GAcWxVjGfP%>NHFE`#Eg-M52g{#&7B4HJ ze^X%?SPV^9^gzcj#m8@rNQWST|DtTV(ZZA=af>SS?kAmoH+D^P(FcL)ZI(O_E0f); zw%S74DI+|dBI=VPQW9|*;Ce0wF(;hK%Wa9!dA3{RL?Mn*;rUNGjD8i1MxgKCDljrY zk^F~utJ}eCXAvikB#tSSE?(cQ{Bc+HIY>?Ha_t^w$ z4p1s^S2D?y*%pRK=3e%qoL7Q|nsA5&)QV(=OwvC6^k?^w1$kbwP}H~Br63S7&pc?C zKBx|aB16yHZGg(mNS1XaIv)x}b!*?Wew?^(4ChE8)lgL1@}O8E1U1wx=+4J6k?fk1 z!2FT#sBW@*qdRSOlG)b(MXKf=81La~x3-0E*8<%UzcOWHkAo!T*GeYR^6~-&9#AE?)Ql=C|MGET9`1`ZNh>CMa! zB+%!RSL^}u9Bx9jT`HZDqb;XQe*v(re0c9EW61_$L`j*}%mOwfo?8gsDXGCYRXOxX zAt7STyHE;>l@ZOl2{^T@8l2`Fu50MZ6Qt~=XX6!9WtYdu9jokp$F85VNbe1@Z;+t+MEq&=La82~;<^(mpbuMM$m9@yW=H^{oJ|LV%(B8B&3Uj<}^gOTa&H)+SPoq;Kr*_dFc7-HQrc4Xw=)&{09UUNiacEn$BKBy?s={ zXqIeIAO9^pXoJAQxe+8J_5>xCDimgP4OX>jTItrjiDGS%v-oe<-fmc@Hy->1eB}Q& zJk-vK)1;GAYMb#JcUU-&v#nrCPh@6KB!e~zhmX3a999078hQCzDEeB2ZFS0z=yon& zGtxkB1Ur^AfOTOTjfkC!h-D(Nj{b~&UC0Wkyz~Aie$Cit5dh!gf_LL!)OF}-A+&|~ zyaIHo9m3E%VMGtyH$@|M8<(O#MrdDqmJuLTwF#+1DTR{djlapbvp7o4gE{9N`_98) zG#vb~*otzzqVX(KH;U1okO%4!f^i8OFd-C25Zqi|nDyXq28bHmIE{hm-LbwN(GvNn zg_$voD?BW;npC-I3f>TrBEioj`88%d%h3@5agh%Tqw>VLdVA9cu+but8Do(d6W9a6 z%qmJzM&noScfFad2M<@4yd`Ehl(g78V7|yIWK;P4&L1%YJ+ZHQ?(7h0M?tC zxZoaib7>VDc~1OLtRN;u0KCjk81It!=e3dx^OONu>(tX`3dJmyCAB`36gUB0#v#tq z?nzc6Gd3z%OgMerGv5^<{}y)u)W|>WeJ9dmj5gR=c`N@Eu`2=nq2r8Ce66|nB8IM zp(P3KTml`8W;CB|JcgOPVQ6sTYZx`lH6cP2*uWfa@=8r00YVQ$6Nr}xjE)9I_XA_q zd#e}oG>e5kdN@N-#`j`Y&xzOZ4v)%tA7`qyrK>&GQq9+#kL^_-Xk6~EcTgCQabAKC zJ}OmVK^aF-^9mjHtN8k=)hW7KClr0sW?ZDL8@>k(w@k!j`O=xAPpE>XN`+L3!k5=-1{$vRc-F0DY|81Ig2o@FxF3KTBlDS zN(=AjL$CR2ESts#vQW{%KuJMb$7uHLVSPH-p{5rFj_uTZ;o5TAT64zx~Gld?dCv zhPT&pu)Y}b0eo@&WgM0C{zH8lNLm9N-QUAr(M$J?Dz#3X5c6QZBagWAT$Qk;d3Q@u zbK3|-r+g#VFZ$L1@@=!%f{Pl1Az`5uP}eNB>(bx#D}C3b{5hfIUT6gr^KG#e0JAHB zQgC6-sMiNSq5CSIKB*vf35c@0h)E?@fEGf)v3l(7O_!0*oI&4Tv)*QC7T4=i{zDZ%B2iCm4^zR=5aflMF zU%MwzT6THofyeZT0jvEU zCJ%JYla@?#1Zf^=lR3gBB^nZJHPhK5*E)2K=Al`rL3h;?(mF1YStM|9X=8LGlTXpJ z0sB}xlLIM`(7+S2<;{dtiENm}oF?(hVC~unS|m_Bm>CMe@&Sm;Pk^GcZA0-BnPTB> zM`y#kkW`_8Ns^-QSTU7EeHpA%U<#AHMT?EnPB?$e-!wY?bHZ>S)^+dF#+_uCp4dvm z&3iOvCM=l<51voG2Ti4a75Cpx1X+vYqWzRh03NN&szroYCtvIzewgdLqj}p$Qw@0ZNp41@;D06v-tKK2j3@`M-U-% zM+ui~4$mW?JcOW8xorabB*&-nq#Jy>BA$ADy-(4_oag*fy|Q50q+(9~EJk+ZwKn+) zR9Tm6j!d@_)>7*Gl**Lw@kQNBcR)z*=_=@E#9k%Lt{<H{HE^&2`sQzvFd#@I% zy#$q_S8ljO1Yc2mR0o5feiDk))IRWm+*ae(Du4*`x72BdI7Rh@8#hG`ToGKOh0Lm| zGqjOrT_*Vb+kz95mVIX`jaG+8b4{cwAyvs}qhK(igR+^D#(WgEh``M?48!!F;;VTb z8t`!(7E?%DCJ~Kbu$?58jvjHNylp6lft6^NXWpF{$8N!4E5c&$ngfKy<}750x<(s_ zmZph#)|K4v<0&q_^~}l3GjiB{4Ef~3Nj>?(zX?g5mS>Vwp{n15l0*$Y@BO$u|El$t z@5RX#5$VGddr{i&)$C*Ig1ru1NQBRhUEAgQ0Rj-SKlFUzOC`xqZt3zFF2C(S|6K8J zNbM;0CvNN_uMtRkW!3=18PWzXpSX^ZkWWI2SRN-B=Hw}jvWnO~qkT?#56yAe(Fv;9 z=-!HUltb@48$npQBWx9rLpU(Z@4Zkf*hrjQ)oahY3M)({cq!A`& zl@(&{h5F0K5M`_jvLIMvW0XHMEH**m=DY%A>cuiCVvV2?zT__P-1Pcv(TyaY)a09$ z^xpKp_65Z3KmI56cE_yoX)eCX6$GG#S62jH9Q~nuP?Kkw;gJeNdLUD z5+0Gq&aJT5qbZ>uEEF}&&ML;n{D?Kg;;0N3f22w!$ueqV&>tfSsxQ&^lgb8wHj?$2 z2FL};>k?HksX|$PRIoVIuZlgHjJYImA#|BndpF!(PuziaoTk`UmDJFHex2&=d5Nv? z6P`;jugjdX9x%q~X+VmYR2*+g#p3b2+4jLYo|5#%~5<9tdoEvfOi?A>< z$>nww1?0cCOoiJ=#y#nM%jI7r7`qy5w{r4^dlXv-w$ozay z53Z@0RJM>kjD0(LDKIB_b%hgIzc(5tX_<<*`N&$|pz|`3J>^T8nC9nqqZd1@OO`u! zO`D46Fl$Vi5*N0N%nf7}T4Z&tSV0KikTjX?8X8zLjmUQiUU@MfSq2vjf)cf-q}waO0yFL+2}FJiI|g|lg#~eB^)rDNkvWZ$IooNI2U?+vuIwa(O&FZnNLUOFB`PYocvxrPki%6wI9 zA}D+1XEq-^f6%wsprh#WQ9W_XgPa-252J^?VQ*Ztq~m-VdSXMQmpp5GNeUZ&c%Q+6 zU0gvrBX$YsuC@S)B)-=R9_IQonIw-V*M9=!rO9Rbob2q%mmyk$K877_gzKB1nyub( zo8M9@9Zj6oZ)_f$HC3|ie7tblQWOIZIl8OS{L8(y;JeR@e2b{<7_-~Fd4ByK>MI#O zh~X|3V7dyY0|BQ^OQRgxK1Ht=-?svAQsLY1}dg_>uDBbL35ra=%w-l}0;{FEQ5z zPAGga+n;UgRle`r9mVk<`O#g|dTGB~NRDc|*zrq3+46I_o1-LXOIbfrAVK5OEpd$o zce}b1LhU-BtJ1^S1hyUsEDHyqQ|2$WI{y~){>M0IXrRbQibtBjRiA2l3>8O*ch&z> zV38AluXk!({Pt;aILo*81#$OCyW6cDo`dVRGI#d<-c2Xn`qf^0_^-8p@Y(c(-p3!m zgv_|nGU*ytX}f3>j%riAJuG=|k1i^#p&leg5F>elr1XIBqv&>(m>*Ug5yx~^ap$~! zAU`GMnF`ZTvd^YY(72eJ(u3F_K{3Cd;fO-4I(?|G=$!(cJ0IU(dtV=MXkf-MaYr)e z?uVX8Yxj^_1(EkuJbZ7*7hBu<*7@HTyLo&$n1SvF4@Ez93;=FpS5iO<;Dt`d2OG^IFXy{kRRh<^G=HW2yFx-pW2(inh4ZGX7s4oGYhOuJy{BIK-%7{jr*9A6=&~P8=oR}0m2>x z4X9z@2m-*@)4mI)f2))4Q$${$1leds*B1t805Y(c4A)4PiO8gBtThh>Y`*RiO1M?f z1>|Q1w-GW6h~S76M`1Vqb2z*ZB+g6BiQJt>Rt}{sh68?u{MUQ;+T}<)$o(jqSZaOz zeX}S(wY~g9ZqKDKf9XA^zYPgBp()@;z9mBiA{QV?Y68PGX-k$ym|_RNO4zvQvNd(yrJi>gYs+Bzh4Cw%-PHD^trnk z;itc=cR%IsD~KQ8HCrp5(9&Spd6g0ct_R}tH=$F4=k}70B|&{sp>Pzk>3ZR98|3IW zh~!S;-C~deCCos9b54CT6KDqOQRh%Sly9Xxo~?3er;>=VAxv1#K3uR|}74DVO$j>WQB`Up@Ow{GW>mF!8_hwH3}jG5IuPlvqpj>V9)K2r ziW^`fwT!fFfa@zOnaf2r=mHD_diQ-n+R8+ajt+MF=k!3vg5r0CjD8ziA7 zT2x>M1@^DD6;6F{W+lY>iO8S~31qSj{L^g(6t=UZGXu~W`}QE*l03Z~EOLS8v`xNr z5z#)dJsu>mP_cx9Ne6X^mlo5s3$8F;Gp4CJ<-o4`PKW2l^zC{NT>aIDg|R=3Uk$vj5h}HD{hjm$V{uaC9!$AIbM; z2R{II?E&xdaoryql(e zrRLroX2Jp(zod60wOxD-q)#2myOkY#`lmRyy3Qe%=Z|{xS?xfViJ%?NlX|1H!gvZP zf>Ijkt}BHm$5vMP0iz^!;PvGh^Q2dn(!-_5B7eEx%k$SU)s^w zjzSL!4##>v&*SUF@HJD##>-5`PkuXb5BB}(9j}!NG5C|um1bK!LY5m+rT5QzRo1EY zr{EHRua9NEX6qzX3|E3#m}qf$`B|ROUedEIxMX zA03@RTVV8`Dc-uI4cN2mpl231(4M*@k@76Pk-D`ott{adMP+Jei+ye*cCR6p>Du!- zUiTa>w&$laj*jDN%eEwsmU~{MWBm66np9V+R0+sZtwy|@=G?3uMM^D!zlx&H#ziy* zo}+!I`dSBR3uV8OC#@-9YYfr`0}-QuG;nl1TcOr2NY=}fZCi}4*)PinpZ*&>mu!#v zAJN&Q(W$P>cVHavW>Xg{-}tRkA<4$9bI_flx|z44?9DTNj|&Wnp10%=)!Tcz=$1Tw z<2Ri#k4>2sNK-wnb()(PVyT~iI4qnM1Pl2#{M=s{jR6GPfRYb;Of5OYgTU6*Ngisq z7>c0XA7%N<^T*0f*C2>$TcB5OPu6J0#sF9@NX9abP6Gd?^D?6k{5kXL8-s#y)>WoZ zP_qIorLdA-ZlGyku%Y0+ap6qoYw5XxGN;7m)n8{>I!Q~Z|K>5Dm(q%!%zIVkFx+u` z?L^B{V>)yl{u*bQVk-1d6Re-P$U{(_jt{H&SZ(OS{xf5$WiCvbZZ!7bsSR&Bzp&gu z02N&g8Uv0kyqbPGW@1I9k0LT)_?~>=CdYo`9jtlITmJT<)y(CYw+%k4d>5A(o~+6^ zSI(?7cOI~p@%6wc`PCb84IBH@O=td@KR&O7 zbyEc98nOdso}YdedKNLSlGVZEm-Z!i($vEh*`Ky|EiVf%9#|FfyUsgoAXg>$p?STM zJ&+i5AdCSpx4qkT;@D-v*m}@SgW155mO8-(oIJ>$yDy8S*9U0_46J~yKF%A?>c-B8 zc0=H)yO0@k#{hwgmeQZu5yqP@g48&lgtPTUT=cyN-{*_1k~+S!$egx7lP;OxxuzG> zBGWQI@T26R)K|#gmR`rNJkr5;G}RP!TKQF~lwLSJWPbp-H^qkm5Go$%RZL1re-I>j z@#cEvE(+yo9QRfn7@)v(b1&QKkJ)vO{3hw`HeLv4gUJ}j1U$&1Nz|JE^P6_QX#0(e znQ>{~OnUe`OQo7EYMVqNeW_+;B{{K5j_%il3-qq`A3B!?ylz&km`l6ZYWBSI=iQsX zUhphwBw+HLCcdkZVzcvz`_3PtghgKHyQmTbz^$YC2zp;?5W5%szaYZz;m${Hd@p;ZE5aP@iSwARh}J| zafz%xQN&ewnbZ9%{oUbP7Yu%zT^$!1{_h48t2M+t$0}%DOM(F@D!qg;%tl|RXD${L zc4d{|08FVpnHnY1iD>7e9#th6AqAWpimE^}+3YMP?)dYOCmgA2kxzL9dLTr`ec!tf zDxAm!Wk&FeHcCq{Stw-5p@5NNFSERZ#7x(*@Z+$wGjOQO z$8GEj$AI0@?(2cVuQvxAAg~AXTwh%hVX%)#@7l`zAqNVvU9hOtV;szmm@QlS<|b44 zL_>e?Xv1gmk!`Ezs@iwflopSdbx(gEf1anmy!C9AuLno_FqC*;XIerSd09caq;k=6 zQ}?44#$RJ+&kdX-7P>3Fp(QfIW*-?wj@(ROIG^tNe|Y!Ji(09Be-Z@*4q4Tif(d<`BS6v8N<@CaZH^!Cj_%J=#RJpL-^wbsVsOQF!`W!L$M{)iR8OsSyeKZO3WXaot}A$14X&WB7bRP^4ta{ec8sQw5w-5C=|2t3m zvlKX{=(9<|0&MM?4PU*!rt{fUl{O+lgmi=bZd)w;? z8Jbqt=0tf@O!f#dbE-aa(S#(lTlm=~Ou!g*B;^~4-iGun`8GD0UJhu4589c2*U9o|_P2?z zQ$p%qQ(fe~HiLJPx3loz==+i%eDSXSq7SM0u%USB5&*M5*?qmv9 z-n<7?Rw6QZHl${r6P#RJ@NGFe8!2M4QZ3!wH3x8WTiO8%|MMhWUeLgtd53C_IJBKs z`*|i?sCj_J@FgqFqoqUN1gFf&cG%rs3g7KRy~+7^y;8iMBYMxRK(`-VbIan*$5gf| z&YukyLMi*GCQj`%#5Q0dhohg^$+;MPzRlVw*Ggfqsz)iI|&cB|gN) zw2{J(vZh-aU@{6MvY(!B>%B)vWoqksEKax8$-TS3Q#QdkOM--#e;RLnE}&qL!W0@g z#D5thL$|Xe$pAl?F2AMccR^MG~!x}m)-w%JQ zw65_|B{#!gCrf2?^Iup3KHZ!tHYm*qe+$4so-#D=V5`9Wq`#H`Dx=ofek=GY`gSq? z+LPiq4u2x(=a2<(uSdVjZimS~Qp*wjB-0b0))|u_280_H;-V#WV_kUY%!HSQt{gpt zx6fp7q^gb%8@6$m@Y8Xn)m*R>MchR-`$!EjS$7R{oaeR^RgYcFHMB=jU)qwd#xBEd zosC|ylTT4>a$$>zWc3Hc7c_leUOwZj6U_4ww0JupO4nTgRGzyZkvc$bvGJ8ytc8+k zfVAcvg2deAhtbP?pi&Oq^pL7lu8qs!(uS7<1h^ddOX#?ErAo2gh5Iqqm{c!~Ee_a; zkjBDrZ)eax@mHd)+phyd$iV^%y4IZGE5-l33L4g%;G}JmAXyx@0T0ILikKg7+PU{5 zyVtv9l>Yg^<4Z<()`A}0TyeGTj9jSjyj*|TDHYc+1Xba*`z+w?KD7K|V&LM5RJ9Vp z&Eu0iWz{M-QGJ@jSc}fF$QfGagp{nRd8$(M1K#ylHmdz&`jOTBqAk(*qaW#+W=u4eKCGBUp^nFG9V)_L=Sy&l0!qay_anFiX&>;}?~gRBh+fA)Z|bE$W$4eU;`2 z(An*wwxzto(Ura0Ev!Gzlq@v3EZWEBpsL`Uo&H*Q#byet@+WvPj@O3&y?vqVS@Of0lZFwg8YP!P58vDGB1J zVz<1P=DwxOg??_-&%@rk-(Kg4^J3$RjL~)i_^f7jMd>N-mdR&< zCkx*+WHSEsdp%5zntgWhN?-Yv;H!Y^b9|V`j9h=Ov#?=E+^7UBc<@DuN@ofTH{FAq zFQc6lO%=t(`VE5kI-Ju7;b9pQTEeq_gUE_iFjVHnMKyYe*1Ck9? zx=s>f6>XH@YExulGi3R)M?@Ir6|-t5sxtZMfT1I8W&??im@DSo5G6|c&0iw#H~TKd zUr8yFm}l*-td>Y3yO~iN=xf5)GLjsUq*S%Wq|% z`7Jq}U^-Q)6897)6iwMOP_p%I9m|&RNPi}Y$Po~=f(=Ldeo*nlA@w$i`PafoS#O@w zyDaPVmMaOwyQGI5{d~GSKqPm(YEaxo@$0<@86KXOfKqYLv=-hFB8fJ=Q|64 z%+p8dc}7ZiLZx|&K{7$bi3hsmsIp?n*zCu6etc&wL=eh;~34^lsN@u`TIEE`ZDoz^BWwIz}$e(=)%vDEnm=FXRt}7 zjqc9??Y}yc{t9Uvc*EMGtNjP}nQ=gYUTHDIBKRcG5S8o&NMHvfT#XicF|3$7Drdai z%H(A9T$_C1my~f@&J1fo1jp~*P()iY}szsHSf0jB*DF3V7W?7hI1&XW4!)Oygs zr&$tz8}G+ns0cTR->?ErHD7Gwm5hu_XN%h%GUwbArS}FPaq+Ou#A3fhV?z9cxXQ^B z{WaDX+=86cc9VX7f#jfm{^Li|s??~AtStNK0jn#zT{KOsE8 zo-+HH%7@ZWx2F`!m)xIqGOY6kG}sI2YLWP|C*>kR>7#~cxl*dx@na;|aQf)dqKava z*=9b9{g@vtgyH;UCj7K~Vqg&eNri6;_YC;d%rDW55rW~4Lr{q96p}Iqmd?ibO-V#L z2qewAkk1QNGPAx+yRjfo0bz&@Im2=Bs@y3G7JK%6w5>3${BT|qjyT-H)q!aJ$C7(Xg)*gci{qlCmp%sd+b%Ix7g z7Z7EPuQc0De*skHq~(yGXE`$`<8%H;(Ruh&{rz$LZuef-b#Yz0?zOi|cB<=|nb+QR zjb!hH)b}o%vP0A*J4ANW_nM(aSrxj3v{6dyet&*{!sqjOeBS4r*Ll63ubVlKCeD_z zP<>8|l?}ZdwW5fV{4Z`<4J!>Bt6Rvm2vrse+BsK@9{(s;{s8!_3M+IId*7o7oY(|F zDbv4nfpkR|OeVl4h8_ph&v?Cs1V4xg6_RiUV(H0B_Jdrw=aEw4anX-uGy&HA^knbP z7?t&;xHB!hvZFibVO*_@#>c0qZ;nF!lkBxBo>OzH-(>Ac4SkI)nag8v92{hS4x-GS zX0Y0h^wT9K0P`wy`*K<6>C1cUNA8gW4gZCvf6nZfKf2yL|F$7;%K+{;#B{t32y!5fq)n z^lt_vOMny_TTCVv>?R8IVEFVSCu(G9e-3{$Lfq)8uIe`an;zzPj%RIUu|8WT;2)2bw$y{Lc+~ToYnK^fh@0 zIQs~&9|5JZ`)xR&ZwYxaN7Z$TRVJEkUxsw$F(>-}j861ibdtk+0FI{Hbq zJ8{-Gao&In4){`8j4W+||#60j2BB^wOIM}i*@R-Bd z|31B@Qr-d%!IBQa0=R*0RF;-Fi0|_lHi>CN^nAk)QEi7?u5|eRq$*?u)py9$#0OIu z#&+}TJWGKoXA>+ZGq7#4`i6BflZjn??xgqDGvqB`{PfZKx1h~8oWDLPQQ^JyZ#}tzKz*uZ z5?CRIi(CW{l9*N@G+yHO7;aYT*Ob{1~gvg%>_vS@@6vlUr>S*;=1t+U0U25fAac%wpDCr$n6aXxv3H8y-dqg(Ic<+Lz zS(tpVe|kV+WdL?3G^JwYgP!5={hYKT>i@iayc8lS*c{9nZjx#enjnEyx(~dc5LLLP zu<}{UOepZ63CWWB)sjoL{_?GKVQ=2!$E7dvdx7WdJuH=3l>BhOWvHb%IQ6@Yv>{z( z0_+k(c4%iRiEj;+dTJC)XNvgAY0vi8N;Gy3+f?11n^utCqQQ@WAb_loc(FFS;sQXV zG@RjbulbtzMCkjh+4&RmmVo}FfW?(7fJQ)^Y16lf$kUsVuVL<7&66d`r>J^Sk7M66 zFO)CKA9~~`%F-tzgG*Z4V+3llXebgI@ z>#64|{jL$OOzUJX5Re9h`5`(gAIk3g_=p$tnR+egSA^QWC()43*Z$<2GM(=LI{a2O zVr}_X(v3QH>{S>5xc^A1v86#aUttC24F?i3PT?PD5u(BU+{(OU_m!G?lysiuu&>;? z0tJCPr9bUAFHH_^4H|82?&-1AsDJ|$tP%(8gy$aTy)iT>8UH*!OL?f7EF+zHKKaV| z9C0SGJ=$#|`a<8;dHBLnKO@Gl;1DX}2v-LSLz_?+dC$f*#cP#^h9}fAt^~-CJ0`uiqh7)uc9(ahu zq~JdsLqiiXD&AhWUpZ1P{7+`GVGLF)5zOc+Y-lm>i{r&t+W^=k`T;}!78R&4&oq3KR++&I;9h=w{YSDb-9D&9+6Gx}ailMu zU$pM__kYMq4OX=h{-PGo8Ce7EdnI614gfZ>r}f`!&+WjGw7aUs5r>>EZ1eq>gJG!j zeeG3({pB(KYXkUKf*$ytK3e8GWQ7yZM76gTJoQq@5HuFLQ|J#?po#08$;7IdreoB_ zgQ|xZ&KR^;=FMRhtIIt^Wg>xv6g_ghd4fV7%Ml}3HX|5j0#~F|EfZ5;9Mn2pZFivG zX*}CdCa2>}Wpk*FG_U{wFTmEN0g%!+Qk{mteCgsT6~~I)$Oof2`aVP8Rj|4jF?gse z`OVyvmzsN*b-C>M?2`V(xAXUIU2S`HpLgj$5c<#g+e>}%GPrfy{ixF!-YdgGU^c>8zkyLkt7$Ci2pb!=QU%USij>XVziaP!Jh;b8HktkuS= zdCm!9<@xSi{+TLeq2oZXlJbx>PyMElh@Il-WZJZU<~_0ch})~~!R8dOUF)IEndtSl$)Ql=+<**y5HN8%;FhTzjQkWE!kvXG@_f6nrvXRoy^ zqRlL-TYI9Y2P4dfK($k$a#6w}{BnWC=cljE_LokF3r+I*T`+qzP8_-Y4r&=)Lwy%r zDdWl^!D!r2J{;W9h9}cUyY#A|f6327x$kw!*;5a5D;`Kr@RuyC)IyoLBjCY^wM_AY zaCzuIM@AuRTdiW!w1B#_C&*5>+Q!9JkSzY8MWvRi)^>OIrCJ8IPyQpyY^j}|HA@|_ zg+01FSCcb6B`)Vj?NbOU06(yhU&;L27kBzq-US1{^IwuObj{>m^$Ff6;8QKRwfjXt0bX*T=amb?ab%Xs^28;x zp3e!#j`tkx&0hGsn>0R>+n9pyh0VP6?@7NNZv61s*Qcf#+d?z&#BaY&www!sGL%q; zmzV}0K~uL(WOxN+^ucK)+{yRC-#u%`_Ud8unHyE#?>w#_i;NC=<+-NcD*4X-;C^GF zhxViGut1yj=F1#Wq=&)irzg=N+hz*ab>T;-Y_J&zJeH}Aa>IhCtr8OtQ-9#(MIEiv z3659sZcTgNEW9Hpm@>w(3IXu9{73f%!IH#utFmEiItlzaF2i)SU%~g4&T_AgXX8o- z%Bjli(9n~cn0Kv~$NYp{5=al)`CJ{{;TRH(1S!l9Vqb7jqgRC0KpU#?SF|VPXs-Fk za{$in$CGc&N4e3!5cVaYA?^8fTAD-`1gvONs;;vwON4JnY8RGXzF)_2Eagi!1}zo9 z6vTOB=0rwfCx1T7MaIQ_JIg)cq3EA!Ll=xJKh|&vz0J8jZ$zNNzdjGFg~Bvk!*#Bk zUk8P=aC(q!fu>I3()1(dx!PRB6)sD-+_U`$zRg&oC4g<7cxN>aRh4FpE#nsTu7`Fc zBbjiCKqisEWdrXRrb)iovMfxHzYLc|?7NbnCYuGRs#^dib=QhC+^qEFA$=a5Jkhq- ztgL{i%eiqO1PTY@6JmKpHF+{5TY+}1*h%SheTCcFC(U4>PdZUo6%9U{rc=?XDzhlz32zQEdO~Fg$oGVfcV@iCvI&y*vID8 zh-!zp@W%CSr<^%^)K&?TlwLrX;nzI&A*(YD-vew|WE~PeN^?l&O}S`Il3-B>y9ZNK zq!MLFRObSNuaN|&xG38n=bu6LYC#o=KqxJE!guaUUQ5-GNF%`K#j`|O&tIf>%z$&} z^hOny^{$&?`~1x*%+!k4owr>gwu$A=x9Q~yPI)h-HP*jEUY%2wV@n>JZ?B7dzlY3O z$FGAVx3!GTZ&!eYGWRZbS0pW(TCaFSRFsciYY2uts zqkY3XJx9ofe5gf8+8&3-f0YU=SZ*i1?Sl#x8Fr#RO`uL0tbOh`%=g)*=brTqe12$G z`4m41Tsh9vO5)xuoMr0RgiQkPKAwnao9{3C=rjE86R*lJFV5&c{xZcPtD|~z(bck< z3kAuy?v`wW%cQ6bZN3blj$HKM3MNCZGufiT_j|!P@tgK3b7(qov}*3!*@vHgo)A^0 zDfCKgrDTWy3n-Pq{m|ve z$*)=?R4HK%rUba0W-OnlT~X&a!>hi+5XoX}yS~B-_=G`wg05VcNgaexv z82x;`-xxUiqv}g##2K;jl{d=+Rs4eP-{1cnIhgzyzU!Dwt94*AWBf8r;tCImDrqJ)%JlRx zNBdY0!Lt7aBJr=us73%xl1->H?17kY$n8zsgj1C@5N~BX@NJ}B)id2cIwk`PKfWLR zYMXqN6RG)=Pw#tgqp1Mq2Y)BbKeMla20Zt`?1E3j@Rl{uI~Dr6^#vd$O&XJb2e^`p zqOQL1@_>NWfYO5Oxil&b(=~MNtD8R^1`MU$3vxHdp7m5oTsmf63!F#Xf3Q`s z!aocH*It)vzy85UzzPq~SoS@$O5(w|B&j9RVo`h#5dx+>s zsCeItDgjIJ_phWNL-!H@E_;VpfOws{1#t7#!HZ+F2R7FGqM6RDUJzkT?y9 zSO?q@_Yqg6-t%*tzsOq#HKj{t+nwLWZFI=&cjxv5@dt8HG7hG?P)2tb5EN#LrXEQ7 z95{6CKMU^xQ+CRp&z%lyk4HXT*tPpc+*SJ;y((I(2>@*eEU1>1kU_&4?170@KM9BJ z1G+2z`S3+*ZJv-}(;6e~!O$a@y1}*ZATj)-01bDJz%Z*3GW!oPSC3JS89wy|LAMo` zGY5jOEu5W58bWvD>0D(jvG_NagIuR!zm3bPGel7I-@X>^K{P{EyjzKw$y6~{*~@t9 zjby-s*Parmie-$$Ua6!X?xz+?C!}?MoWQh`_;g96-NWTTJC6L+yWFt~iM7t4XP(F9 z<-cEp@SN8$FKnjHtV_{={Dmu+KDW2q3+(-ah;hzvN$!_fQFXm*jC-i9n1Hd#+IQtE zbuUB`_5t8U`4%co1HGF5Nj`&ME?qq&U_y&sSIj86f>a)1Zm}duK$n0#L<=Xkm4lcl zi`7+_r{tj5DL=v0s-jM8aLi|}&ecq^+?!NG*!F`s1gL-XYK1TB;V{8*_>EZG z(n!&uLH^}NM0C|y;3I)$fGE56fv7JXX9pCe&_&tGq5$qiJ){}C5yQQVr2u)pY(7z6 zpro(q1fq0!LNW6F=;XZ>3@>A5o5p87Ca}+qo?i+YntA>a6!#2|b+KaamIufV*XJbB%iB?`U4YJ4X zz9r#cXC3Bf?_Uu#YX=p$hN@c(+^P2_A*=veUL*hw;d)`_%Q2&==8y#^y5y*-G@E{| zYe<^ie5RQ$y(ociG`%uTCoCOq(s5AOekIjTmzhxgS7x(K|DhCy+zw($Q-#e7--`~? zTYk~6)PzW}ft^UUhxGI2U-ZM%VbT-y!xN@|KE1~u(0U&Y;Z1nqxClkm@OVTN*x(_SL&n&_| z%sWTEDb|>CA6BUZEjqNS?6A(rii{p8C$|NP*fh>Xl;ggARkluF06pxn4l@e%;$<8tIujT~w@QO`U96 zGiTHcYm{+Or8V|`rOF5ZpGs87S(W#9I&~9eG-Y!^CmK1P|GCq5GQJ9 z1Aryb1t&NkesQFpc1R8EH2tJuSY=p>MccP1Gys$x!PrKBNh(?RvuCk)3Yg;z#2M<~ zwzs~A-In#x>SBHI%v5a(7XDMO)t7$jFa)IR@j)5P(D>9$NV)}eY3-egoc|oQa$jd2 zP41p*hJL-)a{rq6Gkc8s%I@P)cpCY?dM;R0mdq?&lFHoik+R70w3^8#F*u$X~x-4Qj*dk&vP6?1r_ zLO6*3*{mI~=bOwDz;{2^Q~$@((ZEvg2e?L{WW-QUcC%!0-1l)HKExCz4&~?41OdZG zXlG&8rUa?DWG7=y70vAbvdhO}?|&*R}&oACW*$)@ zb}{_{c+$j%w{`|WpgAb^*%Akm?`bsx5&THfTU!#K9wv}XhkAB!wF#IBAfd9iH;kc3 z8h(ES{ED` zOP9M1qGR~tdyd)e!{g(P2fp&%*h@Rx^CIpX9y6?RViU0X`9#3P?WJ?4_&Wc=jT7y^ z@K%;1j-2j(oh5d^diJJ!ySb`JEBi8p!{Hk`)NsVCC@EYo(G`i z-&IOk!KgF@gf0mgK12JevBc1@8@|F=;@31dVXr+Uq!dK3j|$VaPY^G*RIz^q$k=eQ zryj=tF_&71wFw8}D?tR4EcI=MMhjW3c11(JKm%^96a)aRb3{KT;7^Qb0`{&!SGeV4 zQU^J(=R~DSvf4CAV*=#OG<@l7n5OnS?R+QStFK-SpS&A1V6Qt{)AtTeMUm~ojKJ^9 z1l)9I&-Zf^VhVK>7Ja$Qz7SmSj2?fZH6Hjs& z`zrN#d=GA=Qi4!3Lmom#hlhJpr~d{*O{yQ;R$~)676GUyZw4uN(%G%2Lj8AzZjhxL zH!md6Bp=lvOcG&4m7t9Pt6V^laTA6V8beMc-K(g-!I0*XkozQ?qIxL_H2RT`9D@L;#(IjET?@c?Qnfb4(4~*glS*m_>3h7s1N~8@3Xa4l z-MV)rNg+3>=DieCl1o)<1zdujtWV33ElO~zBva_vF7wjo;Z7;Z_OmPub;#w1smLIJ zPg)pk2q?Hs8tC0$u7lNzZswAnZ@en+acPyo+|pKgC6zSr`sZ(1Cpcu;%VQ{|1(VhfFNVv51Tyk`7iKQ>U25o`dcB1_|#n^|6N2HW${mb zG{6iBg*K)R2Xg*CO|Ae#a)iMMv^*V1fT1Of?N$>$;D}z#Hm77@Zy^Lsu>H4dTP%5i*X4#l6rA~$uQ_6 zua1D#+_cU)WW|xQ<9$6-?KQZgPG+;)DLuDX#Rid!4B!YZN~$+1R%tJbFc&c42Hsurw@&Ou{yJ3Z-UC(9_K zeYXO1$Fs3JVq>-)0UNCq-RC|n{tRz){vJpV5G=*LJV#%%U+J;q*{4iQ!^eyq0`!)XGq zl1FKDaD)jkL&Ot4%s1zHLBJa4Y`v;?__VrChP0=(PR2}SYFws@vXl-KEl%ZTH_$>Y zL{2n{gY2H_B5Rl$CZHx-fexI&5~IjAK}s!?LNl*Ua}E%to+(_GL{y(Y>=gV3IlU&| z28ki9m(`X8R020~&BOiBTOkLGz9NKs2&>Aj9x$rjHJkn6-~J_#S>C^gp4}?3`9m7% zP=dV+EOATRfiAeUy-33aC+>_Ex#+HrV*T}mN{|0s`w)&fF%M!Ql?&DBy>#KJd^!vn zLVKnAT$&BS-X0XD!+34AG)w-@jrsA!Wrcf-6s{n%|c`*uJnSymveAuOzQ*tq;|b!vP7}5&geZDpxZF zq5^;!`0qvJO!jm%kAP~q8YNAAKO-55b>b?r_SeSAoW(J}Rtk}`Bg)^$w}zqxYa z`irfmhA6PE%H8kY{HpQ;h=hUPsP#){lT&gO5( zi5w8Hy!FkJ;@LNJw@GP)7+1MW5gl=O9s1A~6?P~pi6Lf{x=r9yE__Kw8i7K83%bbO zvDov;?oSipwbGLRmYV8pld{~$`xyDb*Q?VYs`HG8vo769H?_>{LhDK#aG_?|(v914 z`7y)Q88Rs?|29-!_?&EY{X$-H(%4yIUSGYu5|+=Sx; zBTlGTE!3c434x$x%vqYaxOmJZxtf%^5OXCW-O=Vj)?LvNaq);WnMO)A{T*D9&-TUn zIG(dVX_quO~Zjl zT#1tZ)N^r0uH@1!X0Zy0kS6_NUC&?wJ&c1K$}Fb@#P{E%74qHqS=$-t!o!CYOS|{< zdpldoSU1PF1gl9_A9y@9bpJ+;mSP3M$Ufm{#IHL0!*J zN0Fh}p9RvWCj|=Iv}@dNg%T8JXz8G-MZ}#+VQWpWBXv^1QibXA3xGW5D~D&tXpzcl zgjxIQC@|1$Gj|`qQjWHGUZl(b@TN`XN94nYi z%sBMCINM!TSZJ?RQ1(v3;ftx>`gOC~DxPdI(m2L3bp>{vO627uOAa{mK2ITIA=UJ{*BNKEFzuJlcLbNHXJxU5yr< zQjAOGF!*9~9KU-9O09ET>lMT93u{VTw4Dlv3{Z|MiuRnIrp_$rM#2Anav<>dslc0< zocHD1w@>~}pXTb>p%ufO1*F4}KAvaL!;L}db!rD(=*bMsgC|!D-|`+|hoot955TbnpraW}#GPi*$mxf4kOU@k5dHyqq9_jb z2x};1-v&8CM0D#AfufJ7cLLgS6%8hZr~YQ~4NNmtPW0L^!U#{CZn2!<1wO{$0FhDh zS%t2A;PE#Aq-!QvJ&C}d_Jp$h%jk_14>W_cDPKeU433lvsNgd(SrcNySq*QeTMP|t z=Vm57;ca<`gu*O^=y(vtAqxHv2#L2#w$Y0i zDz=#nhp*ne75|=`6#!;9jWD9hHiji|B=!4+?xG1uq!9LuT7ZJIEn-Goz{ zz7Ix;6L0~hq5*WFZ4%a;usY5aK%+$|t3r?Reyg&89QMT^pa3A^4f`OOCVSvkaxkI7 zV4!tnB`}X#1IA3nMVTqNlO2QT{}CVl$L7Y99`KC@s`OBu6bVjn`td@Q^c5~dk`2j6 zBiBf{3R9dj9)8_oMX|p6B@N>MtT9|g?6dea=QcUBsZ;lM*^rE>W5Qz%ScUpa zd6-?HAmU;2~h|<5pjRv z8*gvTD)W`41MBfx*&EoeNI7G+y64UtMN&IHYn}8?spccDiK?`3?w9~7ruuKvoREMR z@gj4ixfPm{g(()oC=!6HOw0;Zl8SNg7YU+cwkBnrp^(F? zGXL1&8Z6`LVXXI?{0mdMpPv}HQ=5DPzoa~5#20=400%@6NV3s#f_P1i3 zzq48f*<0v0#EJTP|AaUtFAZqfxNIj?l>t>Tcj0pT#vl;4;Qh=Fu!7U68DBTFC?!{;Yf@V(x20X&4S9x%J| zSxCp!_9#&AD@o)N;A7WQJpl;Dv*<%y9x39h;mOCSi#7u3q@}oN|NOIXMJI`hUy~~j|mGszB#69seg7#HgroacGEw_t~Oy}8@_H*7n3>r6~dtAy%hOr zyf+^6<(S`8R@1zb)2u!JVQWu&_@4U}~tYV!c<92Ohx#9JVoC zG=+fkB#7{KWDZx0bY6+<5;^fL^Zl-_qt6|M^VS0OBx4rXYO_m0!#&8#-SMKvVtzjK zKUafq;i^~j{EzQ0%kDLKT01QG0>o$d2;F1tp0~-{eE&EkHrL&afZgV*@>hHC6R-)QtF8ob+^WZ% zvZo3c00KIDS|OvT?D0{)DA1{n2y>;k?Jau>mlz65ieLr}nP3i0sfmlDC?(P@wfH+9 z%@w!V^S=-A6O0j7UG;n8Ca_r|d96mm0eD)aT}omKT`W{{oeE4C)eW4YN)?Mzs@1B_ z3h5AVDW?8k@d4${0Wr@Bozt&ACIlYs*=wOnNfaKsm>rZ?^i>mQbmP1ih>nnJ=w4yo zyRa}90Jy&A67PtKx*)fLHxUloAFt>9OmV{otg1cy9%12+8paDB@kc#- z^>%xi1fX+rxq;(_kfcEK26xT@7}fqE*73uv!;bE3zRTxAr4+YBeb4U^e(tGI&$FQd zjZ4ozAAr$DNoT^GSjZc!RdDO;yExsuiYLxGW@Vn_e%yZ1r3gned{`qV zE@p?Al+c#rm3TkE!g2+|8U@0H0wE3+b*M{(9i{T|@$YuLmZy>z_&swkQN*&3b>LXG zlZ7Zg&^iJLP(2_&aup~H1>Z8IB$5)9-l>^$GUi(_3b}x__(WUO{#uYJ!pXeIRwsL$ z{AyO#l1}v*YhaPGwPNa1drbe0qf6-uyL?H!;4dUU-!Q+)fwO{WVzWBm^9)P#j#8nT zpvz{s*=b#ar)3L_AD3@AA1qu`9aPShpQt6#pyKs8i}(OO|Ca_|T}K!_Tl)5y70&hHe;LfxTi zsW)_@O`~WSxcj`+dr3mBd=b+@__6iB~`IhyA+c=@q_S z^nE=~t_VxPp3iTOGACjij_Wsrape56~%oqM?|zqwFv#&dgR> zI~Tv|<`hE%O8$=T;YubG_!y+TZzXp&@IZvAqE~O{ve2ISzysS?H=+%?)3Up-8q|Me z-VcEHE=xJ)7T$cVR7w|% z{??W8hkZmc@1p%|<0q|(BO^-`jkW~+t3MV#?@x93-u%nB^63mbD*56AZa(g3X638? z=Zb0EwI#A*Q+9ktsy@y)Q7KoBFVgtLwn_HqAA_F;2fbT*LYBUVJ$%XpbG-nl)aF29 zGOfs6sb4>=Q4#%c;qFUCt0`}&H(`tO>lyzf$DRwxE`KgW0;tmD?S}1@5gW4+VVWnA z39R9ZYxd#>4nd#io{Dy&Y{Ig$BtDpR!K;OX{Dpg{3qHQMBsx#*(#7QnYk?HaURRQ2 z!#>}u5r5GhHUDy93%cmkq1=-#ucq1$ItLGb-Crp7`;uGOjoS^d(0^rCdfE01q1*4w zUg+}V{F&E&f~Rd(@}@?e?Zz-CcKE|vLiJ;lKfciI^mTw!`z0?$y2$iN! zF~Jhv&bf2d>VsD=;hmbDkhyI)_O~&eca$J#or`iL&d&2zmVWOf@1XH3)5L7+;OV+B%Zm{KSKvWSw^oXoWQ}^ zrJW%&?|s9^vT-V*Z>I8WdqSW0cvo(g6plc^NGVKM!LRWt@4gHnrTM1s>Vf@N<`knI zb~aTO87dcZ|8E;rGln(pMZqDwuzj!L1AeN(%0 zeKLj4RCiQ!*%g!^Z`epVR4z}GVCs#gLU?CWtQ$Ugo#4bwHrdUTaq2cLv66|M6|zJZ zu!Qh*xH-jCv=TE)PLB~5PCp!rEg-O33=7gV3WKc84!xWiKPmGq31pi#h<$EXyP8l$ zHuc?>OIBi}~kXVUOy9eG~Us9;Yk{ z#;zi;L=uC_qWdrU>#OK*`iI|F*t!vPUk`fesEoIS_)@443-NzDs!Gpd08+9#5622^ zh~x~1wcf*Bi|T5Mk&4t}#qdVF)UlanXzzW?O5~) z_5Ru-YmG5i7ptE^gd9PythxNtjgJn{0Y>Qv)vY#YX7^+sBgtuy|4! z)c-&YTr6WvjWq^_ubQMe5Z|6Httknu9{0Rr+04-BU5X2>H~gsd@|IL(J0iSoNZ$ue zSlU*dM zB=-emjVDdc-0d2QmC39WRD8gH$`=?P6_#@;od`9mtPwtjC4&#?mp!*gBfCm2TA=7- zY&&QY=eLJ-!1Of7jg`-#I&6We@s!?kFtfqN;|rfjqpRM zdMj*AOm1N0udD&#(smQ#T2M3GVrqI(;cDHxe~c$5y(-9^mCG&KC%s>KHM_SepF#7f zG>X7>dry$QeF+tNcx6V~r4#h*k+x&J*w;+P0 z09K?~3370RA#w+wcBk;MsdppFYLMdbZ0NG!im;3n*%Y01&3teidi|iFHnYKrsb0a0 zMe1TF>@y0zd)C_#4j3}pwM>?u!#19+w!QF~ELLKDzS`(Jni{y|aS!F(lNxF*m(T*w z)GwT&LvNo$JPfcr5@3~Hx1J;b6x9pFNe_LK?9SDV3m#%Z!;hwF0Y_J>1Q#U)V?h6^n72Hkl0g&+ct}<8j53b`L0vXHnm}> zlU{`~L6TU#Xb$1EFh=B5&3_rt~4(+89)KIdS-X9T@a_G}L zE0YZTIxX`K1sGZqLe;?32wzJw&?lh1h zk|8;hI>SV0Q78Srh93^gq%I59rR2(wwb&|_wW*ml9KAYz>6yF>x$b80CHWMEWbo@> za6aeEsgJeuxT=ZW07K^M-z~Iz`lj!0S)W5*dcY5po<5lXmv~95BS|(Lqa)$IIbLnH z<+VSvly0VOU!?)jR18QU^kQ?m1Q+O%G>#)&XD>!Dgt14-C=7-}%QUORY~$UY)$Smo zKT5sE_oN-#*3Lg?Aw!6MYn=D@vh)P>5b4o{Nx{a=A{C_^{Lw2)SS)1%H6gTtijuU`VtD3{tL?PF?!I^ zh7&ES>j*~@^Y9-`O)rHm5VG&mxLoU6+o7O=93o4@oKT5|BbZB>W{Wa^aJ@Qsa3#@V zWiDSu$YlV`vfjzoE29s;?Ss6woXee?4jO)GZzNGhizq9KvZ5WSob&&Y`0`lQ&|{yf zZ@dQNA+i38U&%NQLgY-Ff~}e_P+%)Gjdu6rOB?gbKJJ%iVaPwk3KaTC@CkqM>;li6ejRV(q``~mQLruH=f z$ywE{?>_u97V43IzLf(8L1Bb~kYCS`^;9^uo)V-S*QpmQKO!VlA{4pl6OB7NESf4e zq!qymQNLp`kmi)MiRm2S$*FXJ%-E2WE@xeT5i;#!_Nd<(eT7vr&QP+)Fqy6P7?eXC?xV z%s-q?<$nSYc)~^XP~j2N$R`|r7DsU|fPPxxi1T#X3_zfsOP_)Z^b!vwe(2GF^H?Ih zq=q4zXs15}5~X=)8{&191N#e9jSLN3r&U$IF;(LY9(C|v+ctPk09$#=%&p4YeWqrx zo;>=D#bU#p4AZ7%`JFi+&qhb@MOYY@Pe>Ue+741{KOxy+Tn|8vQIQuEHQ{3yktOK@ zV;M}UTpDjR7@IHo;Hr?eaOT4dVpNC_zcYeAiNBPrf=Y77IK{bds2H*#No?m18lN6r z#JJ#M?MN)W-Kn+HNqLg8b~UTAT}xmGPH%@F+sJwt>#VXJ?@T|ONaY{nqQ>&Gdnu?f zQtn_3GIsmqlZk&;7O^%$VzX-@t(FJ65l}oI^!rUtZ7{rdTVNE9swcvkTojkXe~J1} zl<9dpm-3t)7>9$N-iF`fCf0LN6<&@MXGZiG!tbjdHb}C52!tlVLzn=*ZHF`~X)PLP zW>o+AxBN28D~23Uk8_etKJanJm5<}ei*yemgTLm3W{?fJJs(66KXJRYuK zfuUi>hLr%|m3V$&H%OI4ap^Fgf}?x6n0S(CL+9CzbDCdq@Sf_wd)VNKZT^65~8@wWJjw zu!AYgDd*$g!`zay`Xns$<-yGvjKCNG)zgl|HDz?W)jGjI8_Ig5sPyIX8 z@szr-cP+00=qE8qCW-Lr0r3=2JWv8QCkFF{iq)oPl}~6z!&AGxZ$%}^sZ`XYb4#kq z6dw3v6m)K`bj!I@;nC$~^|TwuY+76Kwfbf`AvM_Fb-FPOzqFZJM`Rg8MRR`!mhn^I z?%lG{#JU~|;w2f?eN>fnVWm3!E|Li+(SbWZ+*y^ zEr@(oFLj6rx`b@(tPwd<0hGr>O=1ir0O7-v;N@90iwU*zt7>*-*zcB_PhZ&bd)a$) zn*PEHt`$}3YeO5;4C^^C|Nk*`F8)mYe;nW4%rK1RzR6{CYwq{jhC(iL3AxnVFQK_4 z-M5+hZ7yjp)m&3iBcVt$*HS_%l{A-1B~dC}zWe?B3+Hh@m&fP*d_7-WqPMr?^+3X; zC|#H#6_OV%_d%{KRw6h+vKt`%hH6l5Tl8L<5 z-7?$oW9F=a#jJY$c*VmH;GP1I4i&gZ z0mDtdd8COq2|)gd>pp#?kg-m4t>(Lp;$e0!9#N#24U?){2{M0m7mA)vSn>9M zI!{HS(@7%*yDKGkG!xqr#fs@T5_zqT?TUQ9y};{QGhV|Gn_%~R2Kl?0)T_5xYvJG>5uKOazTgC zrEnC#BhJU6DLd4y{laaGj?|Ik915sM;hdaZ`}4o>Hf+aJgmi~UA}pNrJ~-{HP*Oh_ zS;Dci4M!YN;phM3sEPo}>!r0Ol54>MA7%lTry$lxGRmwdXU=<&PJw+%AZ;GZnyz-U zH?gDLiZf}on*pX`p=;^tUNz`ol;PiJZ1g{XEPX(-?ly%Q2)v?+Jsp)kc{YrjeRqGG zVM1Z6iu6R2FZzR=xjo!cO?Gt-(Iptv#O&%o!2aiabJ!L#mXm|^E~kDxCA%4;SARR6T4rFaCuyb|6UlF^e_(@_RA zn*ma2P-QxZMud#b0glJ0Jp@V>VO5M?Vg_hdrxG#m9N~*@i7V z?Y(|9Z?GF>i2hw*z}Ta=qO5gryRQslNCFab6E_WBU>iY<`1{+IZDkVFp8<6Ie76IL z*>(z80i3#Q|@hasOH z{L;!^hhM}Z+9&6)F(lkX@u34jn@0KnBA_SeQg<28ld%%bJgIR$(!lV7%a7it-%ZYk z@%Nj2*{>x*wK{MNM9?KJ$lq0Hjzc_orkO0d*u|GTi%P!(3;TOqGnSQ}BM%o^w_R;p z%;uocaq_!7fznjTr7*-$=ku_LB{UDl+VNulZt(h;rA;%`j}BH3$*??|Vcw!@FOcF< z)qAzTl;>79V$sGF*)d))>r;b{V1l7k0QVwD`82|^85(sXD_|X_{v6>mq_!LSDI?$ z@bq5`7p{N#GMXv#6u5JdXf0~HHaTA>fM-l%S3!e?otI=mIO%U#*%YB%2fT#$OIi!p zts&*$j2yr!pur1UsUQLgM4)<*X+rl6*l%TcECa^oGrH&qNt?xpy05#7E|3zxaC$^u z!Y|UCH^cEb@)d>D_XpPFmDZQg)JC#ndZ+2$`?A4hK-2O`26XMO^zAIiu z+14-b9zX`_P@0o$GT$S)hMo+-OYfaJ(Gm)(mPGpG!cZPA3~^PfvXZNRpw7u82pzCC zcc%~&B|P=Z_)z~Dvn-HWAl*_Jb4Yjk^7-vBWu<_dcQ}tq6ETo6d8Elt32++Smr*yv(&#{Q1tERAb* z?o7~KrKi*9gHQP8l@ol=zvub4IbWAVC?GF(MCli!)V{pwjTr!NG#tXQa6AX+n2XXm z)CXUHD*EB;AVzFFIUi@bf`zNW3~`wt3BLu{ArezdLNjG@QUY&3M|V`FuMbGbcT*#z zJ}qONWS$1%NeqOK3lMQI!^SyZp_3nu&^)IWo=ceI?&SCf0hgExegH74C;_Oa5gYV! zqB5KUx`HjxeweFcY@wg8qgN6Ht8F?N-^8WoAN+{35qH|wWg;wzxG^i_6oGTu`avAt zUQ;;cRiA%tsKP%XE(?_zbO*`}o~{|XHZ59ZfM7B-9*gfuBTL#(Q1%;j!FS&F^Yz*m z*$Y`=w+{>kIv73=e5tRE)XApR`5^Q&+zl0c1ms(btym?bMgcUl$MRZ@vBi$_XTI1( zMAfu)Jxw~*X7MKDh{y^V$kBRfIb?Su&CA^4NePTvf|UZu)S`)l0b)1c+YZSUQ2Z~|{W_S2rsSJhXD&@b{&+?-U0WbM|M zwZGQF+8;W%rQAk8h3RMTGNl9Y1*Ozk+eZfuK4m@I7}dKH;(s8V(8w{#5d47bR|Ysd z9d+jw-c4=dhQE1Qc)mF3MfIuTz)!;KZFdunK1sAf!bTY^=@e4&+|x+Se#;NJ&Pui# zZxTbdQkqEff#$;Nzvju)*N0?({yFybtaCs_mtOA==8^yCWUo3WgHf*XwqRn)HF zLUC|4)TmL)7I8@4K^!<@-j0%?nv`jImQwo6&YItNm)O}MLh-k3 zgrOwzWXBk}mf3Wav83vJ#QBwRy=6V$$r}SynQS-|cPt3qp_E@Aziw*k^acAo$1PV|RV(FnWtoe5w|-`RJG-!jrkr zm(S{zKRB9F_2opR`3^J>3&pR%@@2L^t-DDsIici~_0|Oy%Y|GcB4E$o1uwXEqb9tq zBy5y0AWczfN5I7kXVI+TVX>9FN0N)9+PBG(MiR-!+*c;-mQWHs3y_D$DD;V-SmexD zjr0Pd+O^=WDv#7!CpECy<(d$=vqbdtxv=s)_tCaDfS)Iu z(^JlTm5Nu+!|iQ+--vm|$@p^jdi4p~U`! zpJK!y@bnYKBtjOl^8f;puOOE92Sr&gI*y^e^ZtCmNjJ5W2h*eDme;chX|(EHnL>-G zgp(EYZcpsqHd`ve!sXfYn#-rRa(Cx_l%{1Y zM!-&hZarAwh3O;g&4f)V4}Y2>j;W*(Sjq<0x%NyuQu>uZ=k^vF+-*!tW3}FTpu#Hk zgY(go&rTicMThq-4TDt@hru}Hzy(8VvWM~{z-sL{J=_&2)&FYOHJL33&|1L1iff{q zTC)x*@dD9GBuHV51Tzq<-(0-ntI|Y+ng;>T#+fTA6b=tX9303yaGHg#$ru#t!FI^t zsn7TEjwv)H968nZ>e9If3+UEH1^`Y4{s+NR{e`#E4^A=)zu|81<>zsW;Qkez}t*yuN$u?Xd&Z zzq4c9;yY+m)Y+`hiZ{A|J5zcJ<3qG-J~BtmM?cGb+bp(siyn#g1N5O+^`JEk* z(pZof)A$Yjbrc9EG2ZPF{GHYlIGd;}{HMgD%fSB!(Fl|Bj0K^ZJGX}0>Nlj}zkv!| z62nxK9Hf+su%a>vG$w+`q}8Ep+Pf9-%uwqrqYPy!M?=)_%QdfAWjO4ua+W+C0Dv<< z)<7Uxpt z2+DQ%c3o?u!BYHbmo>T{(bH1%r*{7Py|=+mv#)n8nlhJ<0BR8GU)=i1A%jj8xBnBO zseNcG_aU-Rzklt$K<%D)H4J-Eu`j+U|N9QaENCAc;?T0^``~>P_wwC`037e8o{0Iw zn<*0xATV;XZG01nMU@EIg!I9BqXW~q(LSef*OH4}`wC9|B51wiD`EaZBtr4-9x zOE=gWI%ro+Q@*s<)bd_0ORP89yQ`Cu8n@47y1^m5I3%-CkK|%?ME1gU#=wTU=K#>< zldh&WE9ujq%)l|kP>_MyxAttUA*1MO!E?pY=b9y#Uswq5JBnc9DRr?(LgMl%59 zZ~ekNXYsdt?re)Mulp%}gR8a=hE5IcQ+w$B2t722KHVVsti10=&yDl7l174?Psj{{ zu%dSPUX|!xsGQUpv)X^3E)F#SCJpX&%<&~olz_$+CAbU|lHS2}Fvq6p&31Tx7DAb| z{+Ge{?s8*Tv64w zQc>H-b}9_oU8dc^E$nE=0~Lt1XSSVSbFNmK>c1Xsv--?`=D`1kZl;=bpV~S6UyAAb z5TY7Qw!QwE>Uz_Yry%_dt^ZQ`kN1J}1Buf|O2mG|8ocBCRe~n5Z(Fp_8w6UcgUz{A z=^s~}u02}ffhx1$LV7EfU-m$UnPwc+xPu*?<05YhUQ= zI|TjbSoG@2ztdGIzIHi-T~@6vh{j3U=l<&8(pR+F47wvO0 zZ=+F4k2tI(w95jyH?ry$ENk>q(6z~{0R4o*XQ*qmuEMTdQ z0k$6>x4eP+BBrwSwjFVnZ3A`K+R>IU1~IR7_H*4IH`aX5V+G?%9>=Vkv6joQ_w`U;TrJEJaKRic9(+RFYkvhj3-3~~JKJx4n=POBER$&Kj= zahomJsTTM+^gzg+3VlygZTz~9%)qYyri}xSpgv_3EzLGMvNV#fii<^ZCD<|M%`szz zK;3Ac%q3-wnb_iZX3?|6Ou~BYY7o!@i+2QU69mYZyM_E)xiJST+Y#zSBH{}^?~au0 z^YwwK;!d$CSKiL@)oN>UGTQyHlAvP1s}}2)1+y#sE2N zIp;nG$Zjhmx!bV~S?#B@MGn9c=v>*(mz+UOMF86f&xEz~J2~~0COAU)h%X=fc12N%`+5f+IB|!$gaJXf4drqyy;vw|QZ^}br!9_| zdzu}Lsm|c%9JkJiCFUgaB~B3~QaKVQc@pU~iKAj#xdC2;#qZuvRhZ&z0QoTi(Pd4n3?~T1+*o5EPQWtYYKlY4{zGI6VN0PEV`=N;(_qDIwDCRmP$99x#N=N041%9AQ@ab5OS;ttT6m$aq`Vdd|q_N zd=wR|6x+~d&fK)R63LA0@RclsJF&^6aP8v!V0@k)Ro}G}jlddbu=k~$ z(AXPZ{NkX6A>7gL+EsmhlOeeav(~r$BId`(B5g1iq!0STW&t)T#ku@Ujeqj3`?Yd0 zp-rpZZL>0tlVpp6H0w6I1oY@njCh9`E|Qv*Q*R2vJw# zk*8*hPshh=zq+OK@W|Zs3u-h&W-QaWh3ydwJ!6tJ75MpTXo>ZNH6mfeY*$VunqLpg1s}rZc?8~xJS+S27<>Kd9_3OF?)G6o^R9#mhV$(~ zRhj|d5kTv2-_Gj*MSd$3>zbzFT6vZ6WwYPX9WWA{lyOPqYYnxSeQV}7L4cF(+rc^; zz&VTjOBuPfjOzWL;dU5l-xjEE;LiEKdYXKeWeYnv1JS~OMbMzZ0N8K;D;&Ja&4qGe zi2imG{%>;cb(eS19bmm=6-v2^9X$3;1|@W%f)ESdpIZIit-dQvOZQLA#uyL}Qtv;{ zvSjFe)xg`4?5=%6z+9Mg*NeUF%Wi=89@*9N`Kpx}nbWMKn;^=k81NJu5Q4p z^B6bGb8uORclyFNeKzvj>K*6oLzr)1gZn9zz*yE1h81VDi~;)bWd|(wu;#Hu;DW3y z#s;bgN>~HnXqZr8boPcCg2Yu0WF!|8XYEA8`<>oeuUW1#B&ciej2Tc&!CT;!BehAd zhQ>7H$vvMdzl^kYWFYQ=+z%UB7Y|_~Bzuax_4T#K`@ZQf~IrQ+6SY-lnLH0or9Y zdP|QVhTZO&I^tu^0j@U6Ix6`#)0N6zD_j0K8`^RLf zq)4ry?Om3^waO2E&n9sKHmpCrIi@?qSZa!Q*`p^(;(*9rUnp-u3MjyfY@a_r#wA@a zk&)MBdO(n=rvLqYt8e-;$)5?`o;vnCfHi+@_*(uqcH{HiwcHD+s`igq$sNCjMvvW_I#$N{b>i)M)g^pICH<`4 zagoHg~Ol&ylyHZ`OL(gTV;p4C2K}5n%= z)q-R0XIUMEscr3|O=L*|eRk@=Wfai(S{kmYD2xROPBu))Um_HDcqE^!_~79<6J?NQ zZ30E|T(c>uKj*k7bl#;fF890O;&O0flFA_Tirv;%&S<&p=7{+xw5}zUXcCFzS~2Yd zK%3DgRV`9x*1z8T-(%JExo%AtWSRgJ4J_V~t0HH@=A4UXnA9mMvg-D#QkNNIu)b)$ znp8p$&sCQuq=h?4g|=%sHaGEAWT<^|;>E)$_A5%o{+&N26%s~1s2ip#7% ztRiMbHx1GlXsBw1HWc&1f16`dO$2-tZKsA`>{azgdLM+rjkPb|lDxc4MkP6LK{>do zA0rt@88|2!U4#EdAy+7}6(wPygLw*nw<62wWM#I}Zo~rt>{(Z`QQnG)^1DZPW4}}s zfhZuU_QiqVE+Hes6fl`_CkttOfJlbn3)d-do!O!28VWqwS<;a0lJsS3_Qv&gL8Wq3I%Y_SoLn%eUX?jwiIG zy>C@l^iKa8MG=gsc05kB%uCHm?2yD+B3_XD;hrX%krV&**50_(u12RDAOk|0A|N36 z24ibs`${XGm7704{5ou3X2qgFcyd*J?1JF8#R^Xa=+y$nh(7$nMz!0nqoIa^s4NwO z8mootXfHK6j$o)W9d$tvoGQ4D zY`vNj-bCl@&`|G)iD#D$)jk%_u?|6cz1LW_f?F#GOybM-cRQh{>m*80s|LWF4 z&R1V^MiQBWojhZ^Az8OQr@SWnem6dMGKKpF9_ne?`4|}#pQ-yBD?_n%wX>gO|2#eI zj9~zX7#J}qW5FdHV?ml(2gDnY<&XC?*RDIk6ZM%7JV{R7Cz`-CU-BGg9ZgEq$@e?R z@DPNz0M@@W=!`K$0(kCf&v2oc0!vYsc_$b{*%j@Zc?ejpxK&k!Wg8{p@2QS^ipU~VuJuw&Defvr)FLMim41|Atc3`{k4qKo=IQ|9%-p54#2)!5}e^XLzhM*96Q*M$?~rv}TK8X{a3zU=in@e$15}9kN^@HZm=>8>&6d0#GVk2`l^WTjuMdU zL!N?>x4X;UCpH|8BT4EDy0365^z(xNk}eFU+6oX|6DS1|zYQncfrlZ=v4uwPDS(R` zr|iY25QdVA+zZp5vh>NR&F8+rHW+z#TY?VO&*lMitz;mjXPe48d9Us4v+L{QPuT7W zSzGq9VT77Xo!@lIP{I=0=3-MOVCXXHNlK8R%Rsb+YG>YntngEq7npQnZpq!HS_dME zTMMw9MsT!1W?z!bYB;ZwNa;X%PHYTp7Mm;0YVmO4PhYv^cBt~ASK#}kwyussPOiUH_N&t!$p*z0Q7G| zpr?250cHO>x=2F=co(`$Y03`h*WGuzB??e4M$m?r}Y{Z z5FI>QLcg5Upi@&zrQI=CNBo=gbvn)X6or@4L9>!)bFgZyfiyJGr^sk%w-FoF2`qSr z_;y$2Ow$n>#7qv7^Zed-s^rM3T;$m{bxp?4xGDkXDhF#kazLk^Hj4Mkm{l+$2z2L(IKVk=(CWQkQzm|#$lnVq)(nT z6~|v&PLU}Fw_Dkxn9Nw{F4lykP3^x$`QI_8<#;g1)W#kn8jtp;SbW$GJy$*fc&`72 zS`UyqC)2ieX?6zK5@>QXN@Co9QAy13Pi?xl;4$N^_6{E88wUROzVy)}S9oyjBKqvM z0exDXEzWrMT4?-_rF%A;QwS@R{(NMQC0mh8t5gSkOY}12E1ES@ z6sM!#U68m};e5n;NG=auKRTX21wH-eg#Mi`_f$0PkXb52Q^j|Sh*KI>FNeI}o+@5i zl#X8r9ROmZ2~2*uqVW*kxK6BPW-z1$7hJNe&PDA&XA-KSua zaWAuILoNt2(R0ou!6Y~TC_l4U0+-}a@UN;I2LPKhz}6&36D~^yuH+~J&W&O(q{rSj^S9}ooq za@7MW{7!8*&f1ee6{IBxL>qaa?H;sp_|e{$ibI{S$FT#7f@wk8>u#LJ|I&O=%YYx$ z?dK(_kjB7;i}OwlRR(c(EAh|=NvV~*;C!HK7Myec<$NDb^>ftgi+%GsM9APpm#8ox z#&q`jiblWpK?iT8CmDOOkx$lvwQOm%Z@8g#ov`v*CIS6Q+Z?-@_=;Vs^zgLmrKv&! zI@63ah_?k36NG;xD@Vdc#BBePTpv7T(24{$H_tSj4EfchB-1+bSLaa8Zvl$VGCK`6 zk#8`Y1gW%&pE@>f14e+0R}XQa1DH9XRjngP3%iTx(Wm~#_*1zOS_NwR<|(-d(K4Wv zAp-Ud`F1`|`!Oli$B=L*Ux{P3c>|-21@1h2dx4A^X@SHT{11c?Xp-Jn~j+ z!eqFNr)t4V|9!)u-527!Vo!_S~zlGoMrJm4oTL)&_EhkbHE@LkkxPDl-Ld^Kch^i zlFLJwMyJ7cc&s^l&}vSowu+-rAu`&-W;fjF@Bx%P%Peroh`MBBKB!Bp1*l&<8YbW= zR=*GAJ$07_&oLTK@SbTOqDtYZ1fYP!TwgpEjdCM+1 z!82z3MOc~X_*ah^zUHJV_wAi8@7NoG0>Bu`VeDLG@!cY;7FB|DeRS4I;g1nLtm}%) zWSx|ED(zCEI^oC6HBKdL>rBVeGLStTK)nQl-SV0hAQReNa92G2*+Zuf<_aIy0{Ji9 zs}}a>7v$d6(5{2sFT9cIZWvL0UHENul-fkRIChE}0-O%N6JLy*9s9)z_MU$*HKwzg zm0<2UuoHtN%nP-71La-l5dWz0-Le=+ks_Z-uy(X24H^-pCroSq!{l;r)P`w6CQrV% z+H9%;agLe*rn|y>VwvIx4}cbD9ZfJ;llkN9gZf2Atq_j256&_ z^-*IV0LX3-K4Q&2vK6()#EvMJAIGJ|4=*?Ol8sc1G0)Sy5h(l=ED1i)*|a^QN0pvx#Vzy88@7%HNKj_~c5S9lNvQ0=+8CP3)X<}e zt5}+RvGzyAzR|@;AwJ3x(0%2FWCLUbsPejQUmOMEx>?#(GPK_u22|{18mVCopMEXB zlzl$!pk!|=1p*?f?Xu>BA?FJJi2$n=Ll2LsDbAQxo{k2j>S}93%H2~@ToUp8diKUG zv^|qR0^3=GrGgs_(MC?|quFXj(lxBy7G@4VF^VscJ*Q8OW=LS1Q=aE73q8sq`=MAT z&vlgOk{{ZO1RwGMBN+jWp>t}CeV6lK8SP3X3`_~h^NC;wp6Ss!+R7BVC98foJGU}R z!5RvF_&wJj^a8R5ZI+YFxfDJWdD5>Vq#1DjVa_P#Qd{HqdomF_3!-~Nf_218HGrl@ z)h=1RSz)$u9R4dy(_LaSQ1QnjdF_LUA14lEvY!kU*Mq8sSnHNwoi_##$v!j;x&OvE zW+L1i?Pvg?pr2z*WUq!C%GP|=QF3}0$hi4m^_=+yf{UM@%OvuDcryx>j71NEy9v1_ zA-gUzTQ>u;MgY5NeBPl%69IZ|galx{q?tprSN*`}Rwl zRP+%OjAH<7IX-6&fO!HypnG7209FG-I=3BWzJ)9t*g^Aiyv7v&Y}fPo5IXtKTgRW} zQCIk@FzLSeciWuAyXgnM_88k7HsdasjB`!B$W`dznlww7a} zH6I5hFH%-4@ut7=>38DrPMq3wa3?IzM2UentBU$fMDTH~nu!-KJz&S#1Ye@S8>)R) z4c{BY)#OGhbx&vqVrj(x#W9yrf2?LfQy*&_(bAWwzo2?U$BswqJOUoS&##~!Lam(7 zr~$p_g0PX;y~n3)I*vEJF_L{ZWLGIr=o3H!^AiIEXEMb>p8N+s=q;&)%O;Ija)f@Dt`P}QCc>&#I}5bCTsSA}mq+P2A#q4gpK>^q8I#CYd_A=Q@# z4>Xj0>QW9kX9)U&ynB!iJN8VWgZPkVfE_$toW*7{JHF7*zf$}>-dLS=Ia!-!iAe5kZs4SthrOX z>c^t1Ov4Jp;j((8^*P!BP0fS1)-9AzrBC=(`i@Ts!fOP4e+(qecgF)P)MQP}CMlhR8ts z)xYNrQ2Ad9GNw+B1AvV9Chwq&eGL+GC*gfLuD!#q%*P&ELkjqoC+vNG3O@*Fc zJFJ;rUII_Oj7+^LnL_gI!@ZJY1E0poE(teEGEN=FjA(OCY5#ZI?dPg?V=CUDuRWC7 z`ES})^yQM5t|%M?p0ky{yYx8xpGV99KV{!i%;6W@4rb0k-; z@H|!zlR#reAh=dXS36yMCM#|og(Z@~5?`M43f@J2(LgRS)HKg@lO?%^y%9E zg%QqK(&5-~YZOn&M(v_Ro^Ah~g;4ZLirmUzfwBofffeg&^-f0=0~2`su%%%(w9;(O z7?vuPQr;P={zDJl$9dnrcNmAmgaFE2odyd(G|GBKpTqP^(*9yX#9y=Dv zTJ?K7!ZFtAQ|`a-*c`rBffXBiCd`sdawvBH8cm-rS~&o z)kpgY(PcIDtd)NBq1J7_(VzDqU$5@b7{@=UeYird4j7Fx3{o+Gs~u{^LzS{!5=Nwh zeO#o~>ylv@8ru|J$Dd@oXd!(C3s-?p|K%b)D}fSfG~JhZp4pF1aU8?ZtT;bg%*dsu_ ztGiVwMIM$wi2cUc(qv!Db~B68FHynL9>svo^>Kx74J!*Z*#9tB++cUjT|5^_g9Clq zkpmD343E@@wO&SX+=Ak=%02cXQ&8qU72u}7hgvyNdB2@HrAcXNvM%Ivwox)a)Z(Yu zI_h>|S=V_XElpPLgpqwQwQ~C7M$k=D34|3LyH`o2DY>CNqwMvl=KeArnXF5G4Ptvc zJvZDFhlrm(xduU!GguPmt~cp>BaK;K_h8U9;4kP-lyV(JCtpFS;0G!PjZxRyd3AM? zh4{PsVZ#N>;P!^pCt)7=EChx&;D5FGmFu7zH*}kg4LZ?a82sbgKOF>0#C#bXM2={V zRjBC-GSQaeF;Vth99VYlacihz%lc|win4V;QD%T$kA>kO>@IYnz!ZlsPCWFTJ-#Vr zV+r8W8BcEzXbUt9k*N`xoNtuC&_&&Pg2t!o5>VTHDSXsu{s<18R~UIccJkc&TMBAa zxRKgvMPz{aWfJL$Ua*Oa&MfLYhQ)yrh`=CWCb-@?i)3lSHp({59U0|dxLJTpGSBvfXNm`WycIMBHa010S>N5(sNbKCxF^z)|pCYGeQ`w z?Fs2>4p2fs6?M|fyJLYTuSZ-o%c#pUsK_ej^_EM1OFOTt%SKQF6^PZt{BT@6sm{P7 z+ijoXd>q+H5IAC*zm0wM4Ioa|mFHw*Z42jQ^zIluD_q5*d;t`xwjg-xoG#XA8F1p^ zEy-Mvi5`c#fJkqFjKImQ-t#Vq#*gzx8Myr$r8iG2@+vhZkGCNsu@Hq7rC#H~YR@&; zIn}`2-XwbFjrMd>83SmHeE zVhMZzk-mV`qZWeD)K@>dp`2VZ_KfNgM4* z!=ZxQEaLCd>I63K=bc*IT{B4|R#O{|4tJYiG41bt^1dQ9KIJ};=L!&ZB5WQzcCMEp ztX+5doB*qEOtY-qp;{xGb1L8=_aL$KLe*5Qf)AUIB2bx#7X{mv1NplMH4zLHH>^F$ zV{Pa(yIWJq8Ji4GWh@CGO^dO!Xiz>LN`^0$QDEV$8`u`urM8a%aMa-BGLjC`5wJkN zEl9xsnOTpVXi?1IvDn8XP?#0$5UJ%NVRit8Jdx?*J?7K6Hw$%_E^F=%eD=R(rzo?8 zDtGh9klMLTIruArZynjeYK(Mb{b=;cSBaBR{Nj1D?8HPBnzpsGSwF z*Rtw~e}Ed?5gD$~0Y73AX#&@}_$)@1&l#U!Yk;oeoczx!5F?f0=GJStjK{LD=w~kk zlI@imr4&_oounsM9IlW#_Oj0OTjOZ8S$Vn96HnU{P{WgBx1USyXMiG=kh%VOS6gNG z-sVFs5^Ql@@v9Uykikp+jfsd^BdqmB`QVqa8MT&5j>V&ZD`{!^KV0(;WLPy^r+2lr z>qvu>=uJ(-3$Q6+@$muG`HjkevulMPqWlKc6p4)xMa&M&d(}P9D@6VHNz&PmO+Z;T z?V@szP+@zfv1<-M1Me;Fj-e`OK$wsx2e~`(JbSpKA$vDxPtGxljlyteVkOw^L((%yeWxJLp@p&B!k*YQv;uLdwd z{{Go{t<|ODv=c6XH2C5spFold(o*Mb9(d%~lh~hMHtZW66&Ew0_GpDH^D&JbGxT|3 zD!Cu+QYadklrO;q+u`~wUVKRfEnlQLCazDr`*1RqLB-#e{T}U;-wCF`f-9RbPVGA~ z)rYvLQVR~C6OYGLe#bSNS@j5|{peon>jIri-oR-4R2KUc@1inq$Gv&0EWHYbL|@!5 z01&387#N215|Hnia80ORRE2$mOr=J5IF5?7A2PBYIU1gO3E8A54H|55x!sZXSq~}} z)FN_`avnF!+LO`>nkvIEGphHe3e56#vGMV{%O=o)3rb12%(I@(^?R>@;vOX2xX`Ti z0bBe5xge)MAiIdY?jLCg`RJTmoXHX-pM6MP*?G;fEpOJP<(lV&%a_!?<(;Roun3|~ zHt8#xqNTRe%f+bS?tZV%C5Zto_-R^$3vJp33k|2j&j@-uujgtV%{Dv=t#kOAQc__xUC&BEXHK*`~aLT;t}MPn7WZo3qq56&_H3ner2C#A;J? z$N7>TR8KNI z33wZHN_qme7ro}l(#)~*vm(hyN#HKhwy;v>XZ9a^_zP0xZ4BcN4cYyW>0cX`vdk8T~kIPDZ0grx}Hd23xB6%`?rHM1h4ejoM;`rm?qGB4)FcDo~l5sccueyx=in!ynA7aj4X|C z%14jD023MDMpK=uW&cYn1Nw>FHc`@sN3)5Li$fwfhK73bxz98LGN&U~!+_iLEviG}U*fUw;e#h5eiN5Uz2{E`pzy8_b3QH#5(HE<~E+VYLkf*Che zou|v#HPunwqUVK=tszp)f+4h*Yot>*-6eN=sl-0#7IrT@Ni-6UP(DtCTg8Vz)V@IJ zz=7j9oGUl=wUBMsATEsHR)p?&s_SONbf4JW)vysbgD|?0;va~`Wv9x#E!P`=j4!Ed%AR7eQ{A`_rdWO!p>D>m2?j6;p4~Q=~IM*Tu`xJICE! zq{9KgZVu@C**1=!h*XhnVC0q70yQ1#=$ntZh}eL-iBdAKU^+>9u4C_09r-uIp+ON6 zkg?Y*O&65_hqp|@38GztiM)SVG*3CHS%As@2ouRLDZeG`?LmpLM-AZ*30OL)A^Su0 zs)(lB)gLJph2Z)}4t2F&*h|d9F2e2>N*{9ve~cKJvU91OYlVsk1hCO$-@S{mA4l|PmT}u3*q!tKOU|f^N$ab9TfJ*U6a1j!0 z94+6%fcTU4o9vR{VVyex6GKZaDOwJ0^g$nOeQIR9e9E5IYqku8XX$rxYiZtIR7(rM zJ-(QF^9fGeDfaqY__kxvc6@QRXAEfA_)Q*6XDix2{%#+Z@;^N3fb7if@@eT4(+4id zA9(y3*6(yvRQNZjL;B^@@zaX-6Sv|8oW+qw?{9H|K#A`+zFtt1-w?5mXH#*})UO%C z62iqh_8vR`b=q4d(wm}-Xv2GNJiDbLOr6V5Zr6WSQQ*s?Nu`H7HuK~=9w6-5IQ;Pd zF$g&H49%!>n>b(Vj|~k?Gi+~~dn6xnXld`wUC{UIuo+sv;f#gYf~Ne?B{5>#v%dAM zpe{EvOx2$zE|B<%0C)22PSgHelMPRk{ysy>=-Ic2MT)OqOa=T%o-a;T{<0q?xjVuM zdIRgRZEs*FI7{-uXU>x(n@MNJm-nxMo7vM2S$jD?B;1Xwdp^!C z(U%yl_ z-=MO!XQLS(%Z_RLWyF3Qjs5*oy|yJd?*8tCE(j!qyvoyyXQ}ZBC+>a#E=|=9Lk}MZ zpi_8|gzqT|%zfP-lMh-u*i#{I$LkW(4m+_1jYOBC2^2zW5YQ7$K&8srqO_K=Gc5OW zPaeg6R98C+#xSqD0KOUdSkjAbY!iGb2I)E-2D{=3)U6*0R!H>MA83JSX|)&qRg|Jf z6U(GRQ&@0|_xoxvjsez(GXR=*Jgq+7ZQFYKv&`G4-#NI0Q#%lwNK0`etR4(#dYZ(E zuS|UGw=fdBP6PFSVu|%xwK%Jcd~E*VScMRuV2amFhX2`XAtx2tR0ZI8;S=%!H+S{oldolUqpTZs{_MhG=J!ay#csVlj@+DR!ZQ3A`plP zP+`{L2;f_`=aMfYjabgrSMsg1ZUv}2z?~og0+8q_={%bF3l!%8E|tH z(_ATYcn+gWlUSA7ZVryS`@8B}!&7gLm0y(gw%TpA=c=lvhuQtB zo)y+iEwlL6J1$Xi--^FfEEW6Y%~tj#Oo7mXAFf>qDnW8)WDHm8L{Fmh)_FB#}bmRHRy)CPs$| zfQjlBkjCB*Z^zEVdqgQCVAI&A#(tyhRZTOyKMu!3>Mk}wAc;H^0tleXLy1#zKf`9| zhK6>{ZrfDcYx(xD9j9DyRAnUVF=1oj2GQF_y}7?<#Zq0RN&Ygjaf2$C6eLd(Vmfq` z#y?{bX*dd7Mwf_DS-!2!mO%(j4aiEW^#&jyrmc9SQQUO*QW63(8bq?yw|dP)WIFr| zZO|H1wzstkRVQ4#Gh!lXMvrR#ZFkE&VNj?4r@=+#=NHv~s}nAqd4}Wd_du0FRzQ3b6@_wlrzUVPCb6Ar zvvV9RukOTDM=~JkPH#X=y>#@2Gy1E!C;R~tOpq1J|JL}g)py8Df0PTe&WmSn&~twK z^-&&!ijA?}{kjBBr-IW>D7UU6a;YiBqsUqjOe@*YO(e4O<5 z6oh8WseXFal&@$i^IvixK^ao>p@vZ3KKD%5iObQPUV&e!Iz#qI*f(p7Gf(1L?bi(! z+e7dSNw}YSViuo-z8>IpU0US)!|TqlcF4M}A^=h{w)b(=UHD@|-NvOqXT32juW(Iq z&2oJN~`Di3kg5S{mVN=1jKXbnHWVfcreoZ25tK|J5^sZCf4I!xt1V zt7pkCZN{8++!0_EaVXI5b=_=AJ$DrR-KZgpir9XP)Gt2Vb-Ky&1u}&N2}YrUhvw&$ z5&Z<)I3AblE=Ce>$QDM?M=R`h$p@N2H5J}e0wn2sRFP4)|>4m*Y_^5fV3t%A%KKCD50*V^me)YFskR`tYx&6R; zo+);Q<$Xu?j32Q63g)36HSqXFpq3!;&oN^_%AQ!0K^N-PSVA8_%{oUKWQdO8Op`-JTc(c(yf-^KU2Azr>po#$LNt?lL5S2#MgTc}-g*nyclWZ~!4uP`ubMlB zUE6Gy)^^PV)GvYvtRudLcAhbq9}|iRJv7-gzYYcf2u)(z>s_rHd8OzTN%2xi#cRU7 zqtX!$IqD#_EXk^)f*b=}LoqmT;r;?}XH-vZLJEV}iN))NZqA79#+WdWUYi&W#)B)^ z87~qMW~d-^CYP>gXhK8C=!;&<5EuAqXoVOPkiANQNC;8cAbU9CsX!Dds!_o4i3>bg zs{GEK1%N6xV$x+jNnbn;r3$yp4qzfYE17FZ+|=udk^q3ZT|I%!(l5y-!Js4}PKC2LDLI!e=ilw&EysV085)3|<26ctG&rpe* zybT0XL8q4R1pCalpN=6$J)*g3 z9SB=z?oqljB39{918Sx7{TE@1T!JNE15po?)%!N$V)7CT7T**A=I$EIQ9NCZ1eB0` z<8p+M7FKO4pk6y3*M(FV{;&5xv@T=%!hzEV56vN`zl;Igx*poR$bV9Nz14?n^r!vU z^_(ngA9A&`w-<1K3p8(Ui=_^kR&aQHSDJy?~nq9z!yTO8r%gR3x2Q~4tMY-Q0#8458;Q;K2?_=A~74Uj3C zn~zkh0xFe*R-yu|X5Z<(VKnIUMQ5a@*l1I}Ac|-V?WIAbt`ra8>9cYB18pwb7H96f zIIsl~R+owMqPlw`fHkVYQV|W;B!m1 z5U8%rNOx@8PB15}gdsZor!ynZh1jdJ4FZi}d{K3U1!?bj3>@HMkF! zsT;_aHjN4XZIrI?hRd1blM2sG(*E|ntu|OA7J;@YELt`eq=Rl&qmzKdWwS|}i%d`3 zuU_?pMgu@^TDB+AZ0vVacB#uiZS-Q01d3z?GjSH9O?{SU4_O~h?#!c&qh!;$ zpim?Q5tH%^A$3ON%2&g6tU;W$i+7txur2LgcmwH9I7^ISx}Ii`HbaR@4DZC1iH$Y4G_mOw{_<^fePE7(L6pufOKrq2cnKblGu`;>9r zF}guo+w=3(+f((m37}bZv*zT%yBoy)4YKXjYX(CRxd)kQZFK{!=XBZi#_MAS#eb7g zJuGL%ZwWG`jJWMFhiRrt9}V?FM?3;c%5rkyG!n|@o^XpNKCN_Fqq&G%>tc7Yp<3|k0bi!p{)IPmnB()wGgeJs z2g#KJlx+DiJy*l*Z>@Jw8F9fX)1ZeZJ3s6N|4;Vha!OvAdDN~`hEd=%tVm_kzG&E@ zX-m3Em9|5;n7JtbW{;rlfkdMVH-NRn;5g2HWx@0Q(ytyb&>H=C>icaoq|Kfnb7_8p zrI9=byS>VUI^NubFlQu<>ym?9ss9@AfBFkPGH|3Z?0J(wvS7Co9e;9R8U4;plj{am zg;W3)89Zg`z@-C-1Hq#3lpnu56FA?R?Ut13=M*H)Z^Uq96eyDBE5j)l zu)9ZmhWq{#9!6RTvlFV5zhuXy1JFFZ&@Zr5s)vE>!B#<#vA4UaoEMXO@GQrlQQ>8F z(mI)7=UV1*T!d8!!J3xBl?H%=C16i3d?HKD+MS$_L3#eNQKHL6%n)M8!Mn!*=1i!S z+@T9p1QP7#$%0l>#oGjkBLvb1AkLp0Y$VYBGnVv^80-}R%_k@2VPu#>*DtHvyJ$>M zRXnKh391Hwq{aCx1f^tGM&=*FxHsr{aTUvc;j0dYXbYpf3{;l_{agk+3_$UGV9AJ6okKtZVJ8>2%bRhog+(OJqh5yYyebmq63&&A z5tHx0G%iR&a8{2AWyhTZWVyHUa*dLS+G*z&!hK$`6~}s!`W5*{dR6st=h0c|$z1Y2 z{<+6fchn!e7HRN^{cG(AisaS822(^0W z@iqvnGJ>%0Lmd{IOU{Rj{aKz~V=UtdfE{Z_Wo&Yv#YcBwgG6Rf z@i97oKF1S~*~x-;-@#4&)QB7a79@-9Ahj15UMEbla{AS4o}?6K=;~rXJhQx=dEY7_ zh!4rWXoTks03`W5U&|hqN!piEzgp-u9CKA0lS{&q!`ISp1>%4 zphy~$NiYek$ZZ?QeK(HMejS%ahHLeMCe~I4~c-dAi>Z$O5tT=h-^7rO0TKM}|)`&Fxvt)j3mJtwz!D!0-Bc$WX~5U9A#uH9c?_M<^{ zT)4*IesVom^S$!YQ4obt8ub`Pb}#WH!>oVXFsT{f+{_lX9A+w!&A(LJN^)W#JntaL zi~jbh%3^cC-yyP0fV)<|xkMYP0RuZfm2;!Xyr~O#Jl(X1ir9zAdOimfkBhACi!45& zt4lsc7lG;2C|LpEp%(N?v(C{KM=>rSzzAqNbS(D0Ci@#Cvdd8{h?3h4wj={nt3fOg zVjn~I{QI0Jf){TNi05sC*nn!<9IAuieKh01&6kJzIErjP8x5`b{8i9|0P|M^p^Hfk7o`C%qzU_PUC~)Juin<4G5(jY-AXF`2-IGmyax&)* z0m}(uyS9x?4TjFa0nogr6gUHvU)e|`JD8!O%D!r7a`leX>(KuA+ABy=yC^r_LcDpJ zoY$Dp2A~wzPbE&va|lpP3`-Cp7y$i%XE_N}n@o}X01(z-0K<{W=1y)X&(H8- zq>p8)!rA4(O!WPNfk!LDCQ5fOdJ!Qy_`P75OjhWuUs%I>4y*#0nE zOb)vKgs9`elVLYq+n9$LsPpP5kQDNX4C-~O)7Q6*Az$MOvi9{(1e9tUr01@a`m{eZ zRIijE)=v=2c*6%@@yQa>V9l!I9Q)5wE?Ye$eL z6tppEG{aE57c+Ur6aP3iPXL2+2-6mjGx4B}J@SL~P=n!<(=|@UDSNCY<2f_<6uAGn`=x$ezFusrL7OZ0z#04BGyhV3REl8eV)hLw@4cD4!>^9{ z7+AEDoyrTEbl)A@1FHx5F?=^J0Pnfu>Wpsd&PW~Y(u{l$L~;QQPj9=R1SAnil?{?1 zgVdyU4mHu~e1R5kxKJ9BzS(R%18~>?TQ85;Jc1>cBRyMC2e4u66^ixt>JH8t^0*C<6hKEF6Z*76 zF>kmmGe~BAy zY|2YqhWa5JZ{153{=?WfWuG*LQWL;C?MNv=x0(pV9dpbD-|sU@XYrBM5%e>SNc4XSxNSNig@Kqm{Xi}P^`}zy_V0o1zBR!8E|C1tBe#uRf%VV-H@i!I{m7)@ z=&yKCoi&f_h-*T_LU_=l3%iD(ysEi~Q)r~mU&7A?oOa?tnw(Gj21+Y3FTV3N&Y91lvo62B-@S;;>Ip`Sf+Lql zO|L3-R^#rOfwi4|;QMpY^NW)B8i05YWbmc- zUGU(6;iV73gonS6z*YegGxwFbpqIJP=7Z*o$Z>h6>kqFU6nvHY;B=ZB%(Vr=`dY4U zaB$<&Ovsg~0|xJ+3<+O)UN!-ytIgnMwaJ7+8B6;EjQ*m7MJ;nE$=zH z0YoZOM7#BG{N3>DEufcsygB4e+y)#e`79L=9WPKLi#--#`x`|Aq! zZxoxagT~>(vVRXzFS6fZnZ@tc-^jikdw>7Mb}y)@;h=*{-DM>m@PDqi?%&b_jQpBE zn`ybZ#4goAyM1vl5&w_VH~W68diJ@YTtV>rlA6qB*Si0#>+h<3k0Tj54u5!OJ_(h$ zBYmoDG!e5<+tl3xRkw2DBPUKy~YDWH$nZD%73sL4iG3`Nm@l8KoX6)lb zjht3@sc2R-L9H>AJzTsd`P0Rfy{}?1c%Y+gjaF2{G1o#+bTBx5V9)N;TIz9NAO7dT zB|wNB0#LNPX_2zfN!^~b59bDfbeSK{UyP2vvs*qJ3&6@WaO54Vju;9*&@}CY@lU*Zu4d^ z!L&4}%4jSEbr4KpOt~Zj6mU% zm-iZ2m2gUfa}D31#2rW7)N*%tWHc4Po>H%%cTF{B#gT=^O34aens8Zw*JvtCUPEGA z*KdiTeUZfEfvhvt)=e8rEU1Oeg$q;wP?xt3ZJ#u0Pgl%bV}iOZwj%XArk$J(6al4r zy9P}n^dKrJj39{OR*e84VDN*|k>BU3Q2i8AJsX6d1LN#h!7+DAIFlQw9(+V$#!M_{ za}UWW@T%!+5AId4+X0fJsgLq{jQ7(va0q23w{(RfZ4t*~qbz)u2iJ1P-+QkFoC1sM z^?i^4gLdN6^K*7$J2F$p+I`fA4d&;9!omwN`!>hs_{}=8&`obK+qC=X61sq&0<6=s z9RHK{H5z->jad(VuN%U)E!)*)x*bRiZC7}57 zSVkrWRN!Q?9O{?>Q8+$S<%RwlbUbMGWVV&xU{h5Xt9ZPqY;TQh2Mi?NCQEOfG}3|f zVMcWjf@oG7#;J83dZp=;aT;pcqXY72)k;QBn}H9CMz7WY9wN7ruo=p=3p6kt-ODyW ztIaSowUeu8oiL9$acoLr+$PB&s;q$nwg@3wteLGoLHPvPo_LD&SYriDP2An6_YFVm z&@W0D|8!I7l;(^;7ILy6{!yIYo~J)8I58P$-jAebzU=9_Hnm>Gi7RfJlT_cG zjIeAg5fMfVuC2vzq_P3-VIgXlE{fPv8?4>VO6>YIEzXU-Y`EosFxW)|HeD0Kl`#P$ zT8UU4K(I8M0t8OBfI_~6S#NxGTlF|<{%js@25CR|uJ6aC6MG*LDbxqB68 z$>G!*MPr2-34JO5s>QCCm>2iZLfvDOyIlb-#g5(4zS#9JMJZjubtzcBUo@t8O|WZu z6=J5nMje*$+NUJGeCk)8gTm9DJh;*rW;m%hV$2>GgzO;hjDcfbGL1dQh~-yBi+^`6 zP$b_No&7n=_@L`99^L~&7brfy*4WsY6kkg8;g9cG0HRaOLZl(Sj0l7y8|8yZN#0tZ z3uYc9k}*mmQHIh3`?|nR-H1NSw1#e?2`-ukGGgYcgc4Yw>?vKvf;n`oz}n=$I6XRH zrI!CSeg7a6f)td(zlX}{-2*UUt=Rz+IQ(8H?6_5xP;BRxX?Ls;uEC@3D#}cI-AI5( zwL*wz;sCD=j4U1(g9-n($p~xwh=hDjt@W6#^QAL(iJjArI+8BK!uCF(YpR8YV*S|j zj%jt@xyCV_P>jSgO z>&&58c_d4XYwtUnW*Hd#Su4FNW0zn3a4=vLOD|)#7N+tdBil^pkkZ-}o#Orx^m0L! z&2)-}UXBvs0?u4|ptdo?Ti}U{$S#aB3voqp36(-N-dcP)Kao0$8wc1M=X%^z$+-@G z?fBF#xDTV(Bcs%{K%nFTvtOl$X=~|oXIPyhS!!=G#CfeM4+v>s2hAu&G#k~i;;zz{ z1JdPz{H$uWD^x02a1vw1Nk&~xasDXCI)#pGTkF$A!D5r|s`)u>ddg6P#28g>@p)3i`fuG$U7x|StbK-aHDRQoGUY&vIC3%=KSZHL# zdw{-nLfcOLfFLn~v_`;vpCRedZ#}0Xn_7H_tIL(l;*DW1gQcf~i^34*7bb$Ko}Wr{ zI>hVqBsnv zAjl1!wI|N&Ni5Y_nn8m`NR8O5-%INZa^L0U=#P*dU6#A|Jw_%Qu&BlafEUomjn}Z} z`+1oLRVW!)WDQmmxmYLxh+uThr5_*Da%9z-2N4H>IGC&+6VU*h1zgHY*K4YF5B z9ov*3xX#@U?(&0#Pi6m{EL~jKZLzk5bajhIRfC+Dw~SMwbIts`A*G zGqY$;*hNU~)UMIAj{MQjRXPNnj(RaY-eFS9X+7m8cif$Uk1_1d9Ne~!`I* z9&{+}!{jphaUVUQw>_0P8DxFi&~+d!IZst)gk*nU517X{*&Q^WxnmZ4r!zPm=w*oP zB>PsXL&muawt9O^FTl-)SmHZ+goF6}h$#!yS?uGMaypLnU*?yK^Ln1)V`vwjQ4Wkk zHTvIT#gWJSoRDnoI0`(D4>hYYt&A}Dv*<=Ml;1tesrjoFv16j?!FKpB*h)HOV3FwQTeD5Htb-j~LjEPS@y5F#o-o zGb2{c1xQ#%WK1W(e5=4_DJn6Gg-SlaBx@~5s{HVUoUYQ0=bV;?=cI z^1U7xsN;H>6Q`|iOQU6~hA%HP`<=doel`rx<$W+mtMbs&nA)U2Lm69IzoMYwDcYVa zkZQzD>?Zc?De&SAsYk7QB@!}e`U2@e#LMU9XrFv4VBh}>Xp>Fd z?jYY=-v%!0SU%x`i6qto0sGE-rCLUsX9R5fS4l<~LEsOlTxL~W=M0`&>>f0N^ya~w z6ZY_c1B z=>b5>a6{|4M=!*q_W&RNaAz-y%!XB6a_N+Kve{nC<(RJyTmM79Vj)!{Mm^R?0ltX+ z09XnqGm(<@%Lu)hfZ#i@KbV(LdPWSTKHWkFZ{jr*JB5`<4tB^u=8RM`9C2Wr%h_bplXoleIJYi6j9J*RpOP?E1|w zAP24>vc&{dKy7X*h{D2x)ANm|3yp_eyTA|D@|9ZkL?XN18~TUwt^QPStWZ`LQ+fAF zQBud9R|rTTo&*hsCuhT;9yBwmUe$oTOx3ON1wa$Mpodc%_IrQtH{R7%=Y$Vuq#wkLSLE9`^!PhlfG$Q4Z8x*upr$k`@!M`d^Z%tzvKl*x03RFzL z;jI0x2B`{wOn>DCiy-@MAYbVivkckOQc8Xy)lPhqzNG7yzMEMpOiz{G&Wp>zt(wfG z!F*@Lb+*aq<7rCQ8vu}*8P245kUv5-8|>@QE9nOlbmM%1s%QL^ejp%MzoL6xXor33 z4YsleOXR)lrR$2JZjHAuXBU9DK*O1|76c2xWL@EkwKLcw`r;}A1!*qlT7>u_7i2C)82Q3q*hw0z%TPvzFV^(_0%nGR+4d^fHk*NL zg5a@MHYZ>*IHfEN-PDbmx@Qs`7CjgN;!HwHU zlwc0Z)VZCVcX&glk`C041EJ%td=nENjG*)_?vafEJWdBa;epU+?;naxdlCs4e}7v; zamJC7d97^B^}qSRUXc68LhyTu$DL`}UI$Idd*9m7K>3-pkZtt41mSxseq3Vw(et~i;om7e%VN(Lf9mF=2ucmR?<;+4ZxU`(1L9}1nF zr*ZejHPt?g)KBQ;QEHKTTQg@&N!w?xwf-$kQO1vyOBfI!o(qF>pmaT|++-qJW*lIf zn_a;&su;wP5$Wf2ap%f7R-r8Hf@C25@wx(f9T~F z5EtWBU|3Uv4Zfag)OOjN4ccTIMC_3v0cz2}HuJf5pYcoOoFvcABr%XHO{`;?U2CD( zGG02s+e4C`*o`pk3L3C+2WqeND^iuhLea$SR;8}M+C5uiHgo%<{~c)eL|e8(uPL=| ztXTOBmW#wKtvU2j#bS#;l5|q$?Z5{t3+R-r3Kyx$k7Dih3NW-RF~iSDD+!L=?3gle zTjWW8AFdeUG%dGE$E{>IrgW`HcYowHmGqPqM~sZ$l(1x|r0s>$BP3^HD!}C=lf)oV zjE4Gex6gF&?c8$L3zCt=1*w5`1Ptd}LEZbAiKu#~Mry&6ozq_NYHS`-r^;X+0eXgz zT=bLde&asi;`=oYL7HTj_-ws3FuAy*f~J|N1hQ+f@stu1KilBcB2F(26I^i}(H$mS#X7vg`i_AU0K0Br_< z9sK&xq0|F25#VL9J*cgQZGNGD^-%+d`mhvOv;+M30MtCCDX^)wvc2fLzGc{8`DAh0 z>hvzAXcuNSy-zPdb)f$)5%d0WPU!o_wp_3YBHgW3|BaWFSy*Ljdw`Ci3VUm(i`KZz zPjjR|{dv&+5$La)Qq$~^w-FMh3mQKK!7EJgO@ofnU>iHHv@oJZfjU>`%Ee0dVdnEG zXT@~A&DtO72)Df61%!}-1@U7Mh*Ou`**RuqBkVz|M++vZ3q|-`qWr--D)Byta_UFw zlyxQF$CVP?=>gS1oFT~gw=8D+ME zd)7R|=?w6m;%kN9j_DB~mI5HCHC%~z`OH39Q$+d!fIaJH(8lDu#uAlF5}X?=6{_B8 z9saPLzbUC;*Z}~9mspSo(|fb9w&F2Moq67^A9VqE%bT+P0l{71Fa5z2sC1kx^kPSD z;9{U;9WL-aduJoB;9iOm?)%UW%3Z3D?1=F7mTT z_|26RcSx{Sd%+y6MaQu~Gq<(Qv*14BEzKLRA9G~l0B(^TAYbvGy?~w!A!uQ;e(h>u z9vaSTZE|D-ECDGpA0Hham*#cJ>{P2uIIwSfuJSGnF1(Gt$QsR8d+s`5MJt0wPoSmRhUb<)&@#9V@jH5gF_`D^s01I&L;j`$lZ_m+dx#E z6jCL$7`z3ATy^RQHt1HZ&VDX0`6S{sS3{y;AsatonHIF}a&L3w?!^*7n%7E(CsP`q z)_K4`yM)Wt{9ngk`F+$>b zAMDp#g#Jqr4$)EgiT$fYG%yo!3`tB}7}>KJH^_JvPA5Q;KS_vAZpiQmzpK!-l_bO6 zQ?pl7xrffZxxNJhxIiirOCN55sep~j#AmEB5I;fBEfr2p1rffD16&IB|BsTDT33`< zzdP{HK&|?9m7U+4&>U%X`{5L+U>Z_~=DM{#=?=2y>h19=TVn)GWFyo~^nJ)d zBOEF9^q2URAWoL@5k^E6Ya}zfUPg`igBN@(1EzdtZLuT`gv^%F>_Vs=HNY#0ld2G) zuwD2aK~xko2fMCdkl;|a@;!4GUeDu9BPA&KOQsBkvj9!1yk4{C^!xSR;r{!p1RdRE zGUAX^(9m(1Omn+!Uip)&&xeac7T^(&u&#}P?f$>Ydco(xs(ANYTqVUN`z1d(BbTUK zu{-?BKniL?k<7evt3E#W(_=lQP{O%0Y1fYHB>6}g+eUmr<4s6Z-UuvhMe3AG@nvf^ z2rWSo?VLu4ULxS8dmxppUxHj0blKWw z-xY_xdmci6D_|!yAa&MZ9 znN0@gLc%Tc(F3|kM>&%I(ZwUS=Gl~Bj8)$XO{$+B<#j_uM+rk|ZQ zg=dB(M%HIWUGxJ^;6v^~{S`Bpx%Ckm+?|ot^1dgL?cU#;{o{^Z4Qs?wuo@}>@~&f? z?g2-nfrL_QWngBnd^!O1dRurW28<2p7oJ^-vAoD$m8#OD1GnTZrG2#X0i>Z+QmE-G z2N`VFKTf{Ix78#JArc_PJ?R+wQXDznQ{4G7jyW^n-Ojw{px=2;D%Eft+w$xwPFe0w z$n`d<_NQYVQ}~22t`f7`VQ#4gxMxF{qTvn z9kt*|o+^EF$6KwmJ~2Ry)#s;Z`4vPJfpf=BEFEe-OJkE7{LT#P1f{$fe-?G>z3tP< z#HQMP@k2LX!HV{E`7PWXU)~)G2te=TlQO;&ACUJqNZt1{;XW3v*@;Il99IJsD>3=8 zG-@4Gvw;MCKtG_(N|ph$W(w`;aLdx>yxsD$$=HUw_I!)*ee2jh+tiWN07@~o?7Gj&-Q z?)KU-y{M&Waj&?Y@UdYKJpzQgC;(fw@iJx2g`Xt8SKK@Z01y3DhuVBI5D%qtrMeFP zAe3Fdw%UH`iNA6WB|A;=k^UI~M74;Z2{#`WN>uz-jNZ1ZzPV{zS~q_mmpv-C6^J@p zx6ydr!|d+JptzXVmeT+HLd+Fz>f7B8_IacB)(98$wWKPa>2ijl76jF&gey3}c5Ypj zCV4g3-!9$U-l5~VVTLP>bsI)wM0AXH^5tVxLd|@xV+1>0D~^Ta5nzUmqI_ax{p^nH zIu=btJZRuxoJxRo8-Qc(IdhD3X^3i=0ER?QBY4uXm;Q}`_mHL_eUJ*Rnr#BqEtGvE zUA>CjBics zX?QfBxByn@BWLXy4k|pJa#`tBoSjKZP+ss-gKW9ThVYUH3#oIocu?EySTyFy@YcPy zX<2Y|OAYS+j8=AO=~(D0Ht&1L@k$mY{7q&oe;Wmed25HNn%t*FEz5Z+KNWB zQ#y#yN7yw~fQ6^fa8LwbmyQcPy_TGz<4P3s?cq4~4P<1qg&Isinq1cabaxFWqJ&@H5|$*122!fFY_KGIaMQQYB@ z0rE|KL=W!eY0&RjO)y$CRr~WfqkTtpWcmYGbzEz7wg4JT_kUs~0$OSEAdHzbB`kEg z*hwhi;cz&i-Yz?^zX5lbZ)nDg4>|w$`NTLtZ?}Vfo)mZ#H@s=cjj4~z=;w?!b2D^y z)Lhr-Dw&qe_ddnZ@p&P>Q>mB@S)kY(gFGYS)5W7zpDm_u-yGg`{)XP+C;#|EJ+v}O z^^U24w5h$$GPdSa_Z-Iev2KA`-|6jp26HibQ|oNK*^Gbc{cWx%el6wABXTO)J>|UZ zB|SQHw(?ft)2r=?A5#CU%z$?lxGq0=kgU2c@zH`C6@%n~3=JN5`&iy*BRbZ=IwB!P zUBx7NW%NRJ_{o^eVgn^26tv}l^!nOV^4%D`e)KwyLnfxbScS?jOkLP~&H&Flg59b{ z#2fd3kGoNCFYn9sdWmHxp4^%5uSk=uP5CYhVNdBZS+99oaQ*XVq^B<#eS^~w2HJ}l z&*rXBx;%m!Q2geSm$lMAK=w_WRQ^UDy8JpGZtAJ^Us-j&UeJ{*@m}oj#A9jr(4Ri2la(prGTlY1^2AB;8PTCLaJKPu+ zTZj>TtFMN{8Ugj40);C8+k2wwq%79b9pDl`acl?a zVhg+qWf!s|7PI|Y^J5ppff3FUE*zbIWy%pk=M2fe-^T-r7Xx>4KxeqJadf>}kk#*+ z`>TSzIZuK33$sj>s&tz<1`Rb}11|%tU16<#Oh2dWvvGh0gxJ<4xqe6mpftQTq@>(k zSnf(yuzOS(7Lbx*D?t{(<_lgxgo+Rj4s+yVfb?Ok#PS04Fi)sG!B*l4Wm|!|F}ckP zv;R?rviNO`Y|pG;gcD#;dK)2zWeAHg%5n3mfNeV$YI^tgyl(N_=v4c;YQQxv3prMp zrGMF6_}~Q7UTv>OW;N(|3&GcSun57mzlIzlJ0Wxb9Q#U&O~p=1A({@iT8j0 z9exhWLRH zJ!^_>Wk{6(9FXTg-f9-S$zZ*a8b?pw?_6_63Zz`u#>B-REsi;YGz4gp(8DA{W}64# z0c=5t72+u>RGbQ9*)~`OYgnM-F-Y(|cxG#e3Hn}9{u3dB2ED3jx-6J^!;)JD;5!NR zC$dmO-Y3RHD#X`@xt`{xf#9$A{j&*se!4y`hd((hhAac9#`}F@W}RJ=comxWl(1yeW4cS`Cb>#%02xtu)OzytWl*JW%zk?~=Mr%lJWhvI59iTKls*tIvz2L}@9t z38>ghCs@(7cyz7Wa22bONdx)GgNybSEI>4XP(?2`osyGoi67F~CR(XFJ84rBIK+th zfe2c5D)FJsR2i9iTA7{F`F0%}LXl_-!xs-u z=bY1g#QHBCanJFP1OTd(tFUkn)+jhuke!4NdWX)=aGA`+KR=_4uDo{$QI?K^T*)N) z!Lz;I+yiPYjO^OrjG{+$DPW&PjxkAT_nBIvj}UAlVvlA1w7MIDaGM)vCXEsD2x4HD zi)<6Y5>Q=Y?C987(}*COzhli3SOAxot3dz>zMUdqmHFtgq99ylMz*Y4_HcyjRgI#k zi!2-lG$9)iI6o_0{VA3vCwBMhJIp)XXlUf?i#T@ z9C~K9E!1IWy9)q>2*-~e(!)kn*uK(;);{qkoDk81<5SP_gzk$YI^>A;R##gSDhhF7 zpZl7Fj|#&{(!B;+iGMEEN`3xiEO+AKIa{jAv#A`T3>m@UQ5DjED4Q?TKV%C&gbwhi8ztxiZh5&w`7Grsxn6afrJ%-nyo#1saQt_b_L?N3xY zw(D2?d~q;7O1>Pp%F^}4sbz+UkNHE`%3kd!Ms$;c*RM~so!BnBvk1hKU9OTO>0aw! zPSjtA#qxi~yaMS>91XuxBA|HzLRW>EzjgWBS6{AwY<8^!RxIqKu+2`X z1lqEvbH>i2WU&hmxsk2uzV5c7R`hti+Iw)FM`k0R2?(AiM2C8`7ewUWwx*VRg8 zzYHK=0NG^8>?Cng1lu2wKBLJ6#Pz2Wx@rXqQ%mWS*#R=!lm@U!pqjqmj#e_Ef+>tR zs6W}$anp!pZ8Graw9hl7k5F4bjlxf}iW}XTsml3%Vb`#a;dhQLZMOf6E=dWYCf@qQPu)3#yeVESEXHV6E~w*G1;EINNpa zu4bp&u>+lQ*5QPExo^K;8S(dhItMU$vifQkgy_U-Ig_$DQ^e3;;LzGZ*6RlVw3jV%)Z zy>evpX$1Z4YdX|b$s-ynJkI6{@XX=j=ib#z3;{3+5I-!`h~~J}X&=qbA7h9gPAWM} zIDVEaC;^OG(rD!WW9VG`ncn|6zPp)WY#2t{+~?BVuhqKtELH?^O-iRqe zE`5XFML@uzfa2DGWj31p3JGC6vG51s!T@^2&5ek9_AJnC=6^#F4;qK?vr2du3pIaa z?JnLuwkT|3S#*mqE5eVM2htKUG=5Z1ut=)n5>ndGFMw_!U;HvNhZKl9TyHxpWwuZ!BlYDen3^v9`W_EGXU z$X_q$&zeE$wlw zav@L?{t3%;Y_AP#ws=NE3laWB-qF#{uB)CJlO`TzNmx|8yNFgWrG&$o8Jg=#pZhjDmU@huGfuWf>Nr=qMP&7cbxzM$gS0fm z>n4W6eifg0iyoYWi%SQ(DRO&E-h|bnWIij)b9Y44C68Y|akx|&Zk5AH(#sfN^tD_r zA`!HE)x2baa?9mofRy(5%7fZk0xrG*q(zQ9_;eyRLlJ}gS4)C*-1wR+HTowA7&Zmc zf@?3GDP84<8LFDVHge=!fq4CYX-R$(TD4}nrPkjEN8mDHyvs?udNrKilwae~WH0VS zjE8q9ZU4^|f%>9UOD*%FnjOE=cm46F3@9Q}+8vjWg)lk~2g*iK5`FsKWl>O@PkbDV z2$jOTxNYH)vb|5zh1CDmQB|v+Sy$iFCsL?>I*+h5s2K&2zs}xlh|WDDpQuUYva;?zv-<;k4J{|dZx2;u9^NlS!NS@*Xd5r zA~K{~h{19PzZ^IDv(WvW%8+u}$vUnvI~lD9({|jOY3+;-U*`WgV^l?r^a*O3Mtvxh z0v`ZU>X*L(8&Oi9bX2x*KLh^WIo!D*wYhLl*5USNS#E?sK@0<%dSx8E#n~PMpyXPG z>6p{O>*8{Sr2EA{Er4^gSG}33nt7x<)j+1jtE4nsqH|KWt7R%gDbU4o-Zpgsy|JOQ>-&KV2C3=fA5r*3{xqb(l81Kq3Xed_Xw~2 ztDr`WsNw^YQG_GEZc;)(Dbh-4Gp=u@Qxw#oHh91;V7c7DdpxM;?W5)G6Ia%Hy%XCZ8|S=nMkIf1 zeewf?eHSWI{gQ45Tw%V;+~t#mFcw$^^LxpTp=%S?6}kai_ivTDY0hXXf9Hl~mC+s$ zAt?KWZes3L?^a1D(~232pkN`8Yu4|(wTfNn(%INBxs3I5RtpRTq+w(45hEBjMgYb& z=H}nb>IZ0zGrXM1@+#^zqYWRtb7PvD6a2%qe%sZ6p9Pk}4iT^K z)%DFZ9!lF)N8M4B9?J%+trT=igWk>V98=yf$yLW1uEJ&-FEX>CFb0!1YcW^YdoOBb zwO`|ym~AHOusGQJggCb{prEVI2I&u`$JQ^WJiFU!wazAjqkvB#%q^Rz>m}aw9_YxM zn)nHaSICmFnXBa16&}8yA71LHtlhXr5@U1T_5I}LddYv9&GPvl?C=F3bRc}~90l}C zJZ8Q1vrqUfY$l?_Vcfq#mfYyK%BxTp0KjO*kOIlLJ4LO~6szD8ZPkfQaj$qkMyVh6 zu#sR|GqBI3D#@k6<@A%V?S?vn+S?d=bfEWF&!$W^Rn~YM7K_lCQ*Pp$W@9~O_Xm`E z4vy^WHr?0IXu@l}lsEq4k!?^{OjcPlE7`tMP6H(GibRBc{=g6~rz+d=6>|2<`5Nd9 zeNYN3@e;E!haGdcc>t*zL>OG74v#1d6mTZ1*Do40V_#k5WUE+au;PR3P9732{g`vmI4kRN zzI?U-vd2!Fz$o)rwxR=7bv7Y3Vv+J-_tni+%DF6kXRH@D^MPuUmLUZPE`4n_*|dJ> z^w$Q(W|ru~Nxy~#JQDQn_${b56J(EHxhk0ggTtZ@ATT00 zoj#95vL%^QZD}l9{r1r=NojRV*^d4ozm4Ey+)Jg_TkuO-^ZW|oir9Vu@#0(wNQqM8 zl8x6buY-_Iw1(A$DPU^MjH`@teM=kj%=F0-aBI&4N>^e~R}+g8JuD)!+$r1whkP%M z&6ij){joJX6mC8A7UKug>Y_Cg^Du@tP2lGz>c;m4+dnv9FbC9;mGdTj#%YgHXr8a- zk~SS0*Amu=w$)w62Exd?7bzaI#I`GX)62dquC2@6iqxFm$ZbUPkEgvyg~vA_q|tWE(BaA)=kH^rek(tqz#x4b+xFYaE1j zW9KE=6f&4s9nI9G)FIXdy*H4c!+_f=zn}Y9K3h|cL?I~2p9OVqAKi(gbN(}tsw z41S8|ffD6x!NYvM)g+gCLHnVrqC-E2aH-~!^v8yMXugo>28?&xc11aKV02KPro};P zX>H}5utN_nK-s6uZ#d`$)mx|?{-IFGIlJHW!_cq0sa6`g6>-rHhg^J4e*EI5Y;0dy zc(*id8Bjd4(MUKXUrEx zNXQ0HgHmq!{UAQxLJU&k0X}2gMao|RSpL&n^gLYNMKh zYP&KYg{Z2h44B-OT{lZHyGbelyWA@EV%$(Gk(+pBau@oVJ4O46{Eyx?Xac<()z~P} zZrBy*)!#`}n23&7#e7~-3=S6pYr~QDmk=CH)@osl>m+{xVn0PL|h!Yp7Y^mUjMoflMlq*tHX*-q+Z-xU@=)nZQu^3Vr#e}z!5&=w*RLb z5KDoLy1@YQmsVo0l}?atHeJd+4sj{LZ)s2m_Lh;)+4s?BqA1`f;g`qIudYJqf)2<* zD2~vQV%-0>?f+?wv64C22u847GbnoPM93^G&Dkw2#=vuBee7+FksKScllrThSMX8y zSV+Wjzf*7F&g76N7Q)S1F|5-;N3_oSD{i2Atw25^2E*Rby2Jj%N7(;NYV*nmJ-h<8 z)-&wNPD}3q6G6a;%&F2(V}WZ*SLF@|dg+?Y8q{Y0=M{_0eW~CfU6$rF!!DV+8JB9s zN^ZoXNCdeR)s|41O?bH5ic6AiXjl2j0H+Lh7DX{EhMn6mDp&mHB0hF-*8NYKI zOnG?*e|t+V4)}O3WE?6-h=Vu_p&?98;Val7CQz-oBxB`U*z9iS-WZ5!Ne4xb5=Lr{ zMog~!sy(vXj!1%aH6rsM7uS4WK)ffTUS3*vmD{Vc(OMK1Mx-dDlN5T=)-lK3){2@9 zLQGY6d3vUs=G#QitQDUplLyHLMG>D9g_mQd!w@Z9O7>#x3GUrH9qx!6RXwh5tJyI` z7QzOIwc9KA9RkTRxd{IdkekA1gxN>}*H){DugEt=rT5eTtrsbW zM80zv)r@ho|l^3 zzdT>!U`Zhl8Rf+Z?ZST_ZFjHgX;6Mh0?nElimnEds)hB2srhprbP>@-CINWD3)rFm z=Kg{~R|MtXq1OJwImY`tA1p)d+M9ZlI!AtC*%@0tFr)is25O|86z z1ateQ*Ih#lekz0V6${Y>)4LXi7!6Po&mZw(MOMg0*xhka1i9FznQD+#ZQqA`iBKZ} zO^ZgbK$mr$ES|v~AUXJqKM!`_i6-^d_o>Ox2l3hZ+s`My?`Y z(81mS9eM$%IYB2*9Jj>w{*b1~7AcFpWdv#HemwmG5akf&J-G&3V>`kfWt5L1_6ZRR z6o4AV?C&V!@2F$|Bu?psD6i266J>ZS|KOc&kev=Zmie-@5A4sD_}?M^Y}rT3&;$yE zNHGU^KwSlpExLRW0A!*qeBrF8MzONGtXS;lxmd{1@YJ!`H2mBUdajpb90f3~AFGYo zEvPqaJF2TVGi~GfYk3kC;izm=ms%XBzeZG)*uYe-YPm)-3s#j$t9jo)X`S@n)^CO! zPBuCb*0Jd7W}kE%W=yQvPFCMz;F&~0oMfpcanPVpqSF#2gorH z=PUr21wb(HW`O(yTRD~%PDkWPz@R$}s0Su}*W`_H#E)EXT#oJ1Tc34c@asH>((3JZ6H7p|S{Q`yt(O=B3O+SjKORm&YC zGb(&cezy~au0{S-_(*W+#ZU=c*vKa=!H-QPw~&$`)Y>GtX5HC&W_zSc5`Wygoho90 z5LS0pF$_+%6gG*YqILmAfjUo&0+ZONgh(?zzp{u%#8q3K=vPMXg!p$BRXa0#R2kvL z-ihC7zHXivpAJY$hdbawH(f62fzOgiN8FBrRtDKv00I(f4CypBj*YF^hDjmwK#H4V zfu3#-5vbSf#M`aTL9_C=8t-`ny2Sz1D{Bh5{YoUx!Dj$Hi5|T^sf2)OoQOkg36x+~ zr6q1?dT{=*zLHFr?iyB#N9mLhhbtX%?QNDZHP~gX$`AdaS)mYqKf>(o1MDN_?R@}flfiA<5Q@t-oD>*=C&qP zNfenv&(b{(7CknM;Y`=-8{T#ucNxSh|KzAl&ZCY_u~cdJciTF#14SYMXM1HKC?hF8V(YDexF{4MFi$wntbcchUmg# z{Pp_~+_B_>%O@lek&Pj8{e>|2i|zb5y)m zl`G$1j%6fI)B}T;lBy>6<`b`$=BWI|8_r_9t8i5HpuY>}PjgO|{!h5vGj4JytZU~( zSLI#)@D{}lhH`>Z`uPknT+oy(t<_$9pYHb3;^X$FbI`AGE|4WqRD_@~N+V{^KH(n4 zeXG}!0h^9A0LA9uC92-ybqAR^%OR+F2lVcT3?Rh)pU-7qLykg-LO>K?&%=vxi31J# zQ>lT>lCJBJ2x3s?jF!WMTtc1d<1Rc{RA-(sWp&YrEPU8`qrOCrqciMn35@feFIE1v z^VYmV6X<69cGbmI^@M}y#v^WriG}iiT`B#^b&pz#Td-C@S+B2khZ~DtXP+lcf9f=w zKR3JJPn^ngyXEc*KmY8%M`4ifL)!l=UjZ-%AkSsrzgv6`Y+iPv;}m_hKoRFy`7ISRVTKinL(=%y?eD;@k3@ z3GE~9s8_JRnU2oewPqK9Vfc(9fEa;)>L4V)Hh6MIR^TB#d?5=NeFlUS0>o}N#cv#} zy)N!rfo(YiJ}j^dGt-p?;9bQ-z8ns6$APbn0(L{46V4WY+r1>bK+V`jj?CmZ+{E*c*w6S~iXT-(a= z23`q^LI5yJ7UvY#MAexyj+sjuNcn!Zy4ld=fX8PM_3d65vYWf`JFQFEwzJaF@L1sO z@+PgOm6&IBU?|MSy0Pl=(c9Yx58SK$YzMs))VD7VwCAqEqt~mKaZ=`T)L=wQWU0^d z-i)`1%_pgu>*VRPI0x%DjN(fVjSu!N{7h$zm=wuE;{G9*IL*3Lec81>7f*$+ zg44UJSyd9!E;SeD*NtE0DR%KeV5xD|cs2^o5<&<(zT~Hz7ZV2451gYwb(UG+6wNli zqco|Uyatgm5{TexUMnvlyL8DMgu@*HN6H%R3p%Ive!8KI=qwP)k}%q1%3+iqD70=@ z|BLem9Vo$dYp<- z$7VC6bd4q%jmOUo?2nuaX@+4tZ+~x(hU1S>V;V%$(&W2d-vdlLby^-JDAlsZ5V{ta zaZFr^)nV4y=QSy%8Ct;@6*Kp>)_X^%-h_5<0>~Xda3>{K?WhQ*84azNs!bxFR`o?4 zpXr(4fVf|u!KD1@SQ)?8o(b=GjVkri{|5bCLKVKi=MYk->#}$TjTAGP#W43#g)m$X z2e1u|AdezdW0-4s27%p_f}Ourc;|Gk^Bv*4OaR)&dqB1vAo|YAI1-&M1k00J#h_xX zh>HX8koz5@5M-l3M|z)h%rTVy%Q;TIQWa|4{YqXV6yIwDKKI-??+<#yr&Ao;VSQ0( zx-Zy^&~`SidsxlpJ$q~xpWF|0t-m0$Q#vb`{H$~}I3ziXaQHOX%dooLV@SDoCSq}~ zTv|7%@v6zdK3wm{qr%O!rs`4Y?0}W-6Fq;9o@cEzg5`W~HmmHLxkONoKVgLOGM(~6 z5oLDv#)Qd`-CwC+bvtgh!je*F$oTn~mgw>{Dz`vz?kkfH-(T;D+fST{%guK^$B ze%0=bGzKYDsXAg;GPQ8;Nl~8I|N8lv14r>EOUp)+BCM^M>`0rbhZmH7W?P~8OrK3N zQPKl*MPo*tZ1#$?VX!1JnE}R4RPofbr8-*DUh4|-W_(OWZ7o|xa)WHwmqNc*Nwe7i z^Ah=q#46kB1lSG#$qQegUpsV>DA!cKxRw4yKRA?S5S+X|6AJofjEZV(JwwmzL`@NvR(FLqi^d(c{NxBbu4q~e9E=sDQ2DlB@ z$x0Gt9!b)Ljv<`(kyOuCD|W3t*D@>yfFa*>)ZbYX*^-YRDtE~ve`OV*^{1Nh&@1B~r72UTn1vSaTFg;7MaahOY?bP=@S(%-D=(el8P zANz=J%I~v(m4XhXB}>Lvbs;an(sEua4zFwVs@meGPnvCbFZMP84cpmaC;!lHJ&mPK ze0!GaF&TpJbs4(%`9LUSn&y0HVg%D#cdX|f0MrOTU9f@bt&^(|HxQ9};)4jrYcK-B z2AZMgAyE-T`P>+qJ_+c8|L&_SX3=zhDxlo(&cK}%sJ)myPbXXI++Lssmu=pOqVq8f zNFdVmK#a{=CbvgmHGe7-xBc>;=Iz#1^eleCc;e`Yg=`e**aX{u25xlOqv((m(9=9( zHRp=t0W)LCK;_tgVFsr?Z>#vt0wp(anX9r`1|^($vzTS_m>s@;OAHsQw)pUzW;x0 zDT@{3wOOOEL(dO_`bU6L(*s>H!gnAX`-xg8pgZ-T5(LMF@N6b@L7~vBOZ!J;r$yOC zlDE=ASg-ueH`fDGuL|5Af=JH#2^IxJ=mxmxdjywJDJ!^N(=q1m-Sbp3zs*tss*mNs zT~QMn%S_<>V?VjBt)^O&SNj!6l*GBRHy5=(wx9jUGpY40jQad@n#pR!-p|s5EjY9G zY~C$Ff6KN;R-gyne;L3y+5VG_#&?~(zJ8Be^FKsLo-lfi*Kuok{&c)+uD{Yb_uU;buG=+JMkTmjo^ve zd~Q$bu3v|&@!Pq0H?>Sq|aWWV|RVUQ`(`N#GcQLdGB4 z*Ybcj%@6*D>_T&6->(wEiXNu=nZbmk941_M$~x^)rY-8w7T0Pp=g7Q|6Lw9y-`C5SVg{S?9XV8>0 zf5Oob75nOe@FD=*j)z5ShZ+2IKgJ43;5L zD{^rc^?T~F@Q6_z8!|MuB-!)4hyRnvSgNLA6d)(S4u+|Sw4ro<&aLe_NAEYPkHSDW zk*dxYk^w4!4mk7~1g8t_o83SP1W4^?)o$ez-dK`Qq6?K)8Mita%>V#dSy&nXfC4Bg z0W?zpWOD$~7H|s|qWg>AtjxWVjc%~gRI@Pn(?IF%Q!Z2}HrCz+a1pU-gId!?$S`?H}#9d*&s*e)Q&7l5# z;Nu5GTe?=>R34_nau-p@tVwI}IC%FK=t&OLVMW`w|MXvFpcMrLW$7GX5!Bgd)V>!N zOH2S1U`ly%Mn&{!dcfY$LX%J%!YbH_ZG4UkyrZydoA+g}Xi+iM%vR`ERH_)L%hE}k z0BLV1@N|nESHP2>y>B!r?F>X6p9p$oNuaoElE_deKG1Sie;~!^4)7R7C0#*U1ug_) z`LTP4vqoO?h9~2(W?3V;00>@^uD!@wCEJw&Is<`8j9`6YPHI)=MQBmP*D})2$dKc9 zM_yN@;KOu|v-PLbPFRKQnlDohbwoRnQnF}bY;iCU8sZ2Q!_mJ$dw`{mh;^`;P!oh! z$}I=&2#2%DW`7tJiYXu#0j!=v&@?+tpo2>EiMnP$BR{-(JqSjFn)T|rq*_3}YbCY; z7o{wbV0G3eZc4!I!y3esHs)3=h3cmN{+@ChKmqK+oy(wS`b1(`@ zf~IC(EqYvE)~JZh9y84jhsF?G$1EUY3&)%phQF~&N3QNjJ`Os<)3fZ+JMW~>&5hT~ z%QoCn9)X4EiQ&aexFZWd9L~ZS_&)qqa=$!QKQ>PHX`BY?Qv4VDp{J;ThdLjfRS+AD zA}BnQ3Fk1SvMKG8+MacBUSZ8?2KrLBwLQQ6DEMOSZa3g{^QiC?+?8KC;bzzyM@`J|jtX|2pf5CE5qH1qac73+C=IABHs#>W{AmQu zlK}ikZrRleo!b?9+oU}I2lZGM*blE|(GMUnE%ugLB&hoD}oVz?ah0gbS%^jFjT)h$Aqg zTQxbueWqjDJ{xVuQfnP0R^BTLL#N+$NcHXkl~LrEP|AKGieHy&oy0cj(ZC~IhbA259*4ev{x{t-uQJXJ^-9;I|XMZVj|5yo~-|J)G44euK>u@ z8r6c$Y1@YR&A$OUi6KB3(c$EIx*5od2{wClUWwjF$M1-E={<CdA-v3tTlx2@IK0+uw}M&(Qjj& zmt*fZf_$^a6Z7>d-l?`(rB@$FS2%$c4#efZ;T?1b%>Bwz3^MYLIcOdqe7*s1Ab`Q| zNH@Rp@!zbI<#(Ae6An}#>9z-bvb*MQrcDC$d<)jXqCor2oj*qTQMlTpe*mgN=DzUr zimy-a>;~JjK^eb5N-O2ct6;0TM(LLdhJa(3m3_Q!>D5R?GYiq^b^Fu;q6L4ux!cVk zTBhZF!~{#ml_1mj5-AkQ4B}$*q%50#%?O~^hbgku8Eopj=w&M)fJB1 zA5XFlHy_o@AO%})d0Zh0op310{gm-B3ZNiZaH`jqXEV*`rVp<`6r;dJ*TGi8Bj(~G zF2OUFoEelU`8WXzb=++vfQtPx-AYm{7jL^c&UV(OTnUkhJB{gGe%#AK^v=yz%;h`| z@gip2B4)JXY`VT|4P@==lE+DL#PDNmSd75yM=Wo+p+g%!*RbwxPB~Vc08MC$S&m849L8z~aR3yBbIDJ#8c-8{#o^#by-zqEop` zbuzKpEAd@BtO2i09zi&mU3l&D$27vav&+cB!ak9xg~~7p20B?9=8t}W_RgpJdnC@40yJ)iVYb3KH|JDPkb zSI53ncj=g1_YJu)FkWHUm*smfE63eWzhr*+^)=WV#ff40^KdZ+g}Eq=yq$KdlGvgHBJWp z)_6416W&rIMFnId$xvN_a8lE^;`jNpjDPQb$RcP+c;OsiDMW-jK4;1smZZO8mi3Psm zcW5qi{Es$on`%|r91GF@V>SOu`mmGX3G~l&!VE1z;Y6wYa8_K*XC+qr)PJ5Ds0UKQ zkehoA86r^JZ^^r;lJ)ScSw?jZbUBm(&=Wv|E{`&vaeCu6U*6t4co}9Z7=elbHvE9D zxkv_)Z+WCh5RRzRE=)`f{6@($_CE1&Dh`5IOUg>(2&9vq`2$LE)5xjn?#u(}2D zOBM$WQUEklk&u%hrLpAQ%2x+xBjhzBKCIXu&yrIwRR6>e`Sn6lQsOV3BV?v+p7gAp zW>HUoJE3Y8-LYsO2-Xx-PPsyb7T`Z5Lqy5Mf%5OWH(I6zzFH^FA@w_ip}7XaIck9w zGGk26{zZC&EbJMJ?kEYIhGnC%C`yN{nO!K{u!HU-Yo8lT7AfRWO}A0m{{2pJ#*IP_ zukh=`R*>@2&&CSAO>7&n;>_~;6z|Nsa}fq%!v^5qlU?w9FJEa7qE@@MP6eja1A#!< z;GwNG{ZMUhX1ji!HzTwOo!43$LooJQ=>?PP&2;YYHBEVZN2H@pC4)X%rgNT2Y^2*V z=5n(h>)N_Z1*Susen2>`^JS`@YT)fKTGy0t{*c4>c$)%|m-RtZhqUPjL)%51%gJOe!mlg0Y!~BwM!~ zsrf*dc2JE)Q)sbfr=pM7;cF}hwb}T+Mb>NX3UxW4ApQfvmbNy^khMr}_@wV1Dgy)8 z>FZK;Pd2_TPbi9Oa_AQmvI72?i}D>XYW=<(%|x5c#-kScd}|?}x~wW6!-SIk9(<;G zB3{ksz(0fe-Y0+cMe#@_ZS*F%DWni>VMfR`20U#H_14U@aJDo$ z?NnqHa^6YScu=^@*_PRt2eFWR{LarYffQrtLZD6PBiRU+Wngd2KtLucVZswk7+{q+(95vqR;JC{>7Jvh>h zfQBuI2vIRKVVo{$D~n}tt8gg`Ay6)c@={#|GG$GgmWyr$I2>yL{3q8_cm)6c5LlY_ znBLlN2n>^H7+#cq!PdEw#fv}utY(ZJCS@!z(y|WaXry2VamV%^^++vu4uLe3n+g+7 z04^*Qy>2zIYr|hYrB>)JHkXu&;fZYb$H&IWS9(|;72TO@ST^uDXP#znH|@R*YqENk z;GRtf*VpEP4c5MD=hnUk`CfDDu2*SIch)Rg z%dyEd@{@pL&w7b9EdgN!^r*(iLy#;WRaCLs?t^L+-o~dft<>2dyk>nD8uiKFi1MO+ z$#H;;{C*TtFf#xr@kiUML0e6zJP0g!- z2;#n~BXR6A3M+T6Zb=zdil)wPn;$xLTPsJ`v>SV`6>ovZ(z$_isME0#kPy=ea-Dzlyy3>*09`!u!*MloA?-o=HW8B39vLa6vWNZuYVDg7*C3b12)Qz-p&2&!PIAGaH| zH_j!z=Fue>#YPOw@Mg`1xVp&dVqfemxJufQ{tAwno-=K+=BfxNCudTk;7e_`bdS)=CTlVNMZWl<^4WMFM1jnPy+024>nMsg+P>EEUka-R zVCO5_I34Sg5U1B{>yg;P&Lg}Bcm%F~j|=E0`Y6H+i`UQNJIRd&eyB@w$VaptglRXg zlYZgOCN1_`nX2P+eF2@mh{&UuvtORcC||W{vs-hrXGW(C(h1s|O-@mFe_3?uV%ArOW5FG< zyi{Q}qh^J^nPNKPdouv$jfYYf{qfTM&;r{+KfZ*g%x3pRPb8v|-4xm4v;$|=l|M7f zYbT5%;-W669Pzd4-J5m$>0_gr2RmNTj_qtWE!i=`QGx)GCl;5dEV8U5;~Jgjrv)Ej-NG?bkiZog~9_kafGS+&R2G9hY>JrLyVbVcN*5T$#Vyg;r?trVGx>9%~sOWW^%jAJg)^VK%M8W+;=@KA?|7elX0l>4fhXoY)z^Eu~I>v4F) zQhwff8$)jn7LgIM0;JmV;Mt83~^XSz&h z5{3|}433?}rE3kBZ;W;R5Xh7J5q>~tN`?wGHxp+Ae5tB=U`rH2j@{>3kdHaDv;0hV;uhHDbqfCPh0hLI2otzM8 z`LiLbjiBCJSI8};iNO{_Ttq@WdX76aOwu>Rxo_?9pN2RX)ViNgSWr{Bz_>JNYP7`B zum_0PJSWc+8Wxny-ADlfP;Ab-4vZ_l8>VCX(D8Trw2Gs9a(q6|@R|}IBo&)!faUU$ zwEsSj^3$k#h4KhIKq}o1Ic;W~4*qpv=LqWDwKX6?U**(E>dZ6tXLs}YQZDGT(R^z@ zfytw?ulZaW%KS>Ndg&jV}wv>>_}Y9NeWc`ErQUZSXk7P{}w3 z%Cp^u{%A+68x(bOx&2(OTcI<}UvvMjPGl@#fH~ovq5G<)2qU&s9GXl}t5m0RRpFco zxZeJdN@(tcIrfJH$n@i(DtZBETLB z*q7&_h8u0mg_P$?a}<=}I{%65Ps?=Y#FWic@b~aux%r2=YMX_ zy)z@ELFT>AT{}lIkLw`JH2rDua4275r%^;(FQ0V3_Rhk$QQptj<7L~J-T2r=wDm}g zeEr|C4sE4Nmw90Ve9$6Dk!k6#VD0aj{{)Vw;4b;iBS0|~ujglj9A)|#yS$OW8@UB| z8_wZsU1R=@cdA_VIlyGXoezjYX*x)gQlQw1)Ev5VXBl}MvEx-(#gB5%9A?bDL1tkQ z^u(s`Q!7BS{2psBSDeXoWANN^X;L(lQeLJZYo}~yKZeak8K6eFd=V(~Y0pJao=Ai! z+19>vsb3u#b0zS>4Bwwi)`$3t%c$7QprwxO2+oeX(=xT~+tW@nKkaC{8{NOH*SCbr z|Daqy<=6Q*Wi({s{*HRU8sN6rUzUvInsyu6-pOwlkF_t}Yb6#Ts;Ikp#Xfyw1R=Pw zmK$Qpxs+Kf^}jLMTscL$dFcP>Ns028^)HPV^k3UIPx0g|p1hwVJJ2q0INdp~B=$HR zGEa^e1NcqRax--!f!_KsS)w03exTd$0S#M0F;dd+WP_?6Xt4o6Cg3JR=B9sv;#|cb zOIcaSRx2}@P6rVHw0^P7Eq7(hEU)lW`)n&7u06XG@sJJ20`DVLb_bkumv|#GWN~7- z2qYI&H;osMl#M$gI_?YlN7~_+bMgZP7#eVR`wlXIs<+QU~!soYf zbM0czKNsdyF3w|q2KMYN@+0j3ISuT>Wilo*3F*#<)igVi_||;6`K>vXZy{&)O1PUO zgK=YR+@g2G>}}8MEs+ksAjZEMvuJE42hY29K!neNMdKfIKy+Q42denDbfHf>V%Q+8 zZken}h(W=dP0xM?TM-U?Y6wK+DpZs9DWywj!yE<5(oOt7;hQpGI8bmA@Z%}acET&& zZ}->pbvKd|m(!0nojYoWVV*W8U>rgv(1 zGuC>Z>*55{w}Ce!?|Ybg&Rab99$V5`eqz^n<+6KqvpZdY3-tG87`i_pxAvfq4Sc|y z`+z&odv?yZed$m4!4*qQE!|6Mv+!N-pa1ZpP8eP~Y`3a z;VwP#U_9vP@vpl)g6NFiwn+V72=n)-PC~KmJ0J5Gimwv(|0gZ`5I$o%H+oG2e32I- zRj~}i%lXAFt(9<2@2dE(yy;HO?T*F#j~L_UHR0SrgkC}uLFRHHfY2(l3WPd+xPE=l zx5w@9CNO30P@MZIk4}7*`QxJ@oeSRejfUqt_RD`8`*8i>{r^3j{Np<}v7&|^yY{j{ z4=@vWAtp0R|K-Z#AG}3_n5@jw^{x>pyYz*z%_7=Ljsrv#Pk7ADB0h*CUUMo|)FS(^ zK+I3iuLGKge1UI?ckpxD1*oA*k!DK`&z~}I+@N*Ne>d(l3=H1IwcLV7{d-RKX2H&y zWAxn!E~52ZM^((8qSvw8|DY?E6aG)pz4$ZP|9=4A`HZp6VH*u|K8>8IwmF~Yd`Ox@ zPN9(s9qySqgqUMQ8X*cH(m^%H97>c*rJ7?pJJqej?fdil5B9hoyROG|y+7~Q^OYBi zdmAZk$osawoZV%Qo5;0>1UzrD!RW~yAKrcUn&YF#J2=kAJ(x-I$cHxFXzZDyk+dgQ z_5z)s4W$1J9}0J#!q3elg`F-1K0}N@){YYshUb6vcZ}!cf4jX0Y+V;Oe_DT~t@`?; zW{7X5<*(`ibN%Sk2hLsLJ0A@G%7&mbQtguLEY{JfRPhN!ey#FbvBmDst-6H^f->&5?hb?ssqt}$h ze=_ZUT^y2Y2LiG_KVFpWM*x>~0HNDA?(JSqlJ0)amCD4l&Z6QPAOcnWxWn!(&Np;y zTRP&E>~&`D&_*(l$5_{^cq5&SqY0=Rn|4>2wy$Le)-l7t&ezIv^HyzN?phIcg`9)6 zzV1b`0AZ0 z`?_+?urtH?1$SYvY60i_4HuOjknUWeG?T<|*~)^21i1Jlnk-F>WIPTo5T9SsYeJ=E z@r%C`$W{eIRX5X=HJ83iuDk;Y0RZ@W@MPJ?z*j*Xge9-GZITf5p;*1LjweSij3cr^ z%dhgzZxs+egpwc35B+yj-EN~v za-i*Re|(l6EdXNAI$=KorcK_E*M0c{7O$Z~pmwP*xi8#x`SASHhlT1mcr+K>8aKP= zYxSn!m9(?|_csO)*2((k)n)x!@^tmMpv;;R#OrGZ_YkD+B_+T&@7`TWlWo0oIWobd zux+~4vm`;~q@@f6_)|X0LuU=3mwZwt;oY$(cKgmz+5>iA_5%S~hXhdLfN!Y#M$D|} z?~y`oT2@qaR-}28@Cnq53-V%w?e6-HWq|*6CTy2)e*&?NEyw(T()Y}-yL1QW@AsEd z=I(%>JdLgHxK3a~(N3oP(4m-o%CF_wSNdvBX(Rok^aBs$llZxL>1jRxPpKc=XfO42VRJ_BTmFpzrrq1pOz1zjqlm)5{r%Ga<~C50!nK@&J+u3VNruLv z7;>OJ^I>3?!!FW#!fR^?0!4DI7ZokA3rx3n_B}IxVk%m^Wjs#5rbg#scsc>~GxRwT zOgq+|=@dG@IEvGtku_OdUcRaW1!3M!x5<%KW%jN#heqWH6|&w5>X^_n8EOLJw)AE$ z7O#?Auv2ys6P zeLxt&vVLY{o;FV)N$3nqFB(RW$!?hXaZ%sdyV>59z0owgf?h_wpvEY(YY|7X_QIOC zb3$ZmNDG;|cIX%_Mw07K$C>O=UUA^;4{6&QedNNU8$%M%Tc2KFB)j(Z&704E8T?)_ zaXJW{u&Y<=WQ2$=92+S3v3)hhw`E3a_s$>XLk`X1VIkfUL*14?g4)^rv?Cpd6lW8P zKX$)jkRVw=KExtR5$%P2I;JNA9CgVWS~WrtcFM`b4j6 zjm3)~#2I|v2(!41qdRe+;N!qLpP5idDx{h0wUZo}_VZh%gGeLEkn@@ly?8mbTWgk%=z)n#Og0x)bGGK`lsUK>Hf9uP3wo`@u5aOfND-x$2IDLo=8Oy$H z$dL{mr4se6Yn9gq0}XSC=010JJ#A5MoWYlkgpH9d+aG@#>xL@*bo^fNDgUP1&F;kG z8njpSXDhbls-g=kf9j;v`|j8Mf{AE3f9)aEa7aF!>)A%Uy)P<$<=Mp({dfC!W&bAS z(dJ_)h1ToCjzO-{w%sv3S)w}{SMPN82I)d1&8N)4kErk)fc7|@d5t^G+mFx4kKq1c0lxzqxe0JwsvjqkEDSdQO|J zXuBj*C8fv$zt8L5-(p)zI6jvMgmy=^vQgCldqdYmXog*5;Pu_oxkLxUUixS6p{nPf z0wP=fV>^eZjHXL%)n)16Mu=Xpmux(2_)N4qU>y zIhu`+0Ur|k(IL9vz5W5@6CwxR3$CPH!PMh$Of4F42Tpu!4yA4XbwVhQH157@!6|^DKuX2lhuVabP-=_F(n!p z8k>&HAA6VpVJpMph2MUt9Zung;oyCI3W~` z`mJ18h}1Y{U8UgJniD=AFs$zGX%MLEWgu7sA|H7xoa~%1{2e^32S(+)CAY})D{9ix zmMJf>>Tnk2u^E^Tw&3*RWnG_A?{))09K7)u!;2gIvJIQnPOD05pPIOw>4dH8XH+y} zQ)9bT7mWeXl^B-iWH&Y^#no1iA-Q80WHfET)UY6*RCb2J^0}+~ef#h}?SQsMX;$(W zD#%_8>?Z&`MID!e_E``Wd_EOU=3NV}8saI>bSun0zxIK)@={%kvnQ?kqOv05+!6Bu z*+lvCgn;u?%Vkd>tFb=VmiFzl2A(;hR#6mgG)KFT0DLKBjXF8I07AiZu}-P7n`v69lFG*-dWXwg7TRjdcA}ZIvL>(#kQ& zwSA6DDv{fZnd+PYIThbhsG`6b*d(^&t;HAO&4!Q=IFf}9hska zW=rCJY0~b)vdL9)4-@SFX0hn37lyR2X{PU`I$7Q+D{o(~b>83zrxLEKLyfqPBISdP z)#AsJ)SE=f0RRMZr>!owNj1w##63Sqh5g=Ml}UYSBE@fYJ=E_3i?9Ll5)MMm*jpa= z0>UZVIQMz8nOykKpBguFo?qpYM6d#Lx%8%PUoY!JFC5|D#-$&&jgS0TT(dt|mJMb} zs(Q+FIrgcxGa+_hz0LGnu6=8+g`edwme8L7U)Wd2^C~RBW|iZz(S1i9VgHnl7<_zk zVo#RrED<2xe?_+(Pw(q1%}w5#cy~5CWd?Td6nF$MKxrw6sI>i_@1CalFdXsB1URWj zdHF=)VTj_RxjnDPFhQ0k8R`IJh(c|XJe*_hRM0h<#M*B-)2~i*)p6zNk_U9R?5syK zrAD|J7~A<-+*Xs)i4mYOnMX91XMU0DFyEp6%L_*6Ps9SsM}aaZKQcfJM5OQ9+6Gca z`eY&b&X4x@0<+55=Ul#2cx0YK{e6QwBw|E}a_`M}BN<3C6!n+C<;Eoi4nZm|`3WkB zPD4SCqJh@TS-uD|Q}s6<0GajtuT}EAdEjX>ES?N92v8upDjly!gRlW`p?JH(o@C9_ zr^x*cPH#cH{nyd{HPHT-P@K!j#&gqOWD~RCefjT~y>I0YOJ>kcLC~-gvnMa9ECvPMA6&zpi@hS%pD)K1r zn~K@N5mm6;TtcJnp1nrxnd42NQ>s)wC-Nk4--$O%4aW%Ya36oN$S2N^MpNZxKKU9={ zLFXR8EI2}dB?thxY0S_oUp9_un|%I*ChV|nc!ZZ~gt(eu&C{d!8@4dXkc%<(3dd&; zTt6^;88O~8JDfU%F-3&5-&*LT6;eJq+7B;N0pLH@kMuaqMrdBb?AuEpM;2Qp@%1=! z{D69kJLaaJjgkvbYl7SE9_>0~WSVhejHhbtu-!CcuUG?E{WWp(+jpIhsy3p?x}70~_SQ3w?PUF6D>(~*z`o=^}0VH|Yq17iUZk+2)R zHQ@lBRvb^cmwfEMhviFejrS@~c*-)F8G0BHQIIz|hco{c32zZaSGZWsN9fTY#%!>u zHMs6084Wndyhn@`XX5sbr!2GWi4Xs)7&)`3vG+$lNj*BAlTA{Q z+}6~Hv4%^|!6ko$6q~C_c4S3)j>7Ql75S^RH4Y7thf5$Yfys1I@``#i=rO;EFFOvb z(9CAgOU}uk?a;jY)Am6bps!Y?uUQ`HlasfkDZkbehg5an@xQ5%4m^!!o8H(1^hRT(TzXQa8)9_+5N-_L!qri zSN>p44Qr!1TW8MuMAL*UUr08VINBoHnGo2J{Kjb}1~YbrruMKswzerH0#*G%?yAO% zGs`LK2RxMK7>SjU)+jP-A+-ah(HXI-p6!m*$ZHOo}VRKC~iiG-_K+g^oGu-4EyBTQ5Z@I{D5oSKQCPV z;co1U0+InhYKKfop^RCg3pFutY+=DKR>CjVI8f=G?--DC7>;$3E9@h?_ETmUFJpln zgH<_a8e&_<0}|>U-1`QKbMuJcelhahuSEV9()Vu}K=4an{`Al)tOZto$^R=Iva-!* z_e;#V(#sdQQ`%#^90aVDJD30jBLKjaOVpFEqO1Fqu}ty^`;9Ya12UYf=Lb0>CI1(w z0a&HF@^-~t_;W_8c{cYfHhc1`ZcIR*BVyGtIldIIJ0Za~d8gNLso*w;^KUc|Ryer# zxQE>@*HkelJvOLjJmfKT(m^|_2mzj(2? zx?#ET|91bh%&Mz&f#l}l0~jPsJc*qiv_Jh%%~SmYpU*f>HLfKo7;MBs$0vrI3%yU=I#QnsMP3 zAMB;&AzhrCHzQIbx<fhaPV5v0daTFyVBa-If7m0(slJ_{ln_GtT zWY7pY(e}%+Y}s~zx|N76WMOlZT8EvxD69X>a!LYnU%mbwHn(HnPqYk_R1qEgmX*iI%_GNNfBAi9Kn zG4+-$n~qzuFR7K4zScbq{Ib9NrS0JxB9(}KRmXzE2RH3De58>PP~FCJDgJRFG!dgm z#Oh7Kn9nxtF5X3?h>sW)4pwPMC90a$)VN@Vw}rvgdjFt+9I@iBLHCkmz%BFL^4PB= z+xgf74DukuV8`$UF?I4cONAHt<)2e_iQGcn07A2q*Lu!M6JXZ%&{?`{{3Wb)`jH28 z-vdMU&)DhC1K#NZP=6cpp}7~?!M=PE2m^p&=Ow@|H1twJ@sNM60x4ZU{w}&N_$dnD z8r>56_FZt(sp7ADo~BMWue~_*?)93QIcV(=PH1n7AWg!rL+*GRdkCMlP z(bo>8v(-wqxSx;Ad>>r{U`mm-vOTN4w@zgqi+?%MdvQ1Cnen;CH+>Y>o#(Sd%9GOM z!nEe2PJjsR)$7q|isNHBU?t{s6u9+K!4Df>g){+ zkZubGi<~#P+dC_WYx%45rVnYGf(&~UTkkv_Fz#9EDQRqP?{oNADPCy_Istq#?-pDd zKO9@(PzokGld;HEIDh1Fq<><}zwQX{VM3u^C46}P1qm+)06sDuIh=5qrr#Gwzj+=X z=9u-swJ_tu@PrIvN>Xq8(TP^@``&a2lQMYf(ZFAqQO2VW3?)(T_{-bmmG1HP-KHPD zI4%|!LH_+Do=pkUlS>-c_<_*;XvZ}_Z1F~kUXL}WWg^qn-K%LGwA!;0ig+(`S`iQm z)0oGCHtpTX7P0g(AVjl%q=*Xwsu(vH+Z!`b`lT^p(0)GBw`qkXOy8NInnDmXWn0h7 z$|1c7Mrm{oM!|WO8^#=XK_}RW~ z#~B%mC<716$r#gik)b)f0I!?W!mc&X!CREL1H<}CfZ$w7GB&0CHZ$|FlqKJ^Vj=W# zZkdk%_6j%k=*q-(#)(y7SXPO_(H0C+hHsbsWC!P_(5mSf@2yG3746(#{FffPlO^9W zXn8m+4yBYIJ|gJjWw=hM*p1=W78ty^XX+DGX2-ukj5akrg!Dq~?#&y;OZ85C00t{6 zf?1E!nV1eKti>Yt$=-sehr#*CzR57_b=~QHYn|yW$6U%OfOPg-qN=nl&Vd})Bh{mm z-%e)dduEX%DmsQ0kYkC$Ovwu$`4U`=j3XikQp}SeBV=xt#JoHN|nuxzZ1@LFl)`vrtvL7mD~ZmKQN{sbklCbyq8VPu=Q zP|dbGOhii(Rz>4_Kk;+Rjc*qKt;)`hLcO+kLDi z@%BXNy`xc$-qG5lRpyNk3wfXAxt-~`n&wYO#;|m~+XPX{Al^HuXh?Q{!fmL0ct0}x zV$w>pDKRQnYq{L7d}*=BL45Mbee20?1MJq*GJ|p5CC^~C4X0|dWv;7PWp>V zKxBxB{x{|Fo`2ub{pSp4Z5B|*Bd!KEdZKnFN>ixmiPCAQsOvbVmsRJpODG8Imue8S zhs)Stm}a|B<8up?pzb8AuWVyi;We)uT*o!{_HS;Lrj#@=hQEz53aHO`OPOKooFsOS zXiC@h* zS@|eo=)>PfglE->Y;H_LnYT#d<-3#r4jDW+{r>UOy?`6l)V{4RE;K>F^Mn7o&{S_? z>(Qg1-~Y4jTyCf=h(g)W3R5vnRfGeW@Wo#NZ(t>$ZFxp0dcR<22k}^0&p8YV<23+P z+Zh&Aa3SDC+>~WIQ0GUaW!-Ie^tnxA1!jCKg2T0w=W<)u_<+*dpqG-Y7OisG|n^+~iP zNeBT49c_TP=xpeoaKgm#s9MwH7_~BC;mI%0cKU}w)Q!9S+aV259WfgW)udyu4Ra-1 zM5yB<19ulQ5VoiK_kDYY$cTj(Be$DF(Z5SZ_PrHV1 zat({1j0n{Qp+%_r?h6u)K6*)>kP|ma{VnY!7KwFFsw*xV7kD~aJMR>DK++ZVw(j=2 z5p;-5FX8KIIb$YY1FfF{_N!+DNBaoaUCy?k2rf!aw-4#e0@dC-3*CzaJ>rN5eF?TI z5zq2vBD#@upE#6X#iZtYK$c{4-yW;e%V}RIP~0L1%wmCwi^9wyv0Hw;k*dN=#B*_SP`QRH;42%1|R4Y6JTArp|?s@#PTchC>J)!aGDOhU>TzcfH-{kI$N&dN7 zr`L%kFVZK>#U^9tH0?%TbYHg+IgQ>v^itafFrNRooL)TwZaF-ze5aQ;VXgVXP)tgU@U+Y~x0!lpI_6a9+rE)@ibNx3Qo5)RlaCygR zg3r#L)^yQ!al~zxWoN+x#5DnKodWvwCCy(V?rQOa`6?+_4z=nn?$YhYK)gN)VGesRc2NU+6DDf(B>B@ov*a^yBc$Ryb-jCB*UV7kl15 z@MyHVl@|)0Mr7}ack<4-V5doI*kyl0t6$a#NYZ3=*|N zH84e&PM#YdU%27lJ#^^0gM2?qk-a7#5Q>R1-f6>HNjjtJdj0UFBQn8zPpI);`=i9% zfo(5Mg!iQ}K~wQ9<-dCk)9yV6+y~kL;H(1AevtO{NUo+Dw?8z%U(F`73zGaCe?>CJ z-${>qw9G3VS3OzQ;24`+#Y_UrhyeGk$&T3;7|yZJ>+YRw1iL-Mv6qZEIch0&gxzu; zkQ`{UHG4X~eG>aRpZLk$!BL)du84~#qBPInhBj~mGM6l`7;-ggfZwm@JP+)wU4Cj& z{r%NH0o>*@jv5~_z0ermE1*o7tNU5gZ3gM3d6`;^Q2#qFlv zTS~yxhi}p!mn-aiRfpy!tj*&mCuDf*B?0gM_ii7tsF2J9e8jT^tgUZ7-v71^*LD;& zTRIgW2iwCk%`QG1suQOQYJ|t5Soq^7lFo;oN0UvRS0oU;f*N2YF2x> zB$!eV0k`H65%jUJD8p5!9>0cZj@Xy|wehv^dA%6bMn^f@RgYY@*~_$fe+JdQ3JR6!0>EEm?$+5C&Np<%=6;_RF+&eM%AD*?!G>%tZVUSp^IZyTaPXbjKvD>fmBjAt zJGsNLVj>vw)DZc4X$5Lo02d^P0*`#0V`AQK>ir&E`DMA5&~hDkla9F=`zIHa*!!g5 zmVv?Wbx^cALPa0y!v!1Bq3^;#uqbcJXc9$BZ~6Lm4I6fxt@Vuw`6;DfvLl9adz(UP?6j{2vD3rHt~Da*2Iars88Pc?RV3ys`G+-YH{d8iDi zFGD5r%Fn2a_6-yRaw!I zETJykhhq8ks<-~PBqcj9A3B0Jg*+}cbSPLXPHfc{`$tf!-5Z>fm!r5k_afRz9Ze*= zqrNT9w83zcyHG&^0RKXfJ`$?%Zd;mo6?*c1ZBUB_`TiWqM@qi8fnc6aE&dMpYly(6 zqaM)I??Kf)p1umIm3hZS0nkr%`+?;ilBQ3nRTAn}#ngr?R=06#w@a+7j4-Vnw1pAM zKuY51)AfG%#+N0W(e-^~gSQh`_I`-6<^cxd?8Fhv5@80x7~lcfbV6FKmP9GRvi5`0 zn)GwF_E?sBmN1X{=y>cWZmICOE8lkHvK5CiMhibXJ^JgyRkxXFDa&V?)8kUt*|T&dF+NFS?i zF$lWi+&)EI;1f5_61UA_j4x_hIc});7nQ5eLol_nk9Mosc&VNYMaKZsYBDvea9Bh` zgI@`@UM=WO!z)&?+1*2C4GsJ6JjBZ?H(BCM3KqxO7gK3ZPj(%(HhJn6Z{+rH1N8uo z){zRvPwi=KT{A87u3SaDY_0gY)RC(-^A5UKC6SSo3j&VEBs-1;&{2Tv2Pddf6*2_* zbZHbrD^MA?Dnbo5r{_P0&;T*c3p-pMwm9~p*CALb9T`M@a?{2v0N{i;7h#09GM&mN z*6Dd9@89^U-utyUf&!z60TAKPx~66^KWS|el z=^_OpyF-`E)ah0m>jEd8KUKS*;kA{qGh!ZD<*6wfI^raeJfYsVipl(` zzOQV3FdJveh&goK`-;rYk-I8{e|q}R%QH{tdzn<(Qie_41_O2PnF+DI8EABthwMi#Wj1Qnp-Xergvv`BhFtw{riaxdr*ZPE`d zsan47y+0d<-#4Xv-`BP>*048T3}XRyte;y?uCXYI6&aTc&hdC(U_KNGcbev~o!you zE%)L3!IDjAT8HUG%XxjQ^Urhj{HgUM>7)8wb+$%>2+>y*f5PE;Ybrvhy&q(&pS5@#+E^F zPl5T-Ve`5<5?DBl^J{g(awf^vp=mIGJSmD7hN}ai#KjOSXxsce&`30-`)$ZnAIukK z9L$8iLuuPajcR_>$523#HrrYG@JRaN&e8OX-2YYgkA~{}$bg!u=J(LbC!c!{8jLjq+jwt5))IJ1(fUIK-`mJF zO1@}pp12WrGh*B>`WkK1Jh1`M-nNkSs4a%tWXoY=l1%*V=J;!LyzN}o1{=k(ebPCi zYclG**j&;U#_?qkveL5$*oCJf1s)=qW^Yu#)3%##&-)ioqwgHcr$2gvoqv}bmHR8~ zsPa`U^^bz(CU2Fa7VM6UL!KGVY!FXZf00+L8wJErbl=5})Ue?>Q!tg1W2yj!HD-|n z(@i(b*mn0Vu~FFn0^0H60;IwdU7aQ`E*PH*`$Um`h6|Q_^4k2#ThqCH)`Nw=bDiDU zJA80ysgZ1XXM$a=za5Zp=R)hJh(G=;W%J1MRZJ+T`cHmsB#q-0LEUBauWa6q``t8j(nZWyB}T>DQo^5f|(uER@{?f2Z>`mR-ORA8~{jp1*Z4EJERgFr5I~WjYbsgsUBb>`^Ei5donLw+|ga+a~Sx3I#k#g zkQ@2Qoqq54g-SHI%a3A+zZ^Ba$7N%b)1BC`e%3`=a3%AWi!bWPoi*aeizTP>91vl4 zH}B<6Z{Js`%bz=_gXp!Wp7R@n`};q5)n%s{%i|xR=0pvPU#ZqSTB9R>>rP1afMwr7 zPSMe{l20!+e?8PRJ|FujhIda9v>Vo@Z6P=5J>?M+=TTFoY0fRI$x(I!9JAr-gm9Pk z-SHd?`>Ug=x>xy%C?9g_a z>{Y)8|LYe{qs_hr-qv;B(aX%Bw)GCDw?_Il2eSnDGry-ln~liZXA-UKn>!6_D5>Am z$f@#%V!U^xC^+S1$lwn*x5{f*% z=*pP~hrV{Hu;|LmFYzhX>dwL<6Vu_UGN3OtL2K)We~ex;C@5Oz;;^q|LMxyYEZHu! zyAmX(y+PeyQlCw@Qe+=d6i}A7KVew;$}9}NlYxRg_w;{@n7YT#NF&aSF(l>fyBLy7 zqZ*1QSMQnifwaE}`$6c^)qaUzUthjI^S?wnF>r{O!?sCm6_sANbBvpCN5gtc*xXm? zOY*+%R8$K{E#Fl0u@NhW)n66Y+MdN6<2Plgs`W5s^a#vn+s;--M#J&~q;{C*!IeR- zKnpTA;6a_EL}7!pK1A}Om&6&x9(y*a=cP=LMg9?i4L+r;v!uvUqb8Hxm519*4)Lx4 z&)x9TDh-x7Xg~GKKk=Fb67Qt>ze6%g_&qNwT$y*kDfjt*Pr&%O~8O* znuM81h9iT4TFG3sMgH#o@DB3Lj`cg$Y}%iPGMmL(e0-g7tq%glbNlKnu)jL87mq_5 zzgabLv9jIwLUuJgobe#j(?i0C;p!&DLT)VJ13^r#&d2#ct{qYEpkKu)X?= zLGpo8##c4*!PCW{wfINO{ajE}vJI&Z_`&Q3Pyzj0mI|SX8OJ&v$A99H3h_HMl=;qZ zo2CP+fLmz_B~OO+)I{oWfntkvY(2a8WhNbMCU%FYW7843Y*3@k+caZt4b)f&Y2A3f z>xU}OcKgb433&i?2P)It;)0OdMP7dGAnOix;(5q&tP z%tPKPXyEl(&An4@&~{hK!tX>c}DcH>k1FpM4ZQi}rJOXyo5{ zY8wQnc242(f&R|Qw$t@sjjqtkUP2!2%j)hr78B!Qqh*`^CBB1E*HoN6_-Y24hv6#4 zZi1-rl7>hxilGT#*x)t~un>kBzV5wC%>&s*|(t%&S=JC-`EXYO;?|6Yjg&l1E7MU^${p% zU~-}j;H!2v1jEq+CpBCf{^4v{bk`k51l0WJ3)pirjfdI}n6{di-n*LvlBx)*kx3C3 zrsi|EeeU9fKp(n+#R?Z`iS4aDw65a^naB`XDtElFcO!@Ftm7J<)uT*MRP3TKq10T* z%q(gDnSReKy2AICGsXtI>-Oe)%GNLq^8Mfwm_>QtNAvk`U1MRsqqZ~?ZiE2kHl{I zxMRZ>Y2^ZR^zz>@hd?2WiQNe)siJNCxTKm?+uSlSpZMC239>G}YyV8b9|pd*gc!BJ zaGPOc^0$AyHoo`sc7m7D>YXtO22^QMr1-Mr;h`82*lLEsMFcwjT%FqUzd4Vu+dF-1 z7`hBfL&U|tXEI=hnL2$jaz_S#mzxACW6K0KSka8N%Mqrb+d}zdF*U-bw^GFb< znSPD^tTKuC12T1T;r(p=0NP9*KzI}d20C4>XUCG)Ab;5wUSBze1J=C3YFoqY*5t)NS$=3 zyM#(HUTYOV3wU`FLgylDI?Gu9)$Hj-TcvYDtA}HZDLVwL_IJ2Vg@QlO5g4?>h^J)$%+!=fuz8acVD*Ia4i8HfalQe zhsl>G{6Wtq5&vy?;ILp}GwGzXS&DCAXQrSchbcuHVdsCIFO6^WE>+Mgt^M-o%tqDN ze@gKyzU2#&ych4UW>Z9RGXdqt1n$bD|K@Oa^_!K|gqY)~hnp${<0x-~kdi+7-ZPW` zG%7rhFu8BifpE;;l>5CxvjRo*jYrLn&4p+!lt9z+yH;XxhgImi4@ zGC96$#JNbk;9rJGj>bk-hIF6ig_kLI5%{CKGE_CPjK^ZLke%&F`@u*BIa^YgmdRqIcgLwozQJpVYz70U zOMxD_0o@Bw?l#PM`_jT+gzTlDx!eQPt^;*OvaC>$&Qm)FfooTP453};=f5Dqjk6zp zK}EKpz4V>4S&-j(C5vvrw+;Ye%Rz|)wx$7*EQ>2EI{O{cA@b=G0wDCM;n5eeixCP` zPnpAhL8>VXw^}pqWReyo5!GkpF%Nd8sI+d|Vg|8j!>trAii{<*#`Y&k&%s9 z>*6|bZ#14Bz3*L^{OjXs{~gEMhelWjoIDj8aixs!v=U&dp7}q7;M|YG3PR=$I8hDvglIYO?Cka zL~tfpT@${L=zl={P~{cpJs_8DYkNF6BfvNU6hEi7GuZerlCe%@sz-R7G)lXsQTP`T z`DeIrEhh**%D-}=(Aiv|h7<&@s1?7WQoxZ{kW9#BE$X7c3nxvwWugUumax!0G$fNo z&;w^%%_XXHjfzVX2jFf`q8PSbz#ux}5du+JV*NJ5%!MDFbKIpZ6q?+Qh!q387Kutv zwUrV9qtZH$r@Ra@b@DPmRzfBFQ3nNKX+9I={*)VP20{w}I4zY%ZS}Q zsbppn`)WPJQ_e}LL@u#IpOOezsZ)W{nFxm0O@%{;%2XLRAr0xCR;5*&@7E4MO?P)uExi;_mv>la6SbMW>nj4IVMDYMFrk-}Pq zLN`rL{fYWojmoPZ_*x4oO{0ZXp&2$WR5)J69Wkd4ufl^Urv?;Gxf`9;31i;>n5Xao z+f&x?WfP~k3M&y*$4(l`6U^&7@i~z$R2Imb7N8*pybruA_gq?$Mmf__w4?@Lu6yNW zl+LVy-Wu8~PwL{@Epiy3Vq1^`&Aa#l;77ClwH)ql(WQeg%L?xtR%L_Dk2#t(fF37- z!ch3=seM6)^3-Giw-Lrr)|r?BOl9QTXUI}Ev}XL|6<=R|ddor@XUG<1*iFf4TQW)8 zVdj{@bB0%;@vDd(Anu4*t4J<^R6)e#0?PfBivlxE2P>^cj%?gI`8lW(kcxMazp(N9 z@~OFc?4n%JW~Su7ZHtXW>a@x(!>FrrHl~}dcYbA^k!>Fu)9gFDAK{;Qj6t=)B6a{? zE;i?Qklj0|azh7@5r!p90tl2&5*r`?kigfjS~WX+7S&m$*?jJ*&K;TN|5Cv$b|aOI ze*yAQ6#y@eIXqQK|2}o>v5n*vh#XEoX_R>DBl ze)1Q5YF*L`clNX-CtW8>um2g_Yc!M5ovktqw)f)ee_VF8+NsHEMvt>F+pQesAZ)5p z6MmCQ{h%I&k*nN}v|-;WbRMoOZ!TO5IwG*T-VML)Fm}Xy`SP;!1#`jm15MZAPW9&l z{aXk!*HQHf&2D`PjiGDOKc|Vma~t;$2VBVpE3$x*ccFX{vbr64^x3`upgA$q=`ffI znj}L22mOUmm2lYuHl4?QcIfL+&)v~E7gPgY?kYQagSyyFUxugR* z-oS&TLZp+1;6y>J_-5FO8KlhknnPhy7-D?qvWU=0^vg%Xwso7C%(1ml>0ffqNL%XKy&@eo7{WjSq>D@B`d=eljK6Cf7oRj=H z_qtTaVNHc*d~2Qy1MB4XlR7qqJ=+ne(XAXLLN-#)oV4*fdctf^pju8=k^~#X!os5g z+L?_H-Xo!_Cnz_Ho2d24rtM&Rr1!HaMYryIn!9sZ03RE`{fn0O@4|Me3Vn)m4|}Eh zbedWkhz}}b;|5Hf4*MGiP62zo0r%2C{7F) zv?mAv#N$?5g zYi<-Btk+VR%f9p!s{sHhe%6LS{XTXQ70bXS98}{Z>WVmNx7mrA4)s9~((^iz(298#^<}&^Z44|NgkmAB?U->kDnB>`N~w+QrF67Fr`6%7 zo+VO4`Bt|wzPCU*&tOOBeH%vD?H{^FR+6X;ZHI_lTg*H&T?@-UC2C8nTl;+(<*Ru%V4i(u2M! zTUC#s4%-`{AT`lHiI>UN44pHV&;FKHoF*y0mA05tcEoYPW*48a+MlVlH_!bUIlXv) zqoYQV1!9W8z#z+$^}8U55h6vewF5ft*&;iQ*XDpEumC7M=N}gOjtJ>R8$-L>;bKK0 zMPM&BeAMaYL7T_bdfQJE&con@5kfwIgj`IoacGIEKZ**vFnZ9ZqK=#DU0uVZvQ&Zp>j9= z^;RBB>$@4rpLN2I<>%%7b4tI{%v1~rc(5h_q^QU{&!MzhM8<6}xE8!!i!eLhFm#px z7IcY?krwfPCg7iK3Ea0O!Ep1z$Dm7R`0i7Y2cq4x6kk|pKvoJ_%J+~O8!Rm07}j}3 zwF!~A2vN&Ob!oG*OqKp9aKJ=x3E92; z_DI%2axI9bsjV{*GO7cJEeh+rDX zQ2AK)T!Q|wuIK7H2^tS3CKIC2hVqR(v;&X!cr^14PYkMLLganpCH%sl9zwcspE~Ru zE?9+=w{uA@Qlrvz?_u8KBKE0^A=P-53>d}v=FS&ILW$qnSupk#j1D$iM zF|&SmoBj?xB9D^rZ-3()iNW*IfD1AfsL1zm3(ja-r~ISd;)-{tGa>O@L<@F(S$Sr} z*8#sf|2c5y`82KyEFx!ja7r9^Gt3J_wg4%GO{0$x|BEum9R7!BvLZb? z!Rdjxj@Rc+x{_!gweP5J4y*kL0rn9T&^I-kgb9y=DR+J>pl}I%TM6bl4m>zHB$1r% zLTNU;8Z(f+P$s|pZfv*|%rio$%sg-u_bwj|hMi9GJGb)l?D+6|jG<@Kf0e!$E|LU4 zd#>FaPTGU_G|2ks>UKh=^fBiQ`8`af7uO?y0MYPlQApVj3a{YTS=^gWb zKzAwdAf_89hco`)H-0S;{yOL_6y=wCCmXreUBp%ks{c zQJ!x&<>O#aAy^|Xl)d&A^ty#P>-Mq@;pnaKcwo4_x>#C4FFg(F`jk$s%flEF3birndH8S-36+ zRw&Ogg)P_3l5~o&-(r(2k|iB2wO($y^gweCo3n}K<-ts;PBtE?v~EHWfCeDAy6uYjQn4}|Hw0olvF zJV+?X#Yik@J8Y(@)*7)~d7pp2ow;fq0M>^uE0l*}RtI7h7c~?fq8M~V8T;(W zq^MM3DgG~u+~4PUXH|hST&@|D=lz5sj>zp~Zhv{IfQw{5{`-q}=ZjS&&~+8~cZAJA z$Y||rfgs;<#vWiK4rIbexZ4IDE;-rQyv>Sf>JqXQ3x;FOO9IJSvndJ~Jr}*+EHmJ1 z4?jt1B1rJRWvv5b)2Jw@&%sB#I>!ndW>Me(2L%bbhBvR}*<`g@h$^1duFm)vqyleL zKMv*`3p(_eQ%IX)LbHAR;2rO}%{BsmsJj00S|A5D{o$+iKu z9F&q4QnfYj;zk`O0$$FNj8HL4lD@CQuFIE)hdJi!4N&Qz15sv{tHIX*W*7YSZQAxP z31Yh&J-4j8aLqrOqY<73>_85%kb85@^uHKY-IZw6iIT?f(M7~57Qs4WcixG zHWL*Z+ZV3zId-D-=bIo%*>#NR-tushDet@*KL`#+*&GAUjye(l?Wj@z`|Y#qjivJ zE_<#mX6}@F4h*9l>darE(+QPHXxbR9^)I%m%eSPMeW}_P_HM2yk z@1XluRbr-UB^sWjkF$n4w#O_^LfvcM31%fX`EiK6cuz3 zH4dE>becfcq9=rFBjpbJd?ma70U?HRUIJnJuk>d!G%lcxeaVCzrfb`$v%j)^Ba!zE z^Ltkv@n5+MTT?V-yHcc!7Dku>7>l4_QGB>nm-cR^8fVct`w<=M*V2Bop;t{I#m!~Q zgN7#3g*$0U{0DtAEezBcCOn{WjcW2yrOK|Q1;fXn@`}FD!jRT!3G%UWpYQNFptQt_ zC2)89|2SP;?>g~^rhE4XROQ%5ZP};aTZgyZsD(TiX^?vH$DJjMS1~&D5FIVm+Z@1n zxz{YE3Xl)B0iisyy2IPXlMND2mr^O_1DdYSvj)vh#Zwp4{(Nvke;>h$HWVvarzps- zt+QR-)`gwuW_)F&3NidrZes6#s^l`o)|u&|W@>`R`HxrHf_)}~o7=4LHnt_4*XZir zZeNu&{S|xb$>3y~&`eZacwHMf&`5w(_L|Q7 zuT_S}{<_4+R6gT>l4IK~gK}q+&&o}HJpGluCGn;zhU{3_lQyfBti4)(x+b9~^-pA% ztaue=W&d zQHkCq)@;uNNv|hbdEHaeA7rG~eSvw#nx$Z-Dv?Pc(<;RivQgcleJcGLw)d!Kghv?< zR4iFn-MVkz>kbk-E-1H2E5s^UVjj#+jBaKfH%_qp-+CWPSiLfNln63xku2*~5;Zu6 zfL;iSAr#iMW-SO4`9}9Fid>pZKzquAXyVYD?(Q7p97Rp|!^6QY{6$P>C{=Cn-6 z!_o*KJGoV`d>u%{l+JsY=62%uY<@MTx9Mbvjf?GpbRuyG>YK$>z(v*1z%~Y$ZIS{^|0xR&HQh~h`kH2ljfTILG?F$WF2aLuW<&lnt8sF;89rI{ zZYSkNTjie|t@0KnRZbn`rN#xL%PHHS)}=n&}r5<+y`V=aIfZ>N$_uJ(Tsh`dVd5-t&rf0u>8<}LdJ|%q6B9NrQl5L$Jk+4BpcZAvhO9;7}8E5)Lad}YmNR2qv#Wg=`H}~j%-4VyOIGO0^ zm308D1@fAK5hEpa%YiG|w~As~4pERLxkAcnsl~xSaFn8&R;C7)apV!QLZyn7R+Vq9 zD>DFyw9~~SJ09x*jg-_1;Ckl;F1CrT4-r9a32Bc*jwX~g3spB?;%hS}jE2_FUQmP$ zOZ>ig_gy!RUVqq@k8@J8d8=MIUz|gvK%6cyb3iQkcAFBNC2A)AsayY9OefP-CB;M~ zHuoN=QiTAPICZIlb{qP&MOAhJdYOcRthAK`2%2+9=@>|>B@Y-?(@Z?syZ^4CXD=~a9IkE)NGC%2J6&yXPyoKNR;H;L-h(X zA_g0T8->RF1O1PkJDLlLPafv-P-(bvMr@#(+yI~`#&A+?MW_f@UssUHN<+}{gwmy2 zy=XP-NK$>}1wY+tBK^rPE(%+sv1j6zDk9lh@PH$onti7w03@;02Q=_548_2zxBnwUWB5L#ADMrsS>j_UK;F%mCKd65Ob z+n^DlZQO*itSipk(4xDyJQd!`T1maW0i^r-{pa4$_l;?{46^i1w`)lkA-mfBy)NRX z4qtVyZq);!;22Uc&nZf!LJIv;>McFz+$>xc;t$f%8NrWLKk_>5EA@y&xXgjprN`x2 zhi%7sGF`b4+@oza5XE?GB2~Lb>@sOkPT<1XW){d+7>-_Q#L(EnOWxwsD#zSA@<wM5tiak=qqa)rEhBGJLH{j}h-A;$=h@bCi%Xx@WNEPsl(*L^LqZ0Hu zWOyu2P}FYf$(P9|6V}Q@S{A|kT`l*eQlyB(LR7uBNzqhV`t))pMr?dddmQw#08&~8 z{zSXGGX(iNG_&2zd*@F0hvz8+&&~KoeA_UO^Xx)@j<-)e<=?Fc_%pl?w-nJw|NBV$ z`Ja4I?j59!v`H1F zJbNY%zI{OT?;+uTkPxlb_*IZ{0ujybsxm4;;XtxRU^^58840)eW>Ld{w=6wR+8U4W zp-V32jbmniW6=XIu;sR?=mZM*>GhSKO2HUv(*K8}^G_=;_^bQVQ*(y%ic`9h( zc+VByrVejwpct3l*+1)D2CQYCHM4V8#6Xh9r%ljKikUl;qSv;D_IKRwx}|`SlKXR% zuK8h+zZB2dK0oyd0clHeW#4^M=k~q!?>+yio28s|o8TH9x<11?L9^5jHhvH_vftFN zS589`Zx}}F!133Mv{DV4CDm>Naunte!Bw@Lj!G#(8Rhj((3CT(u#qJfq!|4Z2|h)4FDa1Xszd7g9!MGc zwT<7$R~o`34W!dkfU^8I+7>4#ld>iqFH=(3?r;r?cgAaP_i;+KxBD)d-IuwR>W;ei zy5yAiS%NiuONFx=sBHBPL!KtsSxFE`_J6$b;>#0(-61hUPi|%RRQflbP66gScO-0JA z3)4pPYP3=h9Yl%D7)vge^w$IRE$x^>}J8rL_9>lBtib;P^B{gI9wBb)c~S4!K?)U!u(v?Y=3k zruZNKFD=RE4b{(Sl#B&t~89 zA83F2u=}iqh1;Kn&b|NrSg+A2Wcek?rG`p=AFUVT(mti~-v9vcq6gTBZl740-6UDK zc&piKzEI1vRX&wxfEG7;z&6j_Cx8@Z=vsC(FxBePs4yo1EE2gWR|wjdN?BC@i%j%G z79`L|8d|yFwKuVncCk<^8h9qhU0b3O{|-CTaXdBUdN$;(Ln&N7c~Yb3Wv8JPIWPSBgwfw( z@X!YIE`hHbv^u8J5_j^tCDyn(RXTGt-Q7`a0aF-@c^9?+l1m-%E~O-MPE|Z!JHEE? zaVt>xbjq5I<6<^N(@bXk@9?$xg}ddYI0LkI{v<5>G(pClcjBFkgFC)VW9{s6vErGA zu_Zt0>6VW#clahWcpmQmS#utJ_oWE|38-1bWlD{k9mU?QM+8f&`%1hV%4n(q3d4so z-(GuScK@idU9?VXT55U$x63`%DTJmWl!C*7gy4*r5{4i?4P=z2{V`281E`e*t6idD zDImg(T5HxPfu@kop<7rE@}|+6wqg}3@|Lc~z?k$B&rjQ>O{W~8l9YX z%TVV>OCL`8?S^JRP9&$VwR~G%e|Nm1G+?9PrOv+0p)ilYz2q+|`u-bF&PmRFY+s#O za()_4r}P9-J_zuCX~%wvq_B_6xVl;VhbZ__Le}3i8EyC2Jqq^lc*_um%tsoFYYFk+ z1pQd625Y5tus5$gu@qz%95g6nG*TNEZyDw2JQ=j)*HWuk1PC(>hS4W9tpG*+6u$%H zW}a;k1fgjqbzU^{Cv??F;ff|HVc>J)7Oh~Qe>9tTm;0i!66m@RIaUfap@Nn;q3SlF zb!qj7qf)B$-+cRQ5mW&GvVU%0O2P2olAHMPlOvz!FB7&h2|@mFjQGOO%rYbq{Zn-7 zXT%-nQums&kIBLBivLDD#EiFL_@|JR{iQ{(%)ShpdGLR7&{`V>A`NV;lD`=PeWoTz zB!+t≀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 literal 0 HcmV?d00001 diff --git a/apps/repl/Cargo.toml b/apps/repl/Cargo.toml index c3f8aab1e..4b8f7e4b2 100644 --- a/apps/repl/Cargo.toml +++ b/apps/repl/Cargo.toml @@ -10,11 +10,11 @@ description = "REPL demo app" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } gam = {path = "../../services/gam" } graphics-server = {path = "../../services/graphics-server" } trng = {path = "../../services/trng"} diff --git a/apps/repl/locales/i18n.json b/apps/repl/locales/i18n.json index c95227dbd..74fd8b415 100644 --- a/apps/repl/locales/i18n.json +++ b/apps/repl/locales/i18n.json @@ -1,32 +1,37 @@ -{ - "replapp.greeting": { - "en": "Welcome to the simple REPL demo.", - "ja": "シンプルなREPLデモへようこそ", - "zh": "简单的 repl 演示活动", - "en-tts": "Welcome to the simple REPL demo." - }, - "replapp.audio.start": { - "en": "tone started...", - "ja": "トーン開始…", - "zh": "哔声开始...", - "en-tts": "tone started..." - }, - "replapp.audio.help": { - "en": "audio [tone [freq [duration]]]", - "ja": "オーディオ [ トーン [ 周波数 [ 間隔 ]]]", - "zh": "audio [tone [音频 [时长]]]", - "en-tts": "audio tone, then optional frequency plus optional duration." - }, - "replapp.audio.completion_a": { - "en": "Playback stopped at", - "ja": "再生停止位置: ", - "zh": "播放停止在", - "en-tts": "Playback stopped at" - }, - "replapp.audio.completion_b": { - "en": "frames", - "ja": "フレーム", - "zh": "帧", - "en-tts": "frames" - } -} \ No newline at end of file +{ + "replapp.audio.completion_a": { + "en": "Playback stopped at", + "en-tts": "Playback stopped at", + "fr": "Lecture arrêtée à", + "ja": "再生停止位置: ", + "zh": "播放停止在" + }, + "replapp.audio.completion_b": { + "en": "frames", + "en-tts": "frames", + "fr": "cadres", + "ja": "フレーム", + "zh": "帧" + }, + "replapp.audio.help": { + "en": "audio [tone [freq [duration]]]", + "en-tts": "audio tone, then optional frequency plus optional duration.", + "fr": "audio [tone [freq [duration]]]", + "ja": "オーディオ [ トーン [ 周波数 [ 間隔 ]]]", + "zh": "audio [tone [音频 [时长]]]" + }, + "replapp.audio.start": { + "en": "tone started...", + "en-tts": "tone started...", + "fr": "ton a commencé", + "ja": "トーン開始…", + "zh": "哔声开始..." + }, + "replapp.greeting": { + "en": "Welcome to the simple REPL demo.", + "en-tts": "Welcome to the simple REPL demo.", + "fr": "Bienvenue à la démo simple de REPL", + "ja": "シンプルなREPLデモへようこそ", + "zh": "简单的 repl 演示活动" + } +} diff --git a/apps/vault/Cargo.toml b/apps/vault/Cargo.toml index fbde96342..e71a08931 100644 --- a/apps/vault/Cargo.toml +++ b/apps/vault/Cargo.toml @@ -7,11 +7,11 @@ edition = "2018" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -xous = "0.9.21" -xous-ipc = "0.9.21" +xous = "0.9.24" +xous-ipc = "0.9.24" rkyv = {version = "0.4.3", features = ["const_generics"], default-features = false} -log-server = { package = "xous-api-log", version = "0.1.15" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +log-server = { package = "xous-api-log", version = "0.1.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } gam = {path = "../../services/gam" } graphics-server = {path = "../../services/graphics-server" } locales = {path = "../../locales"} @@ -21,7 +21,7 @@ usbd-human-interface-device = "0.2.1" pddb = {path = "../../services/pddb" } modals = {path = "../../services/modals" } trng = {path="../../services/trng"} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} ime-plugin-api = {path = "../../services/ime-plugin-api"} content-plugin-api = {path = "../../services/content-plugin-api"} # all content canvas providers must provide this API ctap-crypto = {path = "libraries/crypto"} @@ -31,7 +31,7 @@ byteorder = { version = "1.4.3", default-features = false } arrayref = "0.3.6" subtle = { version = "2.2.3", default-features = false, features = ["nightly"] } rand_core = "0.6.3" -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} # ux formatting hex = { version = "0.4.3", default-features = false, features = ["alloc"] } @@ -53,7 +53,7 @@ com_rs-ref = {path = "../../imports/com_rs-ref"} # performance profiling perflib = {path="../../tools/perflib", optional = true} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } # testing random-pick = {version = "1.2.15", optional = true} @@ -71,5 +71,7 @@ autotest = [] multireset = [] # allows credential reset more than once per boot vaultperf = ["perflib", "xous/v2p", "utralib", "utralib/precursor"] # vault is the performance logging manager. Do not use concurrently with "shellperf", as there can only be one manager. vault-testing = ["random-pick"] +# introduce a slight delay after UX boxes swap, in case of race conditions. Shouldn't be necessary anymore, but kept around in case there's a new edge case we missed. +ux-swap-delay = [] default = ["with_ctap1", "with_ctap2_1"] # testing removed for release tag \ No newline at end of file diff --git a/apps/vault/libraries/crypto/Cargo.toml b/apps/vault/libraries/crypto/Cargo.toml index 3f314a6a5..0b5ee0b39 100644 --- a/apps/vault/libraries/crypto/Cargo.toml +++ b/apps/vault/libraries/crypto/Cargo.toml @@ -14,7 +14,7 @@ cbor = { path = "../cbor" } arrayref = "0.3.6" subtle = { version = "2.2.3", default-features = false} trng = {path = "../../../../services/trng"} -xous-names = {package = "xous-api-names", version = "0.9.16"} +xous-names = {package = "xous-api-names", version = "0.9.20"} rand_core = "0.6.3" p256 = {version = "0.10.1", default-features = false, features = ["ecdsa", "ecdh", "std"]} cbc = "0.1.2" diff --git a/apps/vault/locales/i18n.json b/apps/vault/locales/i18n.json index b5a745d6f..73733cb03 100644 --- a/apps/vault/locales/i18n.json +++ b/apps/vault/locales/i18n.json @@ -1,476 +1,555 @@ -{ - "vault.basis.name": { - "en": "Enter name of Basis to unlock:", - "ja": "ロックを解除する基準の名前を入力してください:", - "zh": "输入要解锁的基础名称:", - "en-tts": "Enter name of Basis to unlock:" - }, - "vault.basis.create": { - "en": "Enter name of Basis to create:", - "ja": "作成する基準の名前を入力します:", - "zh": "输入要创建的基础名称:", - "en-tts": "Enter name of Basis to create:" - }, - "vault.basis.created_mount": { - "en": "Basis created. Mount it now?", - "ja": "ベーシスが作成されました。 今それをマウントしますか?", - "zh": "创建的基础。 现在装吗?", - "en-tts": "Basis created. Mount it now?" - }, - "vault.basis.none": { - "en": "No active secret Bases. Would you like to create one?", - "ja": "アクティブな秘密の根拠はありません。 作成しますか?", - "zh": "没有有效的秘密基础。 你想创建一个吗?", - "en-tts": "No active secret Bases. Would you like to create one?" - }, - "vault.basis.unmount": { - "en": "Select the Bases to unmount:", - "ja": "アンマウントするベースを選択します:", - "zh": "选择要卸载的基础:", - "en-tts": "Select the Bases to unmount:" - }, - "vault.basis.already_exists": { - "en": "Basis already exists! No action taken.", - "ja": "ベースはすでに存在します! アクションは実行されません。", - "zh": "基础已经存在! 不采取行动。", - "en-tts": "Basis already exists! No action taken." - }, - "vault.edit_dialog": { - "en": "Make your changes and press enter.\nUse the d-pad to navigate entries.", - "ja": "変更を加えてEnterキーを押します。 D-PADを使用してエントリをナビゲートします。", - "zh": "进行更改并按 Enter。 使用 D-PAD 导航条目。", - "en-tts": "Make your changes and press enter.\nUse the d-pad to navigate entries." - }, - "vault.notes": { - "en": "Notes", - "ja": "ノート", - "zh": "笔录", - "en-tts": "Notes" - }, - "vault.autotyping": { - "en": "Autotyping...", - "ja": "今すぐ自動入力...", - "zh": "现在自动输入...", - "en-tts": "Autotyping..." - }, - "vault.error.basis_unlock_error": { - "en": "Basis does not exist. Or maybe wrong password?", - "ja": "根拠は存在しません。 または多分間違ったパスワード?", - "zh": "基础不存在。 或者密码错误?", - "en-tts": "Basis does not exist. Or maybe wrong password?" - }, - "vault.error.mount_pddb": { - "en": "PDDB not mounted. Please setup passwords, and then format the PDDB.", - "ja": "PDDBがマウントされていません。 ルートキーを初期化してから、PDDBを初期化してください。", - "zh": "未安装 PDDB。 请初始化根密钥,然后初始化 PDDB。", - "en-tts": "PDDB not mounted. Please setup passwords and then format the PDDB." - }, - "vault.error.time_init": { - "en": "Please set the time.", - "ja": "時間を設定してください.", - "zh": "请设定时间.", - "en-tts": "Please set the time." - }, - "vault.error.usb_error": { - "en": "USB error. Check connection to host.", - "ja": "USBエラー。 ホストへの接続を確認してください。", - "zh": "USB错误。 检查与主机的连接。", - "en-tts": "USB error. Check connection to host." - }, - "vault.error.record_error": { - "en": "Corrupt database entry.", - "ja": "破損したデータベースエントリ", - "zh": "损坏的数据库条目.", - "en-tts": "Corrupt database entry." - }, - "vault.error.not_found": { - "en": "Entry not found.", - "ja": "エントリが見つかりません.", - "zh": "找不到条目.", - "en-tts": "Entry not found." - }, - "vault.error.update_error": { - "en": "Couldn't update access times. Record lost forever!", - "ja": "アクセス時間を更新できませんでした。 記録は永遠に失われました!", - "zh": "无法更新访问时间。 记录永远丢失!", - "en-tts": "Couldn't update access times. Record lost forever!" - }, - "vault.error.fido2": { - "en": "Can't edit FIDO2 tokens.", - "ja": "FIDO2トークンを編集できません。", - "zh": "无法编辑 FIDO2 令牌。", - "en-tts": "Can't edit FIDO2 tokens." - }, - "vault.error.add_fido2": { - "en": "FIDO tokens are added through the web.", - "ja": "FIDOトークンはWebを使用して追加されます.", - "zh": "FIDO 令牌是使用网络添加的.", - "en-tts": "FIDO tokens are added through the web." - }, - "vault.error.internal_error": { - "en": "Internal error.", - "ja": "内部エラー.", - "zh": "内部错误.", - "en-tts": "Internal error." - }, - "vault.error.nothing_selected": { - "en": "Nothing selected.", - "ja": "何も選択されていません.", - "zh": "未选择任何内容.", - "en-tts": "Nothing selected." - }, - "vault.delete.confirm": { - "en": "Confirm entry deletion: ", - "ja": "エントリの削除を確認する: ", - "zh": "确认条目删除: ", - "en-tts": "Confirm entry deletion: " - }, - "vault.completed": { - "en": "Operation completed.", - "ja": "操作が完了しました.", - "zh": "操作完成.", - "en-tts": "Operation completed." - }, - "vault.yes": { - "en": "Yes", - "ja": "はい", - "zh": "确定", - "en-tts": "Yes" - }, - "vault.no": { - "en": "No", - "ja": "いいえ", - "zh": "取消", - "en-tts": "No" - }, - "vault.newitem.totp_ss": { - "en": "Enter the OTP shared secret in Base32:", - "ja": "Base32にOTP共有シークレットを入力します。", - "zh": "在 Base32 中输入 OTP 共享密钥:", - "en-tts": "Enter the OTP shared secret in Base32:" - }, - "vault.newitem.is_t_or_h_otp": { - "en": "Which type of OTP record is this (if you don't know, it's probably TOTP)?", - "ja": "これはどのタイプの OTP レコードですか (わからない場合は、おそらく TOTP です)。", - "zh": "这是哪种类型的 OTP 记录(如果您不知道,可能是 TOTP)?", - "en-tts": "Which type of OTP record is this (if you don't know, it's probably TOTP)?" - }, - "vault.newitem.totp": { - "en": "TOTP", - "ja": "TOTP", - "zh": "TOTP", - "en-tts": "TOTP" - }, - "vault.newitem.hotp": { - "en": "HOTP", - "ja": "HOTP", - "zh": "HOTP", - "en-tts": "HOTP" - }, - "vault.hotp.count": { - "en": "Please enter the initial HOTP count:", - "ja": "最初の HOTP カウントを入力してください:", - "zh": "请输入初始 HOTP 计数:", - "en-tts": "Please enter the initial HOTP count:" - }, - "vault.newitem.name": { - "en": "Please name the credential:", - "ja": "クレデンシャルに名前を付ける:", - "zh": "命名凭证:", - "en-tts": "Please name the credential" - }, - "vault.newitem.username": { - "en": "Enter the associated username:", - "ja": "関連するユーザー名を入力します:", - "zh": "输入关联的用户名:", - "en-tts": "Enter the associated username" - }, - "vault.newitem.password": { - "en": "Hit enter to accept the suggestion, or start typing to create your own.\n\nLeave blank to customize the generator.\n", - "ja": "Enterキーを押して提案を受け入れるか、入力を開始して独自の提案を作成します。\n\n空白のままにしてジェネレータをカスタマイズします。\n", - "zh": "按 Enter 接受建议,或开始输入以创建您自己的建议。\n\n留空以自定义生成器。\n", - "en-tts": "Hit enter to accept the suggestion, or start typing to create your own.\n\nLeave blank to customize the generator.\n" - }, - "vault.newitem.approve": { - "en": "Is this password okay?", - "ja": "このパスワードは大丈夫ですか?", - "zh": "这个密码可以吗?", - "en-tts": "Is this password okay?" - }, - "vault.newitem.configure_generator": { - "en": "Select options for the password generator:", - "ja": "パスワードジェネレータを設定してください:", - "zh": "请配置密码生成器:", - "en-tts": "Select options for the password generator:" - }, - "vault.newitem.configure_length": { - "en": "Desired length of password:", - "ja": "パスワードの文字数:", - "zh": "密码有多少个字符:", - "en-tts": "Desired length of password:" - }, - "vault.newitem.uppercase": { - "en": "Uppercase letters", - "ja": "大文字", - "zh": "大写字母", - "en-tts": "Uppercase letters" - }, - "vault.newitem.numbers": { - "en": "Numbers", - "ja": "数字", - "zh": "数字", - "en-tts": "Numbers" - }, - "vault.newitem.symbols": { - "en": "Symbols", - "ja": "シンボル", - "zh": "符号", - "en-tts": "Symbols" - }, - "vault.illegal_char": { - "en": "Entries may not contain ':', or a newline character.", - "ja": "エントリに「:」または改行文字を含めることはできません。", - "zh": "条目不得包含 ':' 或换行符。", - "en-tts": "Entries may not contain ':', or a newline character." - }, - "vault.illegal_number": { - "en": "Please enter a number from 1-128", - "ja": "1〜128の数字を入力してください", - "zh": "请输入 1-128 之间的数字", - "en-tts": "Please enter a number from 1-128" - }, - "vault.illegal_count": { - "en": "Please enter an integer number", - "ja": "整数を入力してください。", - "zh": "请输入一个整数。", - "en-tts": "Please enter an integer number" - }, - "vault.illegal_totp": { - "en": "Shared secret is not valid Base32", - "ja": "共有秘密は無効ですBase32", - "zh": "共享密钥无效 Base32", - "en-tts": "Shared secret is not valid Base32" - }, - "vault.no_items": { - "en": "No items found", - "ja": "項目は見つかりませんでした", - "zh": "未找到任何项目", - "en-tts": "No items found" - }, - "vault.fido.countdown": { - "en": "s until abort", - "ja": "秒 中止するまで", - "zh": "秒 直到中止", - "en-tts": "s until abort" - }, - "vault.fido.pin_uv_auth": { - "en": "FIDO host is creating a PIN.\nPress any key to accept.", - "ja": "FIDOホストがPINを作成しています。\n任意のキーを押して受け入れます。", - "zh": "FIDO 主机正在创建 PIN。\n按任意键接受。", - "en-tts": "FIDO host is creating a PIN.\nPress any key to accept." - }, - "vault.fido.next_assertion": { - "en": "This site is requires multiple credentials.\nPress any key to allow the next credential.", - "ja": "このサイトには複数のクレデンシャルが必要です。\n次のクレデンシャルを許可するには、任意のキーを押してください。", - "zh": "此站点需要多个凭据。\n按任意键以允许下一个凭据。", - "en-tts": "This site is requires multiple credentials.\nPress any key to allow the next credential." - }, - "vault.fido.make_credential": { - "en": "FIDO Make Credential Request.\nPress any key to approve.", - "ja": "FIDOは資格情報を要求します\n承認するには任意のキーを押してください", - "zh": "FIDO 提出凭证请求\n按任意键批准", - "en-tts": "FIDO Make Credential Request. Press any key to approve." - }, - "vault.fido.get_assertion": { - "en": "FIDO Assertion Request.\nPress any key to consent to this transaction.", - "ja": "FIDOアサーションリクエスト。\nこのトランザクションに同意するには、任意のキーを押してください。", - "zh": "FIDO 断言请求。\n按任意键同意此事务。", - "en-tts": "FIDO Assertion Request.\nPress any key to consent to this transaction." - }, - "vault.fido.exclude_list": { - "en": "FIDO server is excluding existing credentials.\nPress any key to acknowledge.", - "ja": "FIDOサーバーは既存のクレデンシャルを除外しています。\n任意のキーを押して確認します。", - "zh": "FIDO 服务器正在排除现有凭据。\n按任意键确认。", - "en-tts": "FIDO server is excluding existing credentials.\nPress any key to acknowledge." - }, - "vault.u2f.reset_check": { - "en": "Please re-confirm the reset by pressing any key.", - "ja": "いずれかのキーを押して、リセットを再確認してください。", - "zh": "请按任意键重新确认复位。", - "en-tts": "Please re-confirm the reset by pressing any key." - }, - "vault.u2f.vendor_configure": { - "en": "Press any key to allow vendor configuration.", - "ja": "ベンダー設定を許可するには、任意のキーを押します。", - "zh": "按任意键允许供应商配置。", - "en-tts": "Press any key to allow vendor configuration." - }, - "vault.u2f.authenticator_selection": { - "en": "Press any key to make this the primary authenticator.", - "ja": "いずれかのキーを押して、これをプライマリオーセンティケーターにします。", - "zh": "按任意键使其成为主要身份验证器。", - "en-tts": "Press any key to make this the primary authenticator." - }, - "vault.u2f.factoryreset": { - "en": "Host has requested a factory reset of FIDO/U2F credentials.\n\nThis will permanently erase all registrations!!\n\nPress 'y' to allow, any other key to abort.", - "ja": "ホストがFIDO/U2Fクレデンシャルの工場出荷時のリセットを要求しました。 これにより、すべての登録が完全に消去されます。\n「y」を押して許可します。他のキーを中止しますか?", - "zh": "主机已请求将 FIDO/U2F 凭据恢复出厂设置。 这将永久删除所有注册。\n按「y」允许,任何其他键中止?", - "en-tts": "Host has requested a factory reset of FIDO/U2F credentials. This will permanently erase all registrations.\nPress 'y' to allow, any other key to abort." - }, - "vault.u2f.authenticate": { - "en": "U2F Authentication Request\n", - "ja": "U2F 認証リクエスト\n", - "zh": "U2F 认证请求\n", - "en-tts": "U2F Authentication Request\n" - }, - "vault.u2f.wait_abort": { - "en": "U2F request denied. Waiting for host to abort...\n", - "ja": "U2F リクエストが拒否されました。 ホストが中止するのを待っています...\n", - "zh": "U2F 请求被拒绝。 等待主机中止...\n", - "en-tts": "U2F request denied. Waiting for host to abort...\n" - }, - "vault.u2f.newapphash": { - "en": "New registration request. Press any key to approve.\nHash: ", - "ja": "新規登録リクエスト。 承認するには、任意のキーを押してください。\nハッシュ:", - "zh": "新的注册请求。 按任意键批准。\n 哈希:", - "en-tts": "New registrations request. Press any key to approve.\nHash: " - }, - "vault.u2f.give_app_name": { - "en": "Please enter a name for the app:", - "ja": "アプリの名前を入力してください:", - "zh": "请输入应用名称:", - "en-tts": "Please enter a name for the app:" - }, - "vault.u2f.appinfo.name": { - "en": "App name: ", - "ja": "アプリ名:", - "zh": "应用名称:", - "en-tts": "App name: " - }, - "vault.u2f.appinfo.last_authtime": { - "en": "Last accessed: ", - "ja": "最後にアクセスした:", - "zh": "最后访问:", - "en-tts": "Last accessed: " - }, - "vault.u2f.appinfo.seconds_ago": { - "en": "secs ago", - "ja": "秒前", - "zh": "秒前", - "en-tts": "seconds ago" - }, - "vault.u2f.appinfo.minutes_ago": { - "en": "mins ago", - "ja": "分前", - "zh": "分钟前", - "en-tts": "minutes ago" - }, - "vault.u2f.appinfo.hours_ago": { - "en": "hours ago", - "ja": "時間前", - "zh": "小时前", - "en-tts": "hours ago" - }, - "vault.u2f.appinfo.days_ago": { - "en": "days ago", - "ja": "日前", - "zh": "天前", - "en-tts": "days ago" - }, - "vault.u2f.appinfo.never": { - "en": "never", - "ja": "使われたことがない", - "zh": "没用过", - "en-tts": "never" - }, - "vault.u2f.appinfo.authcount": { - "en": "Usage count: ", - "ja": "使用回数: ", - "zh": "使用次数: ", - "en-tts": "Usage count: " - }, - "vault.u2f.register": { - "en": "U2F Registration Request", - "ja": "U2F登録リクエスト", - "zh": "U2F 注册请求", - "en-tts": "U2F Registration Request" - }, - "vault.u2freq": { - "en": "FIDO Request.\n\nDENY the request by pressing F1.\nAPPROVE by pressing any other key.\n", - "ja": "FIDOリクエスト\n\nF1 を押して要求を拒否するか、その他のキーを押して承認します。\n", - "zh": "FIDO 请求\n\n按 F1 拒绝请求,或按任何其他键批准它。\n", - "en-tts": "FIDO Request.\n\nPress F1 to DENY the request.\nPress any other key to approve it.\n" - }, - "vault.select_font": { - "en": "Select a font style", - "ja": "フォントを選択する", - "zh": "选择字体", - "en-tts": "Select a font style" - }, - "vault.readout_switchover": { - "en": "Switching USB functions...", - "ja": "USB機能を切り替え中...", - "zh": "切换 USB 功能...", - "en-tts": "Switching USB functions..." - }, - "vault.readout_active": { - "en": "🔓Readout mode active.🔓\n\nHost is permitted to read and write unlocked records.\n\nPlease run your host scripts, then press any key to restore security.", - "ja": "🔓読み出しモードがアクティブです。🔓\n\nホストは、ロックされていないレコードの読み取りと書き込みを許可されています。\n\nホスト スクリプトを実行してから、任意のキーを押してセキュリティを復元してください。", - "zh": "🔓读出模式激活。🔓\n\n允许主机读取和写入未锁定的记录。\n\n请运行主机脚本,然后按任意键恢复安全。", - "en-tts": "Readout mode active.\n\nHost is permitted to read and write unlocked records.\n\nPlease run your host scripts, then press any key to restore security." - }, - "vault.menu_autotype": { - "en": "Autotype", - "ja": "自動的に入力", - "zh": "自动输入", - "en-tts": "Autotype" - }, - "vault.menu_addnew": { - "en": "Add new item", - "ja": "新しいアイテムを追加する", - "zh": "添加新项目", - "en-tts": "Add new item" - }, - "vault.menu_edit": { - "en": "Edit item", - "ja": "アイテムを編集する", - "zh": "编辑项目", - "en-tts": "Edit item" - }, - "vault.menu_delete": { - "en": "Delete item", - "ja": "アイテムを削除", - "zh": "删除项目", - "en-tts": "Delete item" - }, - "vault.menu_change_font": { - "en": "Change list font", - "ja": "フォントを変更する", - "zh": "更改字体", - "en-tts": "🔇" - }, - "vault.menu_unlock_basis": { - "en": "Unlock secret Basis", - "ja": "シークレットベースのロックを解除", - "zh": "解锁秘密基础", - "en-tts": "Unlock secret basis" - }, - "vault.menu_manage_basis": { - "en": "Manage Bases", - "ja": "管理基盤", - "zh": "管理基础", - "en-tts": "Manage Bases" - }, - "vault.menu_readout_mode": { - "en": "Enable host readout", - "ja": "ホスト読み出しを有効にする", - "zh": "启用主机读出", - "en-tts": "Enable host readout" - }, - "vault.menu_close": { - "en": "Close submenu", - "ja": "メニューを閉じる", - "zh": "关闭功能表", - "en-tts": "Close submenu" - } -} \ No newline at end of file +{ + "vault.autotyping": { + "en": "Autotyping...", + "en-tts": "Autotyping...", + "fr": "Autotypage", + "ja": "今すぐ自動入力...", + "zh": "现在自动输入..." + }, + "vault.basis.already_exists": { + "en": "Basis already exists! No action taken.", + "en-tts": "Basis already exists! No action taken.", + "fr": "La base existe déjà! Aucune mesure n’a été prise.", + "ja": "ベースはすでに存在します! アクションは実行されません。", + "zh": "基础已经存在! 不采取行动。" + }, + "vault.basis.create": { + "en": "Enter name of Basis to create:", + "en-tts": "Enter name of Basis to create:", + "fr": "Entrez le nom de la base à créer:", + "ja": "作成する基準の名前を入力します:", + "zh": "输入要创建的基础名称:" + }, + "vault.basis.created_mount": { + "en": "Basis created. Mount it now?", + "en-tts": "Basis created. Mount it now?", + "fr": "Base créée. Monter maintenant?", + "ja": "ベーシスが作成されました。 今それをマウントしますか?", + "zh": "创建的基础。 现在装吗?" + }, + "vault.basis.name": { + "en": "Enter name of Basis to unlock:", + "en-tts": "Enter name of Basis to unlock:", + "fr": "Entrez le nom de la base à débloquer:", + "ja": "ロックを解除する基準の名前を入力してください:", + "zh": "输入要解锁的基础名称:" + }, + "vault.basis.none": { + "en": "No active secret Bases. Would you like to create one?", + "en-tts": "No active secret Bases. Would you like to create one?", + "fr": "Pas de bases secrètes actives. Voudriez-vous en créer une?", + "ja": "アクティブな秘密の根拠はありません。 作成しますか?", + "zh": "没有有效的秘密基础。 你想创建一个吗?" + }, + "vault.basis.unmount": { + "en": "Select the Bases to unmount:", + "en-tts": "Select the Bases to unmount:", + "fr": "Sélectionner les bases à démonter:", + "ja": "アンマウントするベースを選択します:", + "zh": "选择要卸载的基础:" + }, + "vault.completed": { + "en": "Operation completed.", + "en-tts": "Operation completed.", + "fr": "Opération effectuée", + "ja": "操作が完了しました.", + "zh": "操作完成." + }, + "vault.delete.confirm": { + "en": "Confirm entry deletion: ", + "en-tts": "Confirm entry deletion: ", + "fr": "Confirmer la suppression des entrée: ", + "ja": "エントリの削除を確認する: ", + "zh": "确认条目删除: " + }, + "vault.edit_dialog": { + "en": "Make your changes and press enter.\nUse the d-pad to navigate entries.", + "en-tts": "Make your changes and press enter.\nUse the d-pad to navigate entries. *EN*", + "fr": "Effectuez vos modifications et appuyez sur Entrée.\nUtilisez la touche D pour naviguer dans les entrées.", + "ja": "変更を加えてEnterキーを押します。 D-PADを使用してエントリをナビゲートします。", + "zh": "进行更改并按 Enter。 使用 D-PAD 导航条目。" + }, + "vault.error.add_fido2": { + "en": "FIDO tokens are added through the web.", + "en-tts": "FIDO tokens are added through the web.", + "fr": "Les jetons FIDO sont ajoutés via le web.", + "ja": "FIDOトークンはWebを使用して追加されます.", + "zh": "FIDO 令牌是使用网络添加的." + }, + "vault.error.basis_unlock_error": { + "en": "Basis does not exist. Or maybe wrong password?", + "en-tts": "Basis does not exist. Or maybe wrong password?", + "fr": "La base n’existe pas. Ou peut-être le mauvais mot de passe?", + "ja": "根拠は存在しません。 または多分間違ったパスワード?", + "zh": "基础不存在。 或者密码错误?" + }, + "vault.error.fido2": { + "en": "Can't edit FIDO2 tokens.", + "en-tts": "Can't edit FIDO2 tokens.", + "fr": "Impossible de modifier les jetons FIDO2.", + "ja": "FIDO2トークンを編集できません。", + "zh": "无法编辑 FIDO2 令牌。" + }, + "vault.error.internal_error": { + "en": "Internal error.", + "en-tts": "Internal error.", + "fr": "Erreur interne.", + "ja": "内部エラー.", + "zh": "内部错误." + }, + "vault.error.mount_pddb": { + "en": "PDDB not mounted. Please setup passwords, and then format the PDDB.", + "en-tts": "PDDB not mounted. Please setup passwords and then format the PDDB.", + "fr": "PDDB non monté. Veuillez configurer les mots de passe, puis formater le PDDB.", + "ja": "PDDBがマウントされていません。 ルートキーを初期化してから、PDDBを初期化してください。", + "zh": "未安装 PDDB。 请初始化根密钥,然后初始化 PDDB。" + }, + "vault.error.not_found": { + "en": "Entry not found.", + "en-tts": "Entry not found.", + "fr": "Entrée non trouvée.", + "ja": "エントリが見つかりません.", + "zh": "找不到条目." + }, + "vault.error.nothing_selected": { + "en": "Nothing selected.", + "en-tts": "Nothing selected.", + "fr": "Rien n’a été sélectionné.", + "ja": "何も選択されていません.", + "zh": "未选择任何内容." + }, + "vault.error.record_error": { + "en": "Corrupt database entry.", + "en-tts": "Corrupt database entry.", + "fr": "Entrée de base de données corrompue.", + "ja": "破損したデータベースエントリ", + "zh": "损坏的数据库条目." + }, + "vault.error.time_init": { + "en": "Please set the time.", + "en-tts": "Please set the time.", + "fr": "Veuillez régler l’heure.", + "ja": "時間を設定してください.", + "zh": "请设定时间." + }, + "vault.error.update_error": { + "en": "Couldn't update access times. Record lost forever!", + "en-tts": "Couldn't update access times. Record lost forever!", + "fr": "Impossible de mettre à jour les temps d’accès. Enregistrement perdu à jamais!", + "ja": "アクセス時間を更新できませんでした。 記録は永遠に失われました!", + "zh": "无法更新访问时间。 记录永远丢失!" + }, + "vault.error.usb_error": { + "en": "USB error. Check connection to host.", + "en-tts": "USB error. Check connection to host.", + "fr": "Erreur USB. Vérifier la connexion à l’hôte.", + "ja": "USBエラー。 ホストへの接続を確認してください。", + "zh": "USB错误。 检查与主机的连接。" + }, + "vault.fido.countdown": { + "en": "s until abort", + "en-tts": "s until abort", + "fr": "s jusqu’à l’abandon", + "ja": "秒 中止するまで", + "zh": "秒 直到中止" + }, + "vault.fido.exclude_list": { + "en": "FIDO server is excluding existing credentials.\nPress any key to acknowledge.", + "en-tts": "FIDO server is excluding existing credentials.\nPress any key to acknowledge.", + "fr": "Le serveur FIDO exclut les identifiants existants.\nAppuyez sur n’importe quelle clé pour confirmer.", + "ja": "FIDOサーバーは既存のクレデンシャルを除外しています。\n任意のキーを押して確認します。", + "zh": "FIDO 服务器正在排除现有凭据。\n按任意键确认。" + }, + "vault.fido.get_assertion": { + "en": "FIDO Assertion Request.\nPress any key to consent to this transaction.", + "en-tts": "FIDO Assertion Request.\nPress any key to consent to this transaction.", + "fr": "Demande d’assertion FIDO.\nAppuyez sur n’importe quelle clé pour consentir à cette transaction.", + "ja": "FIDOアサーションリクエスト。\nこのトランザクションに同意するには、任意のキーを押してください。", + "zh": "FIDO 断言请求。\n按任意键同意此事务。" + }, + "vault.fido.make_credential": { + "en": "FIDO Make Credential Request.\nPress any key to approve.", + "en-tts": "FIDO Make Credential Request. Press any key to approve.", + "fr": "Faire une demande de justificatif d’identité FIDO\nAppuyez sur toute clé à approuver.", + "ja": "FIDOは資格情報を要求します\n承認するには任意のキーを押してください", + "zh": "FIDO 提出凭证请求\n按任意键批准" + }, + "vault.fido.next_assertion": { + "en": "This site is requires multiple credentials.\nPress any key to allow the next credential.", + "en-tts": "This site is requires multiple credentials.\nPress any key to allow the next credential.", + "fr": "Ce site requiert plusieurs identifiants.\nAppuyez sur n’importe quelle clé pour autoriser le prochain identifiant.", + "ja": "このサイトには複数のクレデンシャルが必要です。\n次のクレデンシャルを許可するには、任意のキーを押してください。", + "zh": "此站点需要多个凭据。\n按任意键以允许下一个凭据。" + }, + "vault.fido.pin_uv_auth": { + "en": "FIDO host is creating a PIN.\nPress any key to accept.", + "en-tts": "FIDO host is creating a PIN.\nPress any key to accept.", + "fr": "L’hôte FIDO crée un PIN\nAppuyez sur n’importe quelle touche à accepter.", + "ja": "FIDOホストがPINを作成しています。\n任意のキーを押して受け入れます。", + "zh": "FIDO 主机正在创建 PIN。\n按任意键接受。" + }, + "vault.hotp.count": { + "en": "Please enter the initial HOTP count:", + "en-tts": "Please enter the initial HOTP count:", + "fr": "Veuillez entrer le compte HOTP initial", + "ja": "最初の HOTP カウントを入力してください:", + "zh": "请输入初始 HOTP 计数:" + }, + "vault.illegal_char": { + "en": "Entries may not contain ':', or a newline character.", + "en-tts": "Entries may not contain ':', or a newline character.", + "fr": "Les entrées peuvent ne pas contenir ':', ou un caractère de nouvelle ligne", + "ja": "エントリに「:」または改行文字を含めることはできません。", + "zh": "条目不得包含 ':' 或换行符。" + }, + "vault.illegal_count": { + "en": "Please enter an integer number", + "en-tts": "Please enter an integer number", + "fr": "Veuillez entrer un nombre entier", + "ja": "整数を入力してください。", + "zh": "请输入一个整数。" + }, + "vault.illegal_number": { + "en": "Please enter a number from 1-128", + "en-tts": "Please enter a number from 1-128", + "fr": "Veuillez entrer un numéro de 1 à 128", + "ja": "1〜128の数字を入力してください", + "zh": "请输入 1-128 之间的数字" + }, + "vault.illegal_totp": { + "en": "Shared secret is not valid Base32", + "en-tts": "Shared secret is not valid Base32", + "fr": "Le secret partagé n’est pas valide Base32", + "ja": "共有秘密は無効ですBase32", + "zh": "共享密钥无效 Base32" + }, + "vault.menu_addnew": { + "en": "Add new item", + "en-tts": "Add new item", + "fr": "Ajouter un nouvel élément", + "ja": "新しいアイテムを追加する", + "zh": "添加新项目" + }, + "vault.menu_autotype": { + "en": "Autotype", + "en-tts": "Autotype", + "fr": "Autotype", + "ja": "自動的に入力", + "zh": "自动输入" + }, + "vault.menu_change_font": { + "en": "Change list font", + "en-tts": "🔇", + "fr": "Modifier la police de la liste", + "ja": "フォントを変更する", + "zh": "更改字体" + }, + "vault.menu_close": { + "en": "Close submenu", + "en-tts": "Close submenu", + "fr": "Fermer le sous-menu", + "ja": "メニューを閉じる", + "zh": "关闭功能表" + }, + "vault.menu_delete": { + "en": "Delete item", + "en-tts": "Delete item", + "fr": "Supprimer l'élément", + "ja": "アイテムを削除", + "zh": "删除项目" + }, + "vault.menu_edit": { + "en": "Edit item", + "en-tts": "Edit item", + "fr": "Modifier élément", + "ja": "アイテムを編集する", + "zh": "编辑项目" + }, + "vault.menu_manage_basis": { + "en": "Manage Bases", + "en-tts": "Manage Bases", + "fr": "Gérer les bases", + "ja": "管理基盤", + "zh": "管理基础" + }, + "vault.menu_readout_mode": { + "en": "Enable host readout", + "en-tts": "Enable host readout", + "fr": "Activer l’affichage de l’hôte", + "ja": "ホスト読み出しを有効にする", + "zh": "启用主机读出" + }, + "vault.menu_unlock_basis": { + "en": "Unlock secret Basis", + "en-tts": "Unlock secret basis", + "fr": "Déverrouiller la base secrète", + "ja": "シークレットベースのロックを解除", + "zh": "解锁秘密基础" + }, + "vault.newitem.approve": { + "en": "Is this password okay?", + "en-tts": "Is this password okay?", + "fr": "Ce mot de passe est correct?", + "ja": "このパスワードは大丈夫ですか?", + "zh": "这个密码可以吗?" + }, + "vault.newitem.configure_generator": { + "en": "Select options for the password generator:", + "en-tts": "Select options for the password generator:", + "fr": "Sélectionnez les options du générateur de mot de passe:", + "ja": "パスワードジェネレータを設定してください:", + "zh": "请配置密码生成器:" + }, + "vault.newitem.configure_length": { + "en": "Desired length of password:", + "en-tts": "Desired length of password:", + "fr": "Longueur souhaitée du mot de passe:", + "ja": "パスワードの文字数:", + "zh": "密码有多少个字符:" + }, + "vault.newitem.hotp": { + "en": "HOTP", + "en-tts": "HOTP", + "fr": "HOTP", + "ja": "HOTP", + "zh": "HOTP" + }, + "vault.newitem.is_t_or_h_otp": { + "en": "Which type of OTP record is this (if you don't know, it's probably TOTP)?", + "en-tts": "Which type of OTP record is this (if you don't know, it's probably TOTP)?", + "fr": "Quel type d’enregistrement OTP est-ce (si vous ne savez pas, c’est probablement TOTP)?", + "ja": "これはどのタイプの OTP レコードですか (わからない場合は、おそらく TOTP です)。", + "zh": "这是哪种类型的 OTP 记录(如果您不知道,可能是 TOTP)?" + }, + "vault.newitem.name": { + "en": "Please name the credential:", + "en-tts": "Please name the credential", + "fr": "Veuillez nommer le justificatif:", + "ja": "クレデンシャルに名前を付ける:", + "zh": "命名凭证:" + }, + "vault.newitem.numbers": { + "en": "Numbers", + "en-tts": "Numbers", + "fr": "Numéros", + "ja": "数字", + "zh": "数字" + }, + "vault.newitem.password": { + "en": "Hit enter to accept the suggestion, or start typing to create your own.\n\nLeave blank to customize the generator.\n", + "en-tts": "Hit enter to accept the suggestion, or start typing to create your own.\n\nLeave blank to customize the generator.\n", + "fr": "Appuyez sur Entrée pour accepter la suggestion, ou commencez à taper pour créer le votre.\n\nLaissez vide pour personnaliser le générateur.\n", + "ja": "Enterキーを押して提案を受け入れるか、入力を開始して独自の提案を作成します。\n\n空白のままにしてジェネレータをカスタマイズします。\n", + "zh": "按 Enter 接受建议,或开始输入以创建您自己的建议。\n\n留空以自定义生成器。\n" + }, + "vault.newitem.symbols": { + "en": "Symbols", + "en-tts": "Symbols", + "fr": "Symboles", + "ja": "シンボル", + "zh": "符号" + }, + "vault.newitem.totp": { + "en": "TOTP", + "en-tts": "TOTP", + "fr": "TOTP", + "ja": "TOTP", + "zh": "TOTP" + }, + "vault.newitem.totp_ss": { + "en": "Enter the OTP shared secret in Base32:", + "en-tts": "Enter the OTP shared secret in Base32:", + "fr": "Entrez le secret partagé du mot de passe à usage unique dans Base32:", + "ja": "Base32にOTP共有シークレットを入力します。", + "zh": "在 Base32 中输入 OTP 共享密钥:" + }, + "vault.newitem.uppercase": { + "en": "Uppercase letters", + "en-tts": "Uppercase letters", + "fr": "Lettres majuscules", + "ja": "大文字", + "zh": "大写字母" + }, + "vault.newitem.username": { + "en": "Enter the associated username:", + "en-tts": "Enter the associated username", + "fr": "Saisissez le nom d’utilisateur associé:", + "ja": "関連するユーザー名を入力します:", + "zh": "输入关联的用户名:" + }, + "vault.no": { + "en": "No", + "en-tts": "No", + "fr": "Non", + "ja": "いいえ", + "zh": "取消" + }, + "vault.no_items": { + "en": "No items found", + "en-tts": "No items found", + "fr": "Aucun élément trouvé", + "ja": "項目は見つかりませんでした", + "zh": "未找到任何项目" + }, + "vault.notes": { + "en": "Notes", + "en-tts": "Notes", + "fr": "Notes", + "ja": "ノート", + "zh": "笔录" + }, + "vault.readout_active": { + "en": "🔓Readout mode active.🔓\n\nHost is permitted to read and write unlocked records.\n\nPlease run your host scripts, then press any key to restore security.", + "en-tts": "Readout mode active.\n\nHost is permitted to read and write unlocked records.\n\nPlease run your host scripts, then press any key to restore security.", + "fr": "🔓Mode lecture actif.🔓\n\nL’hôte est autorisé à lire et écrire les enregistrements déverrouillés.\n\nVeuillez exécuter vos scripts d’hôte, puis appuyez sur n’importe quelle touche pour restaurer la sécurité.", + "ja": "🔓読み出しモードがアクティブです。🔓\n\nホストは、ロックされていないレコードの読み取りと書き込みを許可されています。\n\nホスト スクリプトを実行してから、任意のキーを押してセキュリティを復元してください。", + "zh": "🔓读出模式激活。🔓\n\n允许主机读取和写入未锁定的记录。\n\n请运行主机脚本,然后按任意键恢复安全。" + }, + "vault.readout_switchover": { + "en": "Switching USB functions...", + "en-tts": "Switching USB functions...", + "fr": "Commutation des fonctions USB...", + "ja": "USB機能を切り替え中...", + "zh": "切换 USB 功能..." + }, + "vault.select_font": { + "en": "Select a font style", + "en-tts": "Select a font style", + "fr": "Sélectionner un style de police", + "ja": "フォントを選択する", + "zh": "选择字体" + }, + "vault.u2f.appinfo.authcount": { + "en": "Usage count: ", + "en-tts": "Usage count: ", + "fr": "Nombre d’usages: ", + "ja": "使用回数: ", + "zh": "使用次数: " + }, + "vault.u2f.appinfo.days_ago": { + "en": "days ago", + "en-tts": "days ago", + "fr": "jours passés", + "ja": "日前", + "zh": "天前" + }, + "vault.u2f.appinfo.hours_ago": { + "en": "hours ago", + "en-tts": "hours ago", + "fr": "heures passées", + "ja": "時間前", + "zh": "小时前" + }, + "vault.u2f.appinfo.last_authtime": { + "en": "Last accessed: ", + "en-tts": "Last accessed: ", + "fr": "Dernier accès: ", + "ja": "最後にアクセスした:", + "zh": "最后访问:" + }, + "vault.u2f.appinfo.minutes_ago": { + "en": "mins ago", + "en-tts": "minutes ago", + "fr": "minutes passées", + "ja": "分前", + "zh": "分钟前" + }, + "vault.u2f.appinfo.name": { + "en": "App name: ", + "en-tts": "App name: ", + "fr": "Nom de l'app", + "ja": "アプリ名:", + "zh": "应用名称:" + }, + "vault.u2f.appinfo.never": { + "en": "never", + "en-tts": "never", + "fr": "jamais", + "ja": "使われたことがない", + "zh": "没用过" + }, + "vault.u2f.appinfo.seconds_ago": { + "en": "secs ago", + "en-tts": "seconds ago", + "fr": "secondes passées", + "ja": "秒前", + "zh": "秒前" + }, + "vault.u2f.authenticate": { + "en": "U2F Authentication Request\n", + "en-tts": "U2F Authentication Request\n", + "fr": "U2F Requête d'authentification\n", + "ja": "U2F 認証リクエスト\n", + "zh": "U2F 认证请求\n" + }, + "vault.u2f.authenticator_selection": { + "en": "Press any key to make this the primary authenticator.", + "en-tts": "Press any key to make this the primary authenticator.", + "fr": "Appuyez sur n’importe quelle touche pour en faire l’authentifiant principal.", + "ja": "いずれかのキーを押して、これをプライマリオーセンティケーターにします。", + "zh": "按任意键使其成为主要身份验证器。" + }, + "vault.u2f.factoryreset": { + "en": "Host has requested a factory reset of FIDO/U2F credentials.\n\nThis will permanently erase all registrations!!\n\nPress 'y' to allow, any other key to abort.", + "en-tts": "Host has requested a factory reset of FIDO/U2F credentials. This will permanently erase all registrations.\nPress 'y' to allow, any other key to abort.", + "fr": "L’hôte a demandé une réinitialisation d’usine des identifiants FIDO/U2F.\n\nCeci effacera définitivement toutes les inscriptions!!\n\nAppuyer sur 'y' pour autoriser, toute autre touche à abandonner.", + "ja": "ホストがFIDO/U2Fクレデンシャルの工場出荷時のリセットを要求しました。 これにより、すべての登録が完全に消去されます。\n「y」を押して許可します。他のキーを中止しますか?", + "zh": "主机已请求将 FIDO/U2F 凭据恢复出厂设置。 这将永久删除所有注册。\n按「y」允许,任何其他键中止?" + }, + "vault.u2f.give_app_name": { + "en": "Please enter a name for the app:", + "en-tts": "Please enter a name for the app:", + "fr": "Veuillez entrer un nom pour l’app:", + "ja": "アプリの名前を入力してください:", + "zh": "请输入应用名称:" + }, + "vault.u2f.newapphash": { + "en": "New registration request. Press any key to approve.\nHash: ", + "en-tts": "New registrations request. Press any key to approve.\nHash: ", + "fr": "Nouvelle demande d’inscription. Appuyez sur n’importe quelle touche pour approuver.\n: ", + "ja": "新規登録リクエスト。 承認するには、任意のキーを押してください。\nハッシュ:", + "zh": "新的注册请求。 按任意键批准。\n 哈希:" + }, + "vault.u2f.register": { + "en": "U2F Registration Request", + "en-tts": "U2F Registration Request", + "fr": "U2F Demande d'inscription", + "ja": "U2F登録リクエスト", + "zh": "U2F 注册请求" + }, + "vault.u2f.reset_check": { + "en": "Please re-confirm the reset by pressing any key.", + "en-tts": "Please re-confirm the reset by pressing any key.", + "fr": "Veuillez reconfirmer la réinitialisation en appuyant sur n’importe quelle touche.", + "ja": "いずれかのキーを押して、リセットを再確認してください。", + "zh": "请按任意键重新确认复位。" + }, + "vault.u2f.vendor_configure": { + "en": "Press any key to allow vendor configuration.", + "en-tts": "Press any key to allow vendor configuration.", + "fr": "Appuyer sur n’importe quelle touche pour autoriser la configuration du fournisseur.", + "ja": "ベンダー設定を許可するには、任意のキーを押します。", + "zh": "按任意键允许供应商配置。" + }, + "vault.u2f.wait_abort": { + "en": "U2F request denied. Waiting for host to abort...\n", + "en-tts": "U2F request denied. Waiting for host to abort...\n", + "fr": "U2F request denied. Waiting for host to abort...\n *EN*", + "ja": "U2F リクエストが拒否されました。 ホストが中止するのを待っています...\n", + "zh": "U2F 请求被拒绝。 等待主机中止...\n" + }, + "vault.u2freq": { + "en": "FIDO Request.\n\nDENY the request by pressing F1.\nAPPROVE by pressing any other key.\n", + "en-tts": "FIDO Request.\n\nPress F1 to DENY the request.\nPress any other key to approve it.\n", + "fr": "Demande FIDO.\n\nRefuser la demande en appuyant sur F1.\nApprouver en appuyant sur une autre touche.", + "ja": "FIDOリクエスト\n\nF1 を押して要求を拒否するか、その他のキーを押して承認します。\n", + "zh": "FIDO 请求\n\n按 F1 拒绝请求,或按任何其他键批准它。\n" + }, + "vault.yes": { + "en": "Yes", + "en-tts": "Yes", + "fr": "Oui", + "ja": "はい", + "zh": "确定" + } +} diff --git a/apps/vault/src/actions.rs b/apps/vault/src/actions.rs index c4209174e..42cd2bc59 100644 --- a/apps/vault/src/actions.rs +++ b/apps/vault/src/actions.rs @@ -29,6 +29,7 @@ pub(crate) const VAULT_ALLOC_HINT: usize = 256; const VAULT_PASSWORD_REC_VERSION: u32 = 1; const VAULT_TOTP_REC_VERSION: u32 = 1; /// time allowed between dialog box swaps for background operations to redraw +#[cfg(feature="ux-swap-delay")] const SWAP_DELAY_MS: usize = 300; #[derive(Debug, num_derive::FromPrimitive, num_derive::ToPrimitive)] @@ -202,6 +203,7 @@ impl<'a> ActionManager<'a> { (*self.mode.lock().unwrap()).clone() }; self.action_active.store(true, Ordering::SeqCst); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); // allow calling menu to close } pub(crate) fn deactivate(&self) { @@ -226,6 +228,7 @@ impl<'a> ActionManager<'a> { }, _ => {log::error!("Name entry failed"); self.action_active.store(false, Ordering::SeqCst); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); let username = match self.modals .alert_builder(t!("vault.newitem.username", xous::LANG)) @@ -235,6 +238,7 @@ impl<'a> ActionManager<'a> { Ok(text) => text.content()[0].content.as_str().unwrap_or("UTF-8 error").to_string(), _ => {log::error!("Name entry failed"); self.action_active.store(false, Ordering::SeqCst); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); let mut approved = false; // Security note about PasswordGenerator. This is a 3rd party crate. It relies on `rand`'s implementation @@ -294,6 +298,7 @@ impl<'a> ActionManager<'a> { }, _ => {log::error!("Name entry failed"); self.action_active.store(false, Ordering::SeqCst); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); password = if maybe_password.len() == 0 { let length = match self.modals @@ -304,6 +309,7 @@ impl<'a> ActionManager<'a> { Ok(entry) => entry.content()[0].content.as_str().unwrap().parse::().unwrap(), _ => {log::error!("Length entry failed"); self.action_active.store(false, Ordering::SeqCst); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); let mut upper = false; let mut number = false; @@ -324,6 +330,7 @@ impl<'a> ActionManager<'a> { } _ => {log::error!("Modal selection error"); self.action_active.store(false, Ordering::SeqCst); return} } + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); let pg2 = PasswordGenerator { length: length as usize, @@ -376,6 +383,7 @@ impl<'a> ActionManager<'a> { _ => {log::error!("Name entry failed"); self.action_active.store(false, Ordering::SeqCst); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); self.modals .add_list(vec![ @@ -394,6 +402,7 @@ impl<'a> ActionManager<'a> { _ => {log::error!("Modal selection error"); self.action_active.store(false, Ordering::SeqCst); return} } + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); let secret = match self.modals .alert_builder(t!("vault.newitem.totp_ss", xous::LANG)) @@ -405,6 +414,7 @@ impl<'a> ActionManager<'a> { }, _ => {log::error!("TOTP ss entry failed"); self.action_active.store(false, Ordering::SeqCst); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); let ss = secret.to_uppercase(); let ss_vec = if let Some(ss) = base32::decode(base32::Alphabet::RFC4648 { padding: false }, &ss) { @@ -425,6 +435,7 @@ impl<'a> ActionManager<'a> { let timestep = if !is_totp { // get the initial count if it's an HOTP record + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); match self.modals .alert_builder(t!("vault.hotp.count", xous::LANG)) @@ -736,262 +747,161 @@ impl<'a> ActionManager<'a> { } #[cfg(feature="vaultperf")] self.perfentry(&self.pm, PERFMETA_ENDBLOCK, 1, std::line!()); - - /* DELETEME: kept around for quick debugging without having to look through commit history - once we have confidence in the new method, we can drop this code right away. - - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_STARTBLOCK, 1, std::line!()); - let keylist = match self.pddb.borrow().list_keys(VAULT_PASSWORD_DICT, None) { - Ok(keylist) => keylist, - Err(e) => { - match e.kind() { - std::io::ErrorKind::NotFound => { - log::debug!("Password dictionary not yet created"); - } - _ => { - log::error!("Dictionary error accessing password database"); - self.report_err("Dictionary error accessing password database", Some(e)) - }, - } - Vec::new() - } - }; - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_ENDBLOCK, 1, std::line!()); - log::info!("listing took {} ms", self.tt.elapsed_ms() - start); - let start = self.tt.elapsed_ms(); - let klen = keylist.len(); - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_STARTBLOCK, 2, std::line!()); - let pddb = self.pddb.borrow(); - for key in keylist { - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_STARTBLOCK, 3, std::line!()); - match pddb.get( - VAULT_PASSWORD_DICT, - &key, - None, - false, false, None, - Some(crate::basis_change) - ) { - Ok(mut record) => { - // determine the exact length of the record and read it in one go. - // read_to_end() performs ~5x read calls to do the same thing, because it - // has to "guess" the total record length starting with a 32-byte increment - let len = record.attributes().unwrap().len; - let mut data = Vec::::with_capacity(len); - data.resize(len, 0); - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_NONE, 3, std::line!()); - match record.read_exact(&mut data) { - Ok(_len) => { - if let Some(pw) = storage::PasswordRecord::try_from(data).ok() { - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_NONE, 3, std::line!()); - let extra = format!("{}; {}{}", - crate::ux::atime_to_str(pw.atime), - t!("vault.u2f.appinfo.authcount", xous::LANG), - pw.count, - ); - let desc = format!("{}/{}", pw.description, pw.username); - let li = ListItem { - name: desc, - extra, - dirty: true, - guid: key, - }; - il.push(li); - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_NONE, 3, std::line!()); - } else { - log::error!("Couldn't deserialize password"); - self.report_err("Couldn't deserialize password:", Some(key)); - } - } - Err(e) => { - log::error!("Couldn't access password key"); - self.report_err("Couldn't access password key", Some(e)) - }, - } - } - Err(e) => { - log::error!("Couldn't access password key"); - self.report_err("Couldn't access password key", Some(e)) - }, - } - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_ENDBLOCK, 3, std::line!()); - #[cfg(feature="vaultperf")] - self.pm.flush().ok(); - } - #[cfg(feature="vaultperf")] - self.perfentry(&self.pm, PERFMETA_ENDBLOCK, 2, std::line!()); - */ log::info!("readout took {} ms for {} elements", self.tt.elapsed_ms() - start, klen); } VaultMode::Fido => { // first assemble U2F records log::debug!("listing in {}", U2F_APP_DICT); - let keylist = match self.pddb.borrow().list_keys(U2F_APP_DICT, None) { - Ok(keylist) => keylist, + match self.pddb.borrow().read_dict(U2F_APP_DICT, None, Some(256 * 1024)) { + Ok(keys) => { + let mut oom_keys = 0; + il.reserve(keys.len()); + for key in keys { + if let Some(data) = key.data { + if let Some(ai) = deserialize_app_info(data) { + let extra = format!("{}; {}{}", + crate::ux::atime_to_str(ai.atime), + t!("vault.u2f.appinfo.authcount", xous::LANG), + ai.count, + ); + let desc = format!("{}", ai.name); + let li = ListItem { + name: desc, + extra, + dirty: true, + guid: key.name, + }; + il.push(li); + } else { + let err = format!("{}:{}:{}: ({})[moved data]...", + key.basis, U2F_APP_DICT, key.name, key.len + ); + self.report_err("Couldn't deserialize U2F key:", Some(err)); + } + } else { + oom_keys += 1; + } + } + if oom_keys != 0 { + log::warn!("Ran out of cache space handling U2F tokens. {} tokens are not loaded.", oom_keys); + self.report_err(&format!("Ran out of cache space handling U2F entries. {} tokens not loaded", oom_keys), None::); + } + } Err(e) => { match e.kind() { - std::io::ErrorKind::NotFound => { - log::debug!("U2F dictionary not yet created"); + ErrorKind::NotFound => { + // this is fine, it just means no entries have been entered yet + }, + _ => { + log::error!("Error opening U2F dictionary"); + self.report_err("Error opening U2F dictionary", Some(e)) } - _ => self.report_err("Dictionary error accessing U2F database", Some(e)), } - Vec::new() - } - }; - log::debug!("list: {:?}", keylist); - for key in keylist { - match self.pddb.borrow().get( - U2F_APP_DICT, - &key, - None, - false, false, None, - Some(crate::basis_change) - ) { - Ok(mut record) => { - let len = record.attributes().unwrap().len; - let mut data = Vec::::with_capacity(len); - data.resize(len, 0); - match record.read_exact(&mut data) { - Ok(_len) => { - if let Some(ai) = deserialize_app_info(data) { - let extra = format!("{}; {}{}", - crate::ux::atime_to_str(ai.atime), - t!("vault.u2f.appinfo.authcount", xous::LANG), - ai.count, - ); - let desc = format!("{}", ai.name); + }, + } + + log::debug!("listing in {}", FIDO_CRED_DICT); + match self.pddb.borrow().read_dict(FIDO_CRED_DICT, None, Some(256 * 1024)) { + Ok(keys) => { + let mut oom_keys = 0; + il.reserve(keys.len()); + for key in keys { + if let Some(data) = key.data { + match crate::ctap::storage::deserialize_credential(&data) { + Some(result) => { + let name = if let Some(display_name) = result.user_display_name { + display_name + } else { + String::from_utf8(result.user_handle).unwrap_or("".to_string()) + }; + let desc = format!("{} / {}", result.rp_id, String::from_utf8(result.credential_id).unwrap_or("---".to_string())); + let extra = format!("FIDO2 {}", name); let li = ListItem { name: desc, extra, dirty: true, - guid: key, + guid: key.name, }; il.push(li); - } else { - self.report_err("Couldn't deserialize U2F:", Some(key)); } + None => { + let err = format!("{}:{}:{}: ({}){:x?}...", + key.basis, FIDO_CRED_DICT, key.name, key.len, &data[..16] + ); + self.report_err("Couldn't deserialize FIDO2:", Some(err)) + }, } - Err(e) => self.report_err("Couldn't access U2F key", Some(e)), + } else { + oom_keys += 1; } } - Err(e) => self.report_err("Couldn't access U2F key", Some(e)), + if oom_keys != 0 { + log::warn!("Ran out of cache space handling FIDO2 tokens. {} tokens are not loaded.", oom_keys); + self.report_err(&format!("Ran out of cache space handling FIDO2 entries. {} tokens not loaded", oom_keys), None::); + } } - } - log::debug!("listing in {}", FIDO_CRED_DICT); - let keylist = match self.pddb.borrow().list_keys(FIDO_CRED_DICT, None) { - Ok(keylist) => keylist, Err(e) => { match e.kind() { - std::io::ErrorKind::NotFound => { - log::debug!("FIDO2 dictionary not yet created"); - } - _ => self.report_err("Dictionary error accessing FIDO2 database", Some(e)), - } - Vec::new() - } - }; - log::debug!("keylist: {:?}", keylist); - // now merge in the FIDO2 records - for key in keylist { - match self.pddb.borrow().get( - FIDO_CRED_DICT, - &key, - None, - false, false, None, - Some(crate::basis_change) - ) { - Ok(mut record) => { - let len = record.attributes().unwrap().len; - let mut data = Vec::::with_capacity(len); - data.resize(len, 0); - match record.read_exact(&mut data) { - Ok(_len) => { - match crate::ctap::storage::deserialize_credential(&data) { - Some(result) => { - let name = if let Some(display_name) = result.user_display_name { - display_name - } else { - String::from_utf8(result.user_handle).unwrap_or("".to_string()) - }; - let desc = format!("{} / {}", result.rp_id, String::from_utf8(result.credential_id).unwrap_or("---".to_string())); - let extra = format!("FIDO2 {}", name); - let li = ListItem { - name: desc, - extra, - dirty: true, - guid: key, - }; - il.push(li); - } - None => self.report_err("Couldn't deserialize FIDO2:", Some(key)), - } - } - Err(e) => self.report_err("Couldn't access FIDO2 key", Some(e)), + ErrorKind::NotFound => { + // this is fine, it just means no entries have been entered yet + }, + _ => { + log::error!("Error opening FIDO2 dictionary"); + self.report_err("Error opening FIDO2 dictionary", Some(e)) } } - Err(e) => self.report_err("Couldn't access FIDO2 key", Some(e)), - } + }, } } VaultMode::Totp => { - let keylist = match self.pddb.borrow().list_keys(VAULT_TOTP_DICT, None) { - Ok(keylist) => keylist, - Err(e) => { - match e.kind() { - std::io::ErrorKind::NotFound => { - log::debug!("TOTP dictionary not yet created"); + match self.pddb.borrow().read_dict(VAULT_TOTP_DICT, None, Some(256 * 1024)) { + Ok(keys) => { + let mut oom_keys = 0; + il.reserve(keys.len()); + for key in keys { + if let Some(data) = key.data { + if let Some(totp) = storage::TotpRecord::try_from(data).ok() { + let extra = format!("{}:{}:{}:{}:{}", + totp.secret, + totp.digits, + totp.timestep, + totp.algorithm, + if totp.is_hotp {"HOTP"} else {"TOTP"} + ); + let desc = format!("{}", totp.name); + let li = ListItem { + name: desc, + extra, + dirty: true, + guid: key.name, + }; + il.push(li); + } else { + let err = format!("{}:{}:{}: ({})[moved data]...", + key.basis, VAULT_TOTP_DICT, key.name, key.len + ); + self.report_err("Couldn't deserialize TOTP:", Some(err)); + } + } else { + oom_keys += 1; } - _ => self.report_err("Dictionary error accessing TOTP database", Some(e)), } - Vec::new() + if oom_keys != 0 { + log::warn!("Ran out of cache space handling FIDO2 tokens. {} tokens are not loaded.", oom_keys); + self.report_err(&format!("Ran out of cache space handling FIDO2 entries. {} tokens not loaded", oom_keys), None::); + } } - }; - for key in keylist { - match self.pddb.borrow().get( - VAULT_TOTP_DICT, - &key, - None, - false, false, None, - Some(crate::basis_change) - ) { - Ok(mut record) => { - let len = record.attributes().unwrap().len; - let mut data = Vec::::with_capacity(len); - data.resize(len, 0); - match record.read_exact(&mut data) { - Ok(_len) => { - if let Some(totp) = storage::TotpRecord::try_from(data).ok() { - let extra = format!("{}:{}:{}:{}:{}", - totp.secret, - totp.digits, - totp.timestep, - totp.algorithm, - if totp.is_hotp {"HOTP"} else {"TOTP"} - ); - let desc = format!("{}", totp.name); - let li = ListItem { - name: desc, - extra, - dirty: true, - guid: key, - }; - il.push(li); - } else { - self.report_err("Couldn't deserialize TOTP:", Some(key)); - } - } - Err(e) => self.report_err("Couldn't access TOTP key", Some(e)), + Err(e) => { + match e.kind() { + ErrorKind::NotFound => { + // this is fine, it just means no entries have been entered yet + }, + _ => { + log::error!("Error opening FIDO2 dictionary"); + self.report_err("Error opening FIDO2 dictionary", Some(e)) } } - Err(e) => self.report_err("Couldn't access TOTP key", Some(e)), - } + }, } } } @@ -1032,6 +942,7 @@ impl<'a> ActionManager<'a> { }, _ => {log::error!("Name entry failed"); self.action_active.store(false, Ordering::SeqCst); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); match self.pddb.borrow().unlock_basis(&name, Some(BasisRetentionPolicy::Persist)) { Ok(_) => log::debug!("Basis {} unlocked", name), @@ -1076,6 +987,7 @@ impl<'a> ActionManager<'a> { }, Err(e) => {self.report_err(t!("vault.error.internal_error", xous::LANG), Some(e)); return} }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); match self.pddb.borrow().create_basis(&name) { Ok(_) => { @@ -1117,9 +1029,10 @@ impl<'a> ActionManager<'a> { self.modals.dynamic_notification(Some("Creating test entries..."), None).ok(); let words = [ "bunnie", "foo", "turtle.net", "Fox.ng", "Bear", "dog food", "Cat.com", "FUzzy", "1off", "www_test_site_com/long_name/stupid/foo.htm", - "._weird~yy%\":'test", "//WHYwhyWHY", "Xyz|zy", "foo:bar", "f🍕🍔🍟🌭d", "💎🙌", "some ノート", "笔录4u", "@u", "sane text", "Käsesoßenrührlöffel"]; + "._weird~yy%\":'test", "//WHYwhyWHY", "Xyz|zy", "foo:bar", "f🍕🍔🍟🌭d", "💎🙌", "some ノート", "笔录4u", "@u", "sane text", "Käsesoßenrührlöffel", + "entropy", "👀", "mysite.com", "hax", "1336", "yo", "b", "mando", "Grogu", "zebra", "aws"]; let weights = [1; 21]; - const TARGET_ENTRIES: usize = 15; + const TARGET_ENTRIES: usize = 12; const TARGET_ENTRIES_PW: usize = 200; // for each database, populate up to TARGET_ENTRIES // as this is testing code, it's written a bit more fragile in terms of error handling (fail-panic, rather than fail-dialog) @@ -1180,8 +1093,8 @@ impl<'a> ActionManager<'a> { name, id, notes, - ctime: 0, - atime: 0, + ctime: 1, // zero ctime is disallowed + atime: 1, count: 0, }; let ser = serialize_app_info(&record); diff --git a/apps/vault/src/prereqs.rs b/apps/vault/src/prereqs.rs index 3f1b1553e..d1f8ef5fc 100644 --- a/apps/vault/src/prereqs.rs +++ b/apps/vault/src/prereqs.rs @@ -180,6 +180,7 @@ pub(crate) fn ntp_updater(time_conn: xous::CID) { let tt = ticktimer_server::Ticktimer::new().unwrap(); let mut now = SystemTime::now(); let mut force_update = true; + tt.sleep_ms(1000 * 60 * 2).ok(); // initial delay of 2 minutes before polling. This gives plenty of time for network to come up. loop { if force_update || now.elapsed().unwrap().as_secs() > 3600 * 24 { // once a day in real time // check if we have a network connection. if not, repeat the loop, after a short delay diff --git a/emulation/peripherals/BetrustedEcI2C.cs b/emulation/peripherals/BetrustedEcI2C.cs index 2862b3a37..c3e719c1b 100644 --- a/emulation/peripherals/BetrustedEcI2C.cs +++ b/emulation/peripherals/BetrustedEcI2C.cs @@ -171,7 +171,7 @@ public BetrustedEcI2C(Machine machine) : base(machine) private void FinishTransaction() { // this.Log(LogLevel.Error, "I2C: Removing clock entry for {0}",this.irqTimeoutCallback); - machine.ClockSource.RemoveClockEntry(FinishTransaction); + machine.ClockSource.TryRemoveClockEntry(FinishTransaction); irqTimeoutCallbackQueued = 0; if (shouldSendTxRxIrq) { diff --git a/emulation/peripherals/BetrustedSocI2C.cs b/emulation/peripherals/BetrustedSocI2C.cs index a471d174e..8d46e887f 100644 --- a/emulation/peripherals/BetrustedSocI2C.cs +++ b/emulation/peripherals/BetrustedSocI2C.cs @@ -162,7 +162,7 @@ public BetrustedSocI2C(Machine machine) : base(machine) private void FinishTransaction() { - machine.ClockSource.RemoveClockEntry(FinishTransaction); + machine.ClockSource.TryRemoveClockEntry(FinishTransaction); if (shouldSendTxRxIrq) { shouldSendTxRxIrq = false; diff --git a/emulation/peripherals/MXIC_MX66UM1G45G.cs b/emulation/peripherals/MXIC_MX66UM1G45G.cs index 43d08bed9..513b64796 100644 --- a/emulation/peripherals/MXIC_MX66UM1G45G.cs +++ b/emulation/peripherals/MXIC_MX66UM1G45G.cs @@ -276,6 +276,13 @@ private void RecognizeOperation(byte firstByte) enable.Value = false; return; //return to prevent further logging + case (byte)Commands.SectorErase4byte: + currentOperation.Operation = DecodedOperation.OperationType.Erase; + currentOperation.EraseSize = DecodedOperation.OperationEraseSize.Sector; + currentOperation.AddressLength = 4; + currentOperation.State = DecodedOperation.OperationState.AccumulateNoDataCommandAddressBytes; + break; + case (byte)Commands.SubsectorErase4byte4kb: currentOperation.Operation = DecodedOperation.OperationType.Erase; currentOperation.EraseSize = DecodedOperation.OperationEraseSize.Subsector4K; @@ -685,6 +692,7 @@ private void WriteToMemory(byte val) tmp_byte[0] = val; InternalBackingFile.Seek(position, SeekOrigin.Begin); InternalBackingFile.Write(tmp_byte, 0, 1); + InternalBackingFile.Flush(); } } diff --git a/emulation/renode-keybox.bin b/emulation/renode-keybox.bin new file mode 100644 index 0000000000000000000000000000000000000000..4f61ff86c01c0f2bf5dc3b409fd9232c238772af GIT binary patch literal 1024 zcmb1U6`Lx&G|KRpcni}ti3}U<={JHpHa`_msS{r$|HJ>sLSDB|TLW`{JfEfR7g6Y? zwDE13oAs7jO{24)-!o4B{OIyTzOcA?&M)UAF)Z8hwah4T*U~e2FL%wEGplo&N|?^d z$FF9~l%9B{HKpMoyUhPOizcVUlAy-F>-9_vZ|sh+zt2Db5VD_u_EG845E#)Ru-91d YLDFJAp3tQpa}`#&b0P-@2Ll5m0Ha`4cmMzZ literal 0 HcmV?d00001 diff --git a/emulation/renode.key b/emulation/renode.key new file mode 100644 index 0000000000000000000000000000000000000000..a45f651b7f5a25e8e5b64db57d3a3b2e81a79e4c GIT binary patch literal 132 zcmZQ%U|`S-t}HG|%>}Z^1Kz>mT8mGH2(yi=#(S)r2S3q||fa}}l2 jIISIeoW!R_#4uP)_>fdkI$gN*0DJ1MtH}bDy6yD -// SPDX-License-Identifier: Apache-2.0 - -use crate::mem::MemoryManager; -use utralib::generated::*; -use xous_kernel::{MemoryFlags, MemoryType, PID}; - -pub const TRNG_KERNEL: Trng = Trng { - // the HW device mapping is done in xous-rs/src/lib.rs/init() - // the manually chosen virtual address has to be in the top 4MiB as it is the only page shared among all processes - base: 0xffce_0000 as *mut usize, // see https://github.com/betrusted-io/xous-core/blob/master/docs/memory.md -}; - -pub struct Trng { - pub base: *mut usize, -} - -pub fn init() { - // Map the TRNG so that we can allocate names - // hardware guarantees that: - // - TRNG will automatically power on - // - Both TRNGs are enabled, with conservative defaults - // - Kernel FIFO will fill with TRNGs such that at least the next 512 calls to get_u32() will succeed without delay - // - The kernel will start a TRNG server - // - All further security decisions and policies are 100% delegated to this new server. - MemoryManager::with_mut(|memory_manager| { - memory_manager - .map_range( - utra::trng_kernel::HW_TRNG_KERNEL_BASE as *mut u8, - ((TRNG_KERNEL.base as u32) & !4095) as *mut u8, - 4096, - PID::new(1).unwrap(), - MemoryFlags::R | MemoryFlags::W, - MemoryType::Default, - ) - .expect("unable to map TRNG") - }); - - let trng_kernel_csr = CSR::new(TRNG_KERNEL.base as *mut u32); - if false { // raw random path - left in for debugging urandom, can strip out later - while trng_kernel_csr.rf(utra::trng_kernel::STATUS_AVAIL) == 0 {} - // discard the first entry, as it is always 0x0000_0000 - // this is because the read register is a pipeline stage behind the FIFO - // once the pipeline has been filled, there is no need to prime it again. - trng_kernel_csr.rf(utra::trng_kernel::DATA_DATA); - } else { // urandom path (recommended) - // simulations show this isn't strictly necessary, but I prefer to have it - // just in case a subtle bug in the reset logic leaves something deterministic - // in the connecting logic: the simulation coverage stops at the edge of the TRNG block. - for _ in 0..4 { - // wait until the urandom port is initialized - while trng_kernel_csr.rf(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID) == 0 {} - // pull a dummy piece of data - trng_kernel_csr.rf(utra::trng_kernel::URANDOM_URANDOM); - } - } - -} - -pub fn get_u32() -> u32 { - let trng_kernel_csr = CSR::new(TRNG_KERNEL.base as *mut u32); - if false { // raw random path - while trng_kernel_csr.rf(utra::trng_kernel::STATUS_AVAIL) == 0 {} - trng_kernel_csr.rf(utra::trng_kernel::DATA_DATA) - } else { // urandom path (recommended) - while trng_kernel_csr.rf(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID) == 0 {} - trng_kernel_csr.rf(utra::trng_kernel::URANDOM_URANDOM) - } -} diff --git a/kernel/src/debug/macros.rs b/kernel/src/debug/macros.rs new file mode 100644 index 000000000..f05f19877 --- /dev/null +++ b/kernel/src/debug/macros.rs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2020 Sean Cross +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +/// Prints to the debug output directly. +#[cfg(baremetal)] +#[macro_export] +macro_rules! print { + ($($args:tt)+) => {{ + #[allow(unused_unsafe)] + unsafe { + use core::fmt::Write; + if let Some(stream) = crate::debug::shell::OUTPUT.as_mut() { + write!(stream, $($args)+).unwrap(); + } + } + }}; +} + +/// Prints to the debug output directly, with a newline. +#[cfg(baremetal)] +#[macro_export] +macro_rules! println { + () => ({ + print!("\r\n") + }); + ($fmt:expr) => ({ + print!(concat!($fmt, "\r\n")) + }); + ($fmt:expr, $($args:tt)+) => ({ + print!(concat!($fmt, "\r\n"), $($args)+) + }); +} + +#[cfg(feature = "debug-print")] +#[macro_export] +macro_rules! klog { + () => ({ + print!(" [{}:{}]", file!(), line!()) + }); + ($fmt:expr) => ({ + print!(concat!(" [{}:{} ", $fmt, "]"), file!(), line!()) + }); + ($fmt:expr, $($args:tt)+) => ({ + print!(concat!(" [{}:{} ", $fmt, "]"), file!(), line!(), $($args)+) + }); +} + +#[cfg(not(feature = "debug-print"))] +#[macro_export] +macro_rules! klog { + ($($args:tt)+) => {{}}; +} diff --git a/kernel/src/debug/mod.rs b/kernel/src/debug/mod.rs index 5204d6fef..04452ee3e 100644 --- a/kernel/src/debug/mod.rs +++ b/kernel/src/debug/mod.rs @@ -1,318 +1,7 @@ // SPDX-FileCopyrightText: 2020 Sean Cross // SPDX-License-Identifier: Apache-2.0 -#[cfg(baremetal)] -use core::fmt::{Error, Write}; -#[cfg(baremetal)] -use utralib::generated::*; - -#[cfg(baremetal)] -pub static mut DEBUG_OUTPUT: Option<&'static mut dyn Write> = None; - -pub use crate::arch::process::Process as ArchProcess; - #[macro_use] -#[cfg(all( - not(test), - baremetal, - any(feature = "debug-print", feature = "print-panics") -))] -pub mod debug_print_hardware { - // the HW device mapping is done in main.rs/init(); the virtual address has to be in the top 4MiB as it is the only page shared among all processes - pub const SUPERVISOR_UART_ADDR: *mut usize = 0xffcf_0000 as *mut usize; // see https://github.com/betrusted-io/xous-core/blob/master/docs/memory.md -} -#[cfg(all( - not(test), - baremetal, - any(feature = "debug-print", feature = "print-panics") -))] -pub use crate::debug::debug_print_hardware::SUPERVISOR_UART_ADDR; - -#[cfg(baremetal)] -#[macro_export] -macro_rules! print { - ($($args:tt)+) => {{ - #[allow(unused_unsafe)] - unsafe { - if let Some(mut stream) = crate::debug::DEBUG_OUTPUT.as_mut() { - write!(&mut stream, $($args)+).unwrap(); - } - } - }}; -} - -#[cfg(baremetal)] -#[macro_export] -macro_rules! println -{ - () => ({ - print!("\r\n") - }); - ($fmt:expr) => ({ - print!(concat!($fmt, "\r\n")) - }); - ($fmt:expr, $($args:tt)+) => ({ - print!(concat!($fmt, "\r\n"), $($args)+) - }); -} - -#[cfg(baremetal)] -pub struct Uart {} +mod macros; #[cfg(baremetal)] -pub static mut UART: Uart = Uart {}; - -#[cfg(all(baremetal, feature = "wrap-print"))] -static mut CHAR_COUNT: usize = 0; - -#[cfg(baremetal)] -impl Uart { - #[allow(dead_code)] - pub fn init(self) { - unsafe { DEBUG_OUTPUT = Some(&mut UART) }; - let mut uart_csr = CSR::new(crate::debug::SUPERVISOR_UART_ADDR as *mut u32); - uart_csr.rmwf(utra::uart::EV_ENABLE_RX, 1); - } - - pub fn putc(&self, c: u8) { - if unsafe { DEBUG_OUTPUT.is_none() } { - return; - } - - let mut uart_csr = CSR::new(crate::debug::SUPERVISOR_UART_ADDR as *mut u32); - // Wait until TXFULL is `0` - while uart_csr.r(utra::uart::TXFULL) != 0 {} - #[cfg(feature = "wrap-print")] - unsafe { - if c == b'\n' { - CHAR_COUNT = 0; - } else if CHAR_COUNT > 80 { - CHAR_COUNT = 0; - self.putc(b'\n'); - self.putc(b'\r'); - self.putc(b' '); - self.putc(b' '); - self.putc(b' '); - self.putc(b' '); - } else { - CHAR_COUNT += 1; - } - } - uart_csr.wfo(utra::uart::RXTX_RXTX, c as u32); - } - - #[allow(dead_code)] - pub fn getc(&self) -> Option { - if unsafe { DEBUG_OUTPUT.is_none() } { - return None; - } - let mut uart_csr = CSR::new(crate::debug::SUPERVISOR_UART_ADDR as *mut u32); - // If EV_PENDING_RX is 1, return the pending character. - // Otherwise, return None. - match uart_csr.rf(utra::uart::EV_PENDING_RX) { - 0 => None, - _ => { - let ret = Some(uart_csr.r(utra::uart::RXTX) as u8); - uart_csr.wfo(utra::uart::EV_PENDING_RX, 1); - ret - } - } - } -} - -#[cfg(all( - baremetal, - not(test), - any(feature = "debug-print", feature = "print-panics") -))] -pub fn irq(_irq_number: usize, _arg: *mut usize) { - let uart = Uart {}; - while let Some(b) = uart.getc() { - process_irq_character(b); - } - // uart.acknowledge_irq(); -} - -#[cfg(all( - baremetal, - not(test), - any(feature = "debug-print", feature = "print-panics") -))] -fn process_irq_character(b: u8) { - match b { - b'i' => { - println!("Interrupt handlers:"); - println!(" IRQ | Process | Handler | Argument"); - crate::services::SystemServices::with(|system_services| { - crate::irq::for_each_irq(|irq, pid, address, arg| { - println!( - " {}: {} @ {:x?} {:x?}", - irq, - system_services.process_name(*pid).unwrap_or(""), - address, - arg - ); - }); - }); - } - b'm' => { - println!("Printing memory page tables"); - crate::services::SystemServices::with(|system_services| { - let current_pid = system_services.current_pid(); - for process in &system_services.processes { - if !process.free() { - println!( - "PID {} {}:", - process.pid, - system_services.process_name(process.pid).unwrap_or("") - ); - process.activate().unwrap(); - crate::arch::mem::MemoryMapping::current().print_map(); - println!(); - } - } - system_services - .get_process(current_pid) - .unwrap() - .activate() - .unwrap(); - }); - } - b'p' => { - println!("Printing processes"); - crate::services::SystemServices::with(|system_services| { - let current_pid = system_services.current_pid(); - for process in &system_services.processes { - if !process.free() { - process.activate().unwrap(); - let mut connection_count = 0; - ArchProcess::with_inner(|process_inner| { - for conn in &process_inner.connection_map { - if conn.is_some() { - connection_count += 1; - } - } - }); - println!( - "{:?} conns:{}/32 {}", - process, - connection_count, - system_services.process_name(process.pid).unwrap_or("") - ); - } - } - system_services - .get_process(current_pid) - .unwrap() - .activate() - .unwrap(); - }); - } - b'P' => { - println!("Printing processes and threads"); - crate::services::SystemServices::with(|system_services| { - let current_pid = system_services.current_pid(); - for process in &system_services.processes { - if !process.free() { - println!( - "{:?} {}:", - process, - system_services.process_name(process.pid).unwrap_or("") - ); - process.activate().unwrap(); - crate::arch::process::Process::with_current_mut(|arch_process| { - arch_process.print_all_threads() - }); - println!(); - } - } - system_services - .get_process(current_pid) - .unwrap() - .activate() - .unwrap(); - }); - } - b'r' => { - println!("RAM usage:"); - let mut total_bytes = 0; - crate::services::SystemServices::with(|system_services| { - crate::mem::MemoryManager::with(|mm| { - for process in &system_services.processes { - if !process.free() { - let bytes_used = mm.ram_used_by(process.pid); - total_bytes += bytes_used; - println!( - " PID {:>3}: {:>4} k {}", - process.pid, - bytes_used / 1024, - system_services.process_name(process.pid).unwrap_or("") - ); - } - } - }); - }); - println!("{} k total", total_bytes / 1024); - } - b's' => { - println!("Servers in use:"); - crate::services::SystemServices::with(|system_services| { - println!(" idx | pid | process | sid"); - println!(" --- + --- + -------------------- | ------------------"); - for (idx, server) in system_services.servers.iter().enumerate() { - if let Some(s) = server { - println!( - " {:3} | {:3} | {:20} | {:x?}", - idx, - s.pid, - system_services.process_name(s.pid).unwrap_or(""), - s.sid - ); - } - } - }); - } - b'h' => { - println!("Xous Kernel Debug"); - println!("key | command"); - println!("--- + -----------------------"); - println!(" i | print irq handlers"); - println!(" m | print MMU page tables of all processes"); - println!(" p | print all processes"); - println!(" P | print all processes and threads"); - println!(" r | report RAM usage of all processes"); - println!(" s | print all allocated servers"); - } - _ => {} - } -} - -#[cfg(baremetal)] -impl Write for Uart { - fn write_str(&mut self, s: &str) -> Result<(), Error> { - for c in s.bytes() { - self.putc(c); - } - Ok(()) - } -} - -#[cfg(feature = "debug-print")] -#[macro_export] -macro_rules! klog -{ - () => ({ - print!(" [{}:{}]", file!(), line!()) - }); - ($fmt:expr) => ({ - print!(concat!(" [{}:{} ", $fmt, "]"), file!(), line!()) - }); - ($fmt:expr, $($args:tt)+) => ({ - print!(concat!(" [{}:{} ", $fmt, "]"), file!(), line!(), $($args)+) - }); -} - -#[cfg(not(feature = "debug-print"))] -#[macro_export] -macro_rules! klog { - ($($args:tt)+) => {{}}; -} +pub mod shell; diff --git a/kernel/src/debug/shell.rs b/kernel/src/debug/shell.rs new file mode 100644 index 000000000..86408ad97 --- /dev/null +++ b/kernel/src/debug/shell.rs @@ -0,0 +1,230 @@ +// SPDX-FileCopyrightText: 2020 Sean Cross +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use core::fmt; +use crate::{ + args::KernelArguments, + io::{SerialWrite, SerialRead}, +}; + +/// Instance of the shell output. +pub static mut OUTPUT: Option = None; + +/// Shell output. +pub struct Output { + serial: &'static mut dyn SerialWrite, + #[cfg(feature = "wrap-print")] + character_count: usize, +} + +impl Output { + fn new(serial: &'static mut dyn SerialWrite) -> Output { + Output { + serial, + #[cfg(feature = "wrap-print")] + character_count: 0, + } + } +} + +impl fmt::Write for Output { + fn write_str(&mut self, s: &str) -> fmt::Result { + for c in s.bytes() { + #[cfg(feature = "wrap-print")] + if c == b'\n' { + self.character_count = 0; + } else if self.character_count > 80 { + self.character_count = 0; + self.uart.putc(b'\n'); + self.uart.putc(b'\r'); + self.uart.putc(b' '); + self.uart.putc(b' '); + self.uart.putc(b' '); + self.uart.putc(b' '); + } else { + self.character_count += 1; + } + + self.serial.putc(c); + } + Ok(()) + } +} + +/// Initialize the kernel shell. +/// +/// This should be called in platform initialization code. +pub fn init(serial: &'static mut dyn SerialWrite) { + unsafe { + OUTPUT = Some(Output::new(serial)) + } + + // Print the processed kernel arguments + let args = KernelArguments::get(); + println!("Kernel arguments:"); + for arg in args.iter() { + println!(" {}", arg); + } +} + +/// Process possible characters received through a serial interface. +/// +/// This should be called when a serial interface has new data, for example, +/// on an interrupt. +pub fn process_characters(serial: &mut R) { + while let Some(b) = serial.getc() { + handle_character(b); + } +} + +fn handle_character(b: u8) { + use crate::services::ArchProcess; + + match b { + b'i' => { + println!("Interrupt handlers:"); + println!(" IRQ | Process | Handler | Argument"); + crate::services::SystemServices::with(|system_services| { + crate::irq::for_each_irq(|irq, pid, address, arg| { + println!( + " {}: {} @ {:x?} {:x?}", + irq, + system_services.process_name(*pid).unwrap_or(""), + address, + arg + ); + }); + }); + } + b'm' => { + println!("Printing memory page tables"); + crate::services::SystemServices::with(|system_services| { + let current_pid = system_services.current_pid(); + for process in &system_services.processes { + if !process.free() { + println!( + "PID {} {}:", + process.pid, + system_services.process_name(process.pid).unwrap_or("") + ); + process.activate().unwrap(); + crate::arch::mem::MemoryMapping::current().print_map(); + println!(); + } + } + system_services + .get_process(current_pid) + .unwrap() + .activate() + .unwrap(); + }); + } + b'p' => { + println!("Printing processes"); + crate::services::SystemServices::with(|system_services| { + let current_pid = system_services.current_pid(); + for process in &system_services.processes { + if !process.free() { + process.activate().unwrap(); + let mut connection_count = 0; + ArchProcess::with_inner(|process_inner| { + for conn in &process_inner.connection_map { + if conn.is_some() { + connection_count += 1; + } + } + }); + println!( + "{:?} conns:{}/32 {}", + process, + connection_count, + system_services.process_name(process.pid).unwrap_or("") + ); + } + } + system_services + .get_process(current_pid) + .unwrap() + .activate() + .unwrap(); + }); + } + b'P' => { + println!("Printing processes and threads"); + crate::services::SystemServices::with(|system_services| { + let current_pid = system_services.current_pid(); + for process in &system_services.processes { + if !process.free() { + println!( + "{:?} {}:", + process, + system_services.process_name(process.pid).unwrap_or("") + ); + process.activate().unwrap(); + crate::arch::process::Process::with_current_mut(|arch_process| { + arch_process.print_all_threads() + }); + println!(); + } + } + system_services + .get_process(current_pid) + .unwrap() + .activate() + .unwrap(); + }); + } + b'r' => { + println!("RAM usage:"); + let mut total_bytes = 0; + crate::services::SystemServices::with(|system_services| { + crate::mem::MemoryManager::with(|mm| { + for process in &system_services.processes { + if !process.free() { + let bytes_used = mm.ram_used_by(process.pid); + total_bytes += bytes_used; + println!( + " PID {:>3}: {:>4} k {}", + process.pid, + bytes_used / 1024, + system_services.process_name(process.pid).unwrap_or("") + ); + } + } + }); + }); + println!("{} k total", total_bytes / 1024); + } + b's' => { + println!("Servers in use:"); + crate::services::SystemServices::with(|system_services| { + println!(" idx | pid | process | sid"); + println!(" --- + --- + -------------------- | ------------------"); + for (idx, server) in system_services.servers.iter().enumerate() { + if let Some(s) = server { + println!( + " {:3} | {:3} | {:20} | {:x?}", + idx, + s.pid, + system_services.process_name(s.pid).unwrap_or(""), + s.sid + ); + } + } + }); + } + b'h' => { + println!("Xous Kernel Debug"); + println!("key | command"); + println!("--- + -----------------------"); + println!(" i | print irq handlers"); + println!(" m | print MMU page tables of all processes"); + println!(" p | print all processes"); + println!(" P | print all processes and threads"); + println!(" r | report RAM usage of all processes"); + println!(" s | print all allocated servers"); + } + _ => {} + } +} diff --git a/kernel/src/io.rs b/kernel/src/io.rs new file mode 100644 index 000000000..9caa56b9e --- /dev/null +++ b/kernel/src/io.rs @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +/// A trait for serial like drivers which are byte-oriented sinks. +pub trait SerialWrite { + /// Write a single byte. + fn putc(&mut self, b: u8); +} + +/// A trait for serial like drivers which allows reading from a source. +pub trait SerialRead { + /// Read a single byte. + fn getc(&mut self) -> Option; +} diff --git a/kernel/src/main.rs b/kernel/src/main.rs index 60db7711d..cefd0191d 100644 --- a/kernel/src/main.rs +++ b/kernel/src/main.rs @@ -18,9 +18,11 @@ mod arch; #[macro_use] mod args; +mod io; mod irq; mod macros; mod mem; +mod platform; mod server; mod services; mod syscall; @@ -59,49 +61,16 @@ pub unsafe extern "C" fn init(arg_offset: *const u32, init_offset: *const u32, r system_services.init_from_memory(init_offset, &args) }); - // Now that the memory manager is set up, perform any arch-specific initializations. + // Now that the memory manager is set up, perform any architecture and + // platform specific initializations. arch::init(); + platform::init(); - // Either map memory using a syscall, or if we're debugging the syscall - // handler then directly map it. - #[cfg(any(feature = "debug-print", feature = "print-panics"))] - { - use utralib::generated::*; - xous_kernel::claim_interrupt( - utra::uart::UART_IRQ, - debug::irq, - core::ptr::null_mut::(), - ) - .expect("Couldn't claim debug interrupt"); - // Map the serial port so println!() works as expected. - mem::MemoryManager::with_mut(|memory_manager| { - memory_manager - .map_range( - utra::uart::HW_UART_BASE as *mut u8, - ((debug::SUPERVISOR_UART_ADDR as u32) & !4095) as *mut u8, - 4096, - PID::new(1).unwrap(), - MemoryFlags::R | MemoryFlags::W, - MemoryType::Default, - ) - .expect("unable to map serial port") - }); - debug::Uart {}.init(); - println!("KMAIN (clean boot): Supervisor mode started..."); - println!("Claiming IRQ {} via syscall...", utra::uart::UART_IRQ); - print!("}} "); - - // Print the processed kernel arguments - let args = args::KernelArguments::get(); - println!("Kernel arguments:"); - for arg in args.iter() { - println!(" {}", arg); - } - } + println!("KMAIN (clean boot): Supervisor mode started..."); // rand::init() already clears the initial pipe, but pump the TRNG a little more out of no other reason than sheer paranoia - arch::rand::get_u32(); - arch::rand::get_u32(); + platform::rand::get_u32(); + platform::rand::get_u32(); } /// Loop through the SystemServices list to determine the next PID to be run. diff --git a/kernel/src/platform/mod.rs b/kernel/src/platform/mod.rs new file mode 100644 index 000000000..850735f37 --- /dev/null +++ b/kernel/src/platform/mod.rs @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +#[cfg(any(feature="precursor", feature="renode"))] +pub mod precursor; + +pub mod rand; + +/// Platform specific initialization. +#[cfg(not(any(unix, windows)))] +pub fn init() { + #[cfg(any(feature="precursor", feature="renode"))] + self::precursor::init(); +} \ No newline at end of file diff --git a/kernel/src/platform/precursor/mod.rs b/kernel/src/platform/precursor/mod.rs new file mode 100644 index 000000000..40ffd80a0 --- /dev/null +++ b/kernel/src/platform/precursor/mod.rs @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +#[cfg(any(feature = "debug-print", feature = "print-panics"))] +pub mod uart; +pub mod rand; + +/// Precursor specific initialization. +pub fn init() { + self::rand::init(); + #[cfg(any(feature = "debug-print", feature = "print-panics"))] + self::uart::init(); +} \ No newline at end of file diff --git a/kernel/src/platform/precursor/rand.rs b/kernel/src/platform/precursor/rand.rs new file mode 100644 index 000000000..227dd370f --- /dev/null +++ b/kernel/src/platform/precursor/rand.rs @@ -0,0 +1,98 @@ +// SPDX-FileCopyrightText: 2020 Sean Cross +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::mem::MemoryManager; +use utralib::generated::*; +use xous_kernel::{MemoryFlags, MemoryType, PID}; + +/// The manually chosen virtual address has to be in the top 4MiB as it is the +/// only page shared among all processes. +/// +/// See https://github.com/betrusted-io/xous-core/blob/master/docs/memory.md +pub const TRNG_KERNEL_ADDR: usize = 0xffce_0000; +pub static mut TRNG_KERNEL: Option = None; + +pub struct TrngKernel { + pub trng_kernel_csr: CSR, +} + +impl TrngKernel { + pub fn new(addr: usize) -> TrngKernel { + TrngKernel { + trng_kernel_csr: CSR::new(addr as *mut u32), + } + } + + pub fn init(&mut self) { + if false { // raw random path - left in for debugging urandom, can strip out later + while self.trng_kernel_csr.rf(utra::trng_kernel::STATUS_AVAIL) == 0 {} + // discard the first entry, as it is always 0x0000_0000 + // this is because the read register is a pipeline stage behind the FIFO + // once the pipeline has been filled, there is no need to prime it again. + self.trng_kernel_csr.rf(utra::trng_kernel::DATA_DATA); + } else { // urandom path (recommended) + // simulations show this isn't strictly necessary, but I prefer to have it + // just in case a subtle bug in the reset logic leaves something deterministic + // in the connecting logic: the simulation coverage stops at the edge of the TRNG block. + for _ in 0..4 { + // wait until the urandom port is initialized + while self.trng_kernel_csr.rf(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID) == 0 {} + // pull a dummy piece of data + self.trng_kernel_csr.rf(utra::trng_kernel::URANDOM_URANDOM); + } + } + } + + pub fn get_u32(&mut self) -> u32 { + if false { // raw random path + while self.trng_kernel_csr.rf(utra::trng_kernel::STATUS_AVAIL) == 0 {} + self.trng_kernel_csr.rf(utra::trng_kernel::DATA_DATA) + } else { // urandom path (recommended) + while self.trng_kernel_csr.rf(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID) == 0 {} + self.trng_kernel_csr.rf(utra::trng_kernel::URANDOM_URANDOM) + } + } +} + +/// Initialize TRNG driver. +/// +/// Needed so that the kernel can allocate names. +pub fn init() { + // Map the TRNG so that we can allocate names + // hardware guarantees that: + // - TRNG will automatically power on + // - Both TRNGs are enabled, with conservative defaults + // - Kernel FIFO will fill with TRNGs such that at least the next 512 calls to get_u32() will succeed without delay + // - The kernel will start a TRNG server + // - All further security decisions and policies are 100% delegated to this new server. + MemoryManager::with_mut(|memory_manager| { + memory_manager + .map_range( + utra::trng_kernel::HW_TRNG_KERNEL_BASE as *mut u8, + (TRNG_KERNEL_ADDR & !4095) as *mut u8, + 4096, + PID::new(1).unwrap(), + MemoryFlags::R | MemoryFlags::W, + MemoryType::Default, + ) + .expect("unable to map TRNG_KERNEL") + }); + + let mut trng_kernel = TrngKernel::new(TRNG_KERNEL_ADDR); + trng_kernel.init(); + + unsafe { + TRNG_KERNEL = Some(trng_kernel); + } +} + +/// Retrieve random `u32`. +pub fn get_u32() -> u32 { + unsafe { + TRNG_KERNEL + .as_mut() + .expect("TRNG_KERNEL driver not initialized") + .get_u32() + } +} diff --git a/kernel/src/platform/precursor/uart.rs b/kernel/src/platform/precursor/uart.rs new file mode 100644 index 000000000..0aa42c855 --- /dev/null +++ b/kernel/src/platform/precursor/uart.rs @@ -0,0 +1,103 @@ +// SPDX-FileCopyrightText: 2020 Sean Cross +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +use crate::{ + io::{SerialWrite, SerialRead}, + mem::MemoryManager, + debug::shell::process_characters, + PID, +}; +use utralib::generated::*; +use xous_kernel::{MemoryFlags, MemoryType}; + +/// UART virtual address. +/// +/// See https://github.com/betrusted-io/xous-core/blob/master/docs/memory.md +pub const UART_ADDR: usize = 0xffcf_0000; + +/// UART instance. +/// +/// Initialized by [`init`]. +pub static mut UART: Option = None; + +/// UART peripheral driver. +pub struct Uart { + uart_csr: CSR, + callback: fn(&mut Self), +} + +impl Uart { + pub fn new(addr: usize, callback: fn(&mut Self)) -> Uart { + Uart { + uart_csr: CSR::new(addr as *mut u32), + callback, + } + } + + pub fn init(&mut self) { + self.uart_csr.rmwf(utra::uart::EV_ENABLE_RX, 1); + } + + pub fn irq(_irq_number: usize, arg: *mut usize) { + let uart = unsafe { &mut *(arg as *mut Uart) }; + (uart.callback)(uart); + // uart.acknowledge_irq(); + } +} + +impl SerialWrite for Uart { + fn putc(&mut self, c: u8) { + // Wait until TXFULL is `0` + while self.uart_csr.r(utra::uart::TXFULL) != 0 {} + self.uart_csr.wfo(utra::uart::RXTX_RXTX, c as u32); + } +} + +impl SerialRead for Uart { + fn getc(&mut self) -> Option { + // If EV_PENDING_RX is 1, return the pending character. + // Otherwise, return None. + match self.uart_csr.rf(utra::uart::EV_PENDING_RX) { + 0 => None, + _ => { + let ret = Some(self.uart_csr.r(utra::uart::RXTX) as u8); + self.uart_csr.wfo(utra::uart::EV_PENDING_RX, 1); + ret + } + } + } +} + +/// Initialize UART driver and debug shell. +pub fn init() { + // Map the UART peripheral. + MemoryManager::with_mut(|memory_manager| { + memory_manager + .map_range( + utra::uart::HW_UART_BASE as *mut u8, + (UART_ADDR & !4095) as *mut u8, + 4096, + PID::new(1).unwrap(), + MemoryFlags::R | MemoryFlags::W, + MemoryType::Default, + ) + .expect("unable to map serial port") + }); + + let mut uart = Uart::new(UART_ADDR, process_characters); + uart.init(); + + unsafe { + UART = Some(uart); + crate::debug::shell::init(UART.as_mut().unwrap()); + + // Claim UART interrupt. + println!("Claiming IRQ {} via syscall...", utra::uart::UART_IRQ); + xous_kernel::claim_interrupt( + utra::uart::UART_IRQ, + Uart::irq, + (UART.as_mut().unwrap() as *mut Uart) as *mut usize, + ).expect("Couldn't claim debug interrupt"); + } +} diff --git a/kernel/src/platform/rand.rs b/kernel/src/platform/rand.rs new file mode 100644 index 000000000..22c5027c1 --- /dev/null +++ b/kernel/src/platform/rand.rs @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: 2022 Foundation Devices, Inc. +// SPDX-License-Identifier: Apache-2.0 + +pub fn get_u32() -> u32 { + // hosted rand code is coupled with arch code. + #[cfg(any(windows, unix))] + let rand = crate::arch::rand::get_u32(); + #[cfg(any(feature="precursor", feature="renode"))] + let rand = crate::platform::precursor::rand::get_u32(); + rand +} \ No newline at end of file diff --git a/kernel/src/services.rs b/kernel/src/services.rs index cbfd0d5c3..f6c1ac1e1 100644 --- a/kernel/src/services.rs +++ b/kernel/src/services.rs @@ -5,6 +5,7 @@ use crate::arch; use crate::arch::mem::MemoryMapping; pub use crate::arch::process::Process as ArchProcess; pub use crate::arch::process::Thread; +use crate::platform; use xous_kernel::arch::ProcessStartup; use xous_kernel::MemoryRange; @@ -264,6 +265,7 @@ std::thread_local!(static SYSTEM_SERVICES: core::cell::RefCell = })); #[cfg(baremetal)] +#[no_mangle] static mut SYSTEM_SERVICES: SystemServices = SystemServices { processes: [Process { state: ProcessState::Free, @@ -1742,10 +1744,10 @@ impl SystemServices { /// any processes. pub fn create_server_id(&mut self) -> Result { let sid = SID::from_u32( - arch::rand::get_u32(), - arch::rand::get_u32(), - arch::rand::get_u32(), - arch::rand::get_u32(), + platform::rand::get_u32(), + platform::rand::get_u32(), + platform::rand::get_u32(), + platform::rand::get_u32(), ); Ok(sid) } diff --git a/kernel/src/syscall.rs b/kernel/src/syscall.rs index 2288da465..226d68407 100644 --- a/kernel/src/syscall.rs +++ b/kernel/src/syscall.rs @@ -538,6 +538,84 @@ fn return_scalar2( }) } +fn return_scalar5( + server_pid: PID, + server_tid: TID, + in_irq: bool, + sender: MessageSender, + arg1: usize, + arg2: usize, + arg3: usize, + arg4: usize, + arg5: usize, +) -> SysCallResult { + SystemServices::with_mut(|ss| { + let sender = SenderID::from(sender); + + let server = ss + .server_from_sidx_mut(sender.sidx) + .ok_or(xous_kernel::Error::ServerNotFound)?; + // .expect("Couldn't get server from SIDX"); + if server.pid != server_pid { + return Err(xous_kernel::Error::ServerNotFound); + } + let result = server.take_waiting_message(sender.idx, None)?; + let (client_pid, client_tid) = match result { + WaitingMessage::ScalarMessage(pid, tid) => (pid, tid), + WaitingMessage::ForgetMemory(_) => { + println!("WARNING: Tried to wait on a scalar message that was actually forgetting memory"); + return Err(xous_kernel::Error::ProcessNotFound); + } + WaitingMessage::BorrowedMemory(_, _, _, _, _) => { + println!( + "WARNING: Tried to wait on a scalar message that was actually borrowed memory" + ); + return Err(xous_kernel::Error::ProcessNotFound); + } + WaitingMessage::MovedMemory => { + println!( + "WARNING: Tried to wait on a scalar message that was actually moved memory" + ); + return Err(xous_kernel::Error::ProcessNotFound); + } + WaitingMessage::None => { + println!("WARNING: Tried to wait on a message that didn't exist"); + return Err(xous_kernel::Error::ProcessNotFound); + } + }; + + let client_is_runnable = ss.runnable(client_pid, Some(client_tid))?; + + if !cfg!(baremetal) || in_irq || !client_is_runnable { + // In a hosted environment, `switch_to_thread()` doesn't continue + // execution from the new thread. Instead it continues in the old + // thread. Therefore, we need to instruct the client to resume, and + // return to the server. + // In a baremetal environment, the opposite is true -- we instruct + // the server to resume and return to the client. + ss.set_thread_result( + client_pid, + client_tid, + xous_kernel::Result::Scalar5(arg1, arg2, arg3, arg4, arg5), + )?; + if cfg!(baremetal) { + ss.ready_thread(client_pid, client_tid)?; + } + Ok(xous_kernel::Result::Ok) + } else { + // Switch away from the server, but leave it as Runnable + ss.unschedule_thread(server_pid, server_tid)?; + ss.ready_thread(server_pid, server_tid)?; + ss.set_thread_result(server_pid, server_tid, xous_kernel::Result::Ok)?; + + // Switch to the client + ss.ready_thread(client_pid, client_tid)?; + ss.switch_to_thread(client_pid, Some(client_tid))?; + Ok(xous_kernel::Result::Scalar5(arg1, arg2, arg3, arg4, arg5)) + } + }) +} + fn receive_message(pid: PID, tid: TID, sid: SID, blocking: ExecutionType) -> SysCallResult { SystemServices::with_mut(|ss| { assert!( @@ -855,6 +933,9 @@ pub fn handle_inner(pid: PID, tid: TID, in_irq: bool, call: SysCall) -> SysCallR SysCall::ReturnScalar2(sender, arg1, arg2) => { return_scalar2(pid, tid, in_irq, sender, arg1, arg2) } + SysCall::ReturnScalar5(sender, arg1, arg2, arg3, arg4, arg5) => { + return_scalar5(pid, tid, in_irq, sender, arg1, arg2, arg3, arg4, arg5) + } SysCall::TrySendMessage(cid, message) => send_message(pid, tid, cid, message), SysCall::TerminateProcess(_ret) => SystemServices::with_mut(|ss| { ss.unschedule_thread(pid, tid)?; @@ -936,7 +1017,7 @@ pub fn handle_inner(pid: PID, tid: TID, in_irq: bool, call: SysCall) -> SysCallR }), _ => Err(xous_kernel::Error::InvalidLimit), }, - #[cfg(feature="v2p")] + #[cfg(feature = "v2p")] SysCall::VirtToPhys(vaddr) => { let phys_addr = crate::arch::mem::virt_to_phys(vaddr as usize); match phys_addr { diff --git a/loader/Cargo.toml b/loader/Cargo.toml index 230765423..8031ca393 100644 --- a/loader/Cargo.toml +++ b/loader/Cargo.toml @@ -8,7 +8,7 @@ description = "Initial kernel loader for Xous" [dependencies] ed25519-dalek-loader = { path = "ed25519-dalek-loader", default-features = false } curve25519-dalek-loader = { path = "curve25519-dalek-loader", default-features = false, features = ["u32e_backend"] } -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [dependencies.com_rs] git = "https://github.com/betrusted-io/com_rs" diff --git a/loader/curve25519-dalek-loader/.vscode/settings.json b/loader/curve25519-dalek-loader/.vscode/settings.json deleted file mode 100644 index 8915cfc7c..000000000 --- a/loader/curve25519-dalek-loader/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rust-analyzer.diagnostics.disabled": [ - "macro-error" - ] -} diff --git a/loader/curve25519-dalek-loader/Cargo.toml b/loader/curve25519-dalek-loader/Cargo.toml index abdce2847..358701c9e 100644 --- a/loader/curve25519-dalek-loader/Cargo.toml +++ b/loader/curve25519-dalek-loader/Cargo.toml @@ -55,7 +55,7 @@ packed_simd = { version = "0.3.4", package = "packed_simd_2", features = [ ], optional = true } zeroize = { version = "1", default-features = false } fiat-crypto = { version = "0.1.6", optional = true } -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } # Betrusted/Precursor dependency set log = { version = "0.4", optional = true } diff --git a/loader/link.x b/loader/link.x index 90c023eee..ecb989b85 100644 --- a/loader/link.x +++ b/loader/link.x @@ -1,9 +1,9 @@ MEMORY { - RAM : ORIGIN = 0x40000000, LENGTH = 16M FLASH : ORIGIN = 0x20501000, LENGTH = 188k FONTS : ORIGIN = 0x20530000, LENGTH = 4352k - MEMLCD: ORIGIN = 0xB0000000, LENGTH = 32k + RAM : ORIGIN = 0x40000000, LENGTH = 16M + MEMLCD : ORIGIN = 0xB0000000, LENGTH = 32k } /* Fonts go from 0x2053_0000 to 0x2097_0000 @@ -51,7 +51,7 @@ SECTIONS .text.dummy (NOLOAD) : { /* This section is intended to make _stext address work */ - . = _stext; + . = ABSOLUTE(_stext); } > REGION_TEXT .text _stext : @@ -91,7 +91,7 @@ SECTIONS _edata = .; } > REGION_DATA AT > REGION_RODATA - .fonts ALIGN(65536) : SUBALIGN(65536) + .fonts : ALIGN(65536) { KEEP(*(.fontdata)); } > FONTS diff --git a/loader/sha2-loader/Cargo.toml b/loader/sha2-loader/Cargo.toml index fab304b3e..7d2c15734 100644 --- a/loader/sha2-loader/Cargo.toml +++ b/loader/sha2-loader/Cargo.toml @@ -12,7 +12,7 @@ description = "sha2 hardware accelerator engine" digest = "0.9.0" block-buffer = "0.9.0" opaque-debug = "0.3.0" # prevents internal hash state leakage from debug structures -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/locales/README.md b/locales/README.md index d05943945..ddeb60371 100644 --- a/locales/README.md +++ b/locales/README.md @@ -77,3 +77,94 @@ needs to have some prompts for the user in order to unlock the filesystem in the Nothing prevents a more sophisticated application-level server later on that operates in `std` from pulling in a more featureful, dynamic localization framework; but it's an explicit goal to keep the kernel small, simple, and fast. + +## Internationalization Helper + +In the tools directory you find `i18n_helper.py` that can be +very useful for managing and adding localizations: + +``` +$ ./tools/i18n_helper.py -h +usage: i18n_helper.py [-h] [-v] [-l] [-i] [-m] [-o] [-n NEW_LANG] [-f FROM_LANG] + +Xous i18n Helper + +options: + -h, --help show this help message and exit + -v, --verbose Prints details of each action + -l, --list-languages Lists current translations + -i, --list-i18n-files + Lists i18n files + -m, --missing Shows missing translations + -o, --show-ok Shows OK translations + -n NEW_LANG, --new-lang NEW_LANG + Add support for a new lang + -f FROM_LANG, --from-lang FROM_LANG + Copy this existing lang for the new lang +$ +``` + +The `--list-languages` function will show the currently supported langs: + +``` +$ ./tools/i18n_helper.py --list-languages +en +ja +zh +en-tts +$ +``` + +The `--missing` function will show the disposition of the translations +(add `--show-ok` to see the complete translation status). The output +is "FILE tab JQ-LIKE-PATH tab STATUS" which makes it easy to spot +situations like completely absent translations that might cause a panic: + +``` +$ ./tools/i18n_helper.py --missing | grep ABSENT +services/status/locales/i18n.json rtc.set_time_modal.ja ABSENT +services/status/locales/i18n.json rtc.set_time_modal.zh ABSENT +services/status/locales/i18n.json rtc.set_time_modal.en-tts ABSENT +$ +``` +Possible statuses include: +* **OK** (if `--show-ok` flag is turned on) +* **MISSING** the entry has the special unicode character: 🔇 +* **MACHINE_TRANSLATION** the entry ends with ` *MT*` to show that it was done by machine translation and requires human review. +* **TEMPORARY** a temporary solution, borrowed from another language like English (e.g. ends in ` *EN*`) +* **ABSENT** this translation key is _not present_ and could cause a panic! + + +The `--new-lang` function will add a new lang by copying an +existing lang and adding the suffix `" *EN*"` to the new translation +(example if the `--from-lang` is `en`): + + +``` +$ ./tools/i18n_helper.py --verbose --from-lang en --new-lang fr +verbose mode +-- get languages -- +adding new lang "fr" from "en" by appending " *EN*" + +$ +``` + +Each file will be backed up with the suffix `.orig` appended. +Once you are satisfied with the translations you can remove these +backup files like this: + +``` +$ find . -name '*.json.orig' | xargs rm +``` + +If you need to re-run the helper and an `.orig` version of the file +is present it will be treated as the original version. + +_NOTE:_ You may want to add the new lang to the other tools +that know about available languages: + +* https://github.com/betrusted-io/xous-core/blob/main/tools/updater/precursorupdater/precursorupdater.py#L154 +* https://github.com/betrusted-io/xous-core/blob/main/tools/backup.py#L420 +* https://github.com/betrusted-io/xous-core/blob/main/tools/restore.py#L541 +* https://github.com/betrusted-io/xous-core/blob/main/tools/legacy/update_ci.sh#L14 +* https://github.com/betrusted-io/xous-core/blob/main/tools/legacy/factory_reset.sh#L14 diff --git a/services/aes-test/Cargo.toml b/services/aes-test/Cargo.toml index be008d37d..589c631d1 100644 --- a/services/aes-test/Cargo.toml +++ b/services/aes-test/Cargo.toml @@ -8,9 +8,9 @@ version = "0.1.0" # Dependency versions enforced by Cargo.lock. [dependencies] log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} +log-server = {package = "xous-api-log", version = "0.1.18"} hex-literal = "0.3.1" -xous = "0.9.21" +xous = "0.9.24" [features] default = [] diff --git a/services/aes/Cargo.toml b/services/aes/Cargo.toml index 4cb6f3626..806f14f4e 100644 --- a/services/aes/Cargo.toml +++ b/services/aes/Cargo.toml @@ -7,8 +7,8 @@ description = "AES library for Xous" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } log = "0.4.14" hex-literal = "0.3.1" cipher = "0.4.2" diff --git a/services/codec/Cargo.toml b/services/codec/Cargo.toml index 0d3a013ab..63c8c9bb8 100644 --- a/services/codec/Cargo.toml +++ b/services/codec/Cargo.toml @@ -7,21 +7,21 @@ description = "Audio CODEC server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} llio = {path = "../llio"} trng = {path = "../trng"} -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/com/Cargo.toml b/services/com/Cargo.toml index d39a8c1e1..60ea46e03 100644 --- a/services/com/Cargo.toml +++ b/services/com/Cargo.toml @@ -9,13 +9,13 @@ version = "0.1.0" [dependencies] com_rs-ref = {path = "../../imports/com_rs-ref"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} -susres = {package = "xous-api-susres", version = "0.9.14"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} +susres = {package = "xous-api-susres", version = "0.9.18"} typenum = "1.12" -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} trng = {path = "../trng"} llio = {path = "../llio"} @@ -25,7 +25,7 @@ rkyv = {version = "0.4.3", default-features = false, features = ["const_generics xous-semver = "0.1.2" -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [target.'cfg(any(windows,unix))'.dependencies] diff --git a/services/content-plugin-api/Cargo.toml b/services/content-plugin-api/Cargo.toml index 155bd6ea6..cb6de92c4 100644 --- a/services/content-plugin-api/Cargo.toml +++ b/services/content-plugin-api/Cargo.toml @@ -7,9 +7,9 @@ description = "Content Canvas Plugin Common APIs" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" +xous = "0.9.24" rkyv = { version = "0.4.3", default_features = false } graphics-server = { path="../graphics-server"} # this is used by the IMEF portion of the API -xous-names = {package = "xous-api-names", version = "0.9.16"} # used by the IMEF for registering listeners +xous-names = {package = "xous-api-names", version = "0.9.20"} # used by the IMEF for registering listeners log = "0.4.14" diff --git a/services/dns/Cargo.toml b/services/dns/Cargo.toml index b6fc30918..1ac6ebf88 100644 --- a/services/dns/Cargo.toml +++ b/services/dns/Cargo.toml @@ -7,19 +7,19 @@ description = "Xous DNS resolver" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} net = {path = "../net"} -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} trng = {path = "../trng"} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/engine-25519/Cargo.toml b/services/engine-25519/Cargo.toml index e6da0d69d..466c523ad 100644 --- a/services/engine-25519/Cargo.toml +++ b/services/engine-25519/Cargo.toml @@ -7,16 +7,16 @@ description = "Curve25519 Engine" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} llio = {path = "../llio"} # temporary for testing some power stuff -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} diff --git a/services/engine-sha512/Cargo.toml b/services/engine-sha512/Cargo.toml index 261e2cf18..d7bb3211e 100644 --- a/services/engine-sha512/Cargo.toml +++ b/services/engine-sha512/Cargo.toml @@ -7,15 +7,15 @@ description = "Sha512 hardware accelerator engine" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} trng = { path = "../trng" } -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} @@ -25,7 +25,7 @@ digest = "0.9.0" block-buffer = "0.9.0" opaque-debug = "0.3.0" # prevents internal hash state leakage from debug structures -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/ffi-test/Cargo.toml b/services/ffi-test/Cargo.toml index 0784469f8..63b1be3b8 100644 --- a/services/ffi-test/Cargo.toml +++ b/services/ffi-test/Cargo.toml @@ -7,18 +7,18 @@ description = "FFI test integration" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} ffi-sys = {path = "sys"} keyboard = {path = "../keyboard"} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/gam/Cargo.toml b/services/gam/Cargo.toml index b8b9a9b42..f097b7d33 100644 --- a/services/gam/Cargo.toml +++ b/services/gam/Cargo.toml @@ -14,18 +14,18 @@ ime-plugin-api = {path = "../ime-plugin-api"} ime-plugin-shell = {path = "../ime-plugin-shell"} keyboard = {path = "../keyboard"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} trng = {path = "../trng"} -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -susres = {package = "xous-api-susres", version = "0.9.14"} # used for the sleep now menu item +susres = {package = "xous-api-susres", version = "0.9.18"} # used for the sleep now menu item enum_dispatch = "0.3.7" # used for trait-based dispatch off of multiple layout objects. locales = {path = "../../locales"} @@ -41,7 +41,7 @@ hex = { version = "0.4.3", default-features = false, features = ["alloc"] } sha2 = {path="../engine-sha512"} digest = "0.9.0" -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/gam/locales/i18n.json b/services/gam/locales/i18n.json index a418f7ab2..987f9eaa8 100644 --- a/services/gam/locales/i18n.json +++ b/services/gam/locales/i18n.json @@ -1,110 +1,128 @@ -{ - "radio.select_and_close": { - "en": "[ Okay ]", - "ja": "[ OK ]", - "zh": "[ 确定 ]", - "en-tts": "Accept and close radio box" - }, - "radio.selection_tts": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Set selection to: " - }, - "radio.select_and_close_tts": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Close radio box with selection of " - }, - "radio.selected_tts": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Selected: " - }, - "checkbox.select_and_close_tts": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Close checkbox with these items selected " - }, - "checkbox.uncheck": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Unchecked " - }, - "checkbox.check": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Checked " - }, - "bip39.invalid_word": { - "en": "Invalid word!", - "ja": "無効な単語", - "zh": "无效词", - "en-tts": "Invalid word!" - }, - "bip39.waiting": { - "en": "Waiting for input...", - "ja": "入力を待っています...", - "zh": "等待输入...", - "en-tts": "Waiting for input..." - }, - "bip39.enter_to_complete": { - "en": "Press enter to accept current phrase, or keep typing...", - "ja": "Enterキーを押して現在のフレーズを受け入れるか、入力を続けます...", - "zh": "按 Enter 接受当前短语,或继续输入...", - "en-tts": "Press enter to accept current phrase, or keep typing..." - }, - "bip39.start_typing": { - "en": "Start typing...", - "ja": "入力を開始します...", - "zh": "开始打字……", - "en-tts": "Start typing..." - }, - "bip39.invalid_phrase": { - "en": "\tPhrase is not valid", - "ja": "\tフレーズが無効です", - "zh": "\t短语无效", - "en-tts": "\tPhrase is not valid" - }, - "bip39.abort_help": { - "en": "Press F4 to abort entry", - "ja": "F4を押して入力を中止します", - "zh": "按 F4 中止输入", - "en-tts": "Press F4 to abort entry" - }, - "bip39.valid_phrase": { - "en": "Valid input:", - "ja": "有効な入力:", - "zh": "有效输入:", - "en-tts": "Valid input:" - }, - "bip39.invalid_bytes": { - "en": "Invalid BIP39 data length", - "ja": "無効なBIP39データ長", - "zh": "BIP39 数据长度无效", - "en-tts": "Invalid BIP39 data length" - }, - "progress.increment": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "tick" - }, - "notification.dismiss": { - "en": "[ Press any key ]", - "ja": "[ 何かのキーを押してください。]", - "zh": "[ 按任意键 ]", - "en-tts": "Press any key" - }, - "notification.qrcode.error": { - "en": "Error: data does not fit in QR code", - "ja": "QRコードエラー:データが多すぎます", - "zh": "错误:数据不适合QR码", - "en-tts": "Error: data does not fit in QR code" - } -} +{ + "bip39.abort_help": { + "en": "Press F4 to abort entry", + "en-tts": "Press F4 to abort entry", + "fr": "Appuyez sur F4 pour annuler l’entrée", + "ja": "F4を押して入力を中止します", + "zh": "按 F4 中止输入" + }, + "bip39.enter_to_complete": { + "en": "Press enter to accept current phrase, or keep typing...", + "en-tts": "Press enter to accept current phrase, or keep typing...", + "fr": "Appuyez sur Entrée pour accepter la phrase courante, ou continuez à taper...", + "ja": "Enterキーを押して現在のフレーズを受け入れるか、入力を続けます...", + "zh": "按 Enter 接受当前短语,或继续输入..." + }, + "bip39.invalid_bytes": { + "en": "Invalid BIP39 data length", + "en-tts": "Invalid BIP39 data length", + "fr": "Longueur de données BIP39 non valide", + "ja": "無効なBIP39データ長", + "zh": "BIP39 数据长度无效" + }, + "bip39.invalid_phrase": { + "en": "\tPhrase is not valid", + "en-tts": "\tPhrase is not valid", + "fr": "\tPhrase non valide", + "ja": "\tフレーズが無効です", + "zh": "\t短语无效" + }, + "bip39.invalid_word": { + "en": "Invalid word!", + "en-tts": "Invalid word!", + "fr": "Mot invalide!", + "ja": "無効な単語", + "zh": "无效词" + }, + "bip39.start_typing": { + "en": "Start typing...", + "en-tts": "Start typing...", + "fr": "Commencez à taper...", + "ja": "入力を開始します...", + "zh": "开始打字……" + }, + "bip39.valid_phrase": { + "en": "Valid input:", + "en-tts": "Valid input:", + "fr": "Saisie valide:", + "ja": "有効な入力:", + "zh": "有效输入:" + }, + "bip39.waiting": { + "en": "Waiting for input...", + "en-tts": "Waiting for input...", + "fr": "En attente de saisie...", + "ja": "入力を待っています...", + "zh": "等待输入..." + }, + "checkbox.check": { + "en": "", + "en-tts": "Checked ", + "fr": "", + "ja": "", + "zh": "" + }, + "checkbox.select_and_close_tts": { + "en": "", + "en-tts": "Close checkbox with these items selected ", + "fr": "", + "ja": "", + "zh": "" + }, + "checkbox.uncheck": { + "en": "", + "en-tts": "Unchecked ", + "fr": "", + "ja": "", + "zh": "" + }, + "notification.dismiss": { + "en": "[ Press any key ]", + "en-tts": "Press any key", + "fr": "[ Appuyez sur une touche ]", + "ja": "[ 何かのキーを押してください。]", + "zh": "[ 按任意键 ]" + }, + "notification.qrcode.error": { + "en": "Error: data does not fit in QR code", + "en-tts": "Error: data does not fit in QR code", + "fr": "Erreur: les données ne tiennent pas au code QR", + "ja": "QRコードエラー:データが多すぎます", + "zh": "错误:数据不适合QR码" + }, + "progress.increment": { + "en": "", + "en-tts": "tick", + "fr": "", + "ja": "", + "zh": "" + }, + "radio.select_and_close": { + "en": "[ Okay ]", + "en-tts": "Accept and close radio box", + "fr": "[ D'accord ]", + "ja": "[ OK ]", + "zh": "[ 确定 ]" + }, + "radio.select_and_close_tts": { + "en": "", + "en-tts": "Close radio box with selection of ", + "fr": "", + "ja": "", + "zh": "" + }, + "radio.selected_tts": { + "en": "", + "en-tts": "Selected: ", + "fr": "", + "ja": "", + "zh": "" + }, + "radio.selection_tts": { + "en": "", + "en-tts": "Set selection to: ", + "fr": "", + "ja": "", + "zh": "" + } +} diff --git a/services/gam/src/api.rs b/services/gam/src/api.rs index 3b86e8265..52cdf0230 100644 --- a/services/gam/src/api.rs +++ b/services/gam/src/api.rs @@ -201,6 +201,10 @@ pub(crate) enum Opcode { Bip39toBytes = 30, BytestoBip39 = 31, Bip39Suggestions = 32, + + /// Allow main menu activation. Used by the PDDB to turn ungate the main menu once it is mounted. + /// This resolves race conditions that depend upon the PDDB configurations. + AllowMainMenu = 33, } // small wart -- we have to reset the size of a modal to max size for resize computations diff --git a/services/gam/src/contexts.rs b/services/gam/src/contexts.rs index 6b13d8e00..ccf9c176d 100644 --- a/services/gam/src/contexts.rs +++ b/services/gam/src/contexts.rs @@ -100,6 +100,8 @@ pub(crate) struct ContextManager { /// for internal generation of deface states pub trng: trng::Trng, tt: ticktimer_server::Ticktimer, + /// used to suppress the main menu from activating until the boot PIN has been requested + allow_mainmenu: bool, } impl ContextManager { pub fn new(xns: &xous_names::XousNames) -> Self { @@ -122,6 +124,7 @@ impl ContextManager { main_menu_app_token: None, trng: trng::Trng::new(&xns).expect("couldn't connect to trng"), tt: ticktimer_server::Ticktimer::new().unwrap(), + allow_mainmenu: false, } } pub(crate) fn claim_token(&mut self, name: &str) -> Option<[u32; 4]> { @@ -327,6 +330,7 @@ impl ContextManager { token: [u32; 4], clear: bool, ) -> Result<(), xous::Error> { + //log::set_max_level(log::LevelFilter::Trace); self.notify_app_switch(token).ok(); let mut leaving_visibility: bool = false; @@ -360,6 +364,7 @@ impl ContextManager { } else if // app covering an app (context.layout.behavior() == LayoutBehavior::App) && (leaving_focused_context.layout.behavior() == LayoutBehavior::App) { + log::debug!("resolved: app covering app"); context.layout.set_visibility_state(true, canvases); leaving_visibility = false; self.context_stack.pop(); @@ -367,16 +372,25 @@ impl ContextManager { } else if // alert covering an app (context.layout.behavior() == LayoutBehavior::Alert) && (leaving_focused_context.layout.behavior() == LayoutBehavior::App) { + log::debug!("resolved: alert covering app"); context.layout.set_visibility_state(true, canvases); leaving_visibility = true; self.context_stack.push(token); } else if // app covering an alert (context.layout.behavior() == LayoutBehavior::App) && (leaving_focused_context.layout.behavior() == LayoutBehavior::Alert) { + log::debug!("resolved: app covering alert"); context.layout.set_visibility_state(true, canvases); leaving_visibility = false; self.context_stack.pop(); } + } else { + log::warn!("resolved: staying in same context. This is not an expected case."); + // this path "shouldn't" happen because the discipline is that every pop-up must + // return control back to the main thread (you can't chain pop-ups). + // thus, kick out a warning if this happens, but also, try to do something reasonable. + self.redraw().expect("couldn't redraw the currently focused app"); + return Ok(()); } } else { // there was no current focus, just make the activation visible @@ -480,6 +494,7 @@ impl ContextManager { self.redraw().expect("couldn't redraw the currently focused app"); } } + //log::set_max_level(log::LevelFilter::Info); Ok(()) } pub(crate) fn set_pred_api_token(&mut self, at: ApiToken) { @@ -582,6 +597,9 @@ impl ContextManager { } Err(xous::Error::ServerNotFound) } + pub(crate) fn allow_mainmenu(&mut self) { + self.allow_mainmenu = true; + } pub(crate) fn key_event(&mut self, keys: [char; 4], gfx: &graphics_server::Gfx, canvases: &mut HashMap, @@ -591,13 +609,19 @@ impl ContextManager { if keys[0] == '∴' { if let Some(context) = self.get_context_by_token(self.focused_context.unwrap()) { if context.layout.behavior() == LayoutBehavior::App { - if let Some(menu_token) = self.find_app_token_by_name(MAIN_MENU_NAME) { - // set the menu to the active context - match self.activate(gfx, canvases, menu_token, false) { - Ok(_) => (), - Err(_) => log::warn!("Couldn't raise menu, user will have to try again."), + log::info!("allow_mainmenu: {:?}", self.allow_mainmenu); + if self.allow_mainmenu { + if let Some(menu_token) = self.find_app_token_by_name(MAIN_MENU_NAME) { + // set the menu to the active context + match self.activate(gfx, canvases, menu_token, false) { + Ok(_) => (), + Err(_) => log::warn!("Couldn't raise menu, user will have to try again."), + } + // don't pass the initial key hit back to the menu app, just eat it and return + return; } - // don't pass the initial key hit back to the menu app, just eat it and return + } else { + // eat the key and return if it is hit before the boot PIN was entered return; } } diff --git a/services/gam/src/layouts/modal.rs b/services/gam/src/layouts/modal.rs index 76b0803b0..1c432743c 100644 --- a/services/gam/src/layouts/modal.rs +++ b/services/gam/src/layouts/modal.rs @@ -8,7 +8,7 @@ use graphics_server::*; use crate::{LayoutApi, LayoutBehavior}; use crate::contexts::MISC_CONTEXT_DEFAULT_TRUST; -const TRUST_OFFSET: u8 = 1; +const TRUST_OFFSET: u8 = 16; #[derive(Debug, Copy, Clone)] pub(crate) struct ModalLayout { diff --git a/services/gam/src/lib.rs b/services/gam/src/lib.rs index 91cda362b..221b2ea9d 100644 --- a/services/gam/src/lib.rs +++ b/services/gam/src/lib.rs @@ -104,6 +104,13 @@ impl Gam { ).map(|_|()) } + /// Inform the GAM that the main menu can be activated. This blocks until the message has been delivered to the GAM. + pub fn allow_mainmenu(&self) -> Result<(), xous::Error> { + send_message(self.conn, + Message::new_blocking_scalar(Opcode::AllowMainMenu.to_usize().unwrap(), 0, 0, 0, 0) + ).map(|_|()) + } + pub fn powerdown_request(&self) -> Result { let response = send_message(self.conn, Message::new_blocking_scalar(Opcode::PowerDownRequest.to_usize().unwrap(), 0, 0, 0, 0))?; diff --git a/services/gam/src/main.rs b/services/gam/src/main.rs index 6b252bb0c..7de3e1b59 100644 --- a/services/gam/src/main.rs +++ b/services/gam/src/main.rs @@ -664,6 +664,10 @@ fn wrapped_main() -> ! { } buffer.replace(spec).unwrap(); } + Some(Opcode::AllowMainMenu) => { + context_mgr.allow_mainmenu(); + xous::return_scalar(msg.sender, 0).ok(); + } Some(Opcode::Quit) => break, None => {log::error!("unhandled message {:?}", msg);} } diff --git a/services/gam/src/modal.rs b/services/gam/src/modal.rs index 41aa6d15b..c5fef7a7a 100644 --- a/services/gam/src/modal.rs +++ b/services/gam/src/modal.rs @@ -56,7 +56,7 @@ pub trait ActionApi { fn close(&mut self) {} fn is_password(&self) -> bool { false } /// navigation is one of '∴' | '←' | '→' | '↑' | '↓' - fn key_action(&mut self, _key: char) -> (Option, bool) {(None, true)} + fn key_action(&mut self, _key: char) -> Option {None} fn set_action_opcode(&mut self, _op: u32) {} } @@ -478,16 +478,9 @@ impl<'a> Modal<'a> { for &k in keys.iter() { if k != '\u{0}' { log::debug!("got key '{}'", k); - let (err, close) = self.action.key_action(k); + let err = self.action.key_action(k); if let Some(err_msg) = err { self.modify(None, None, false, Some(err_msg.to_str()), false, None); - } else { - if close { - // if it's a "close" button, invoke the GAM to put our box away - self.gam.relinquish_focus().unwrap(); - xous::yield_slice(); - break; // don't process any more keys after a close message - } } } } diff --git a/services/gam/src/modal/bip39entry.rs b/services/gam/src/modal/bip39entry.rs index 61ce4a396..67ac22d11 100644 --- a/services/gam/src/modal/bip39entry.rs +++ b/services/gam/src/modal/bip39entry.rs @@ -298,7 +298,7 @@ impl ActionApi for Bip39Entry { modal.gam.post_textview(&mut tv).expect("couldn't post tv"); } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { let can_move_downwards = !(self.suggestion_index.get() + 1 == NUM_RECCOS); let can_move_upwards = !(self.suggestion_index.get() - 1 < 0); @@ -310,9 +310,13 @@ impl ActionApi for Bip39Entry { let mut ret = Bip39EntryPayload::default(); ret.data[..data.len()].copy_from_slice(&data); ret.len = data.len() as u32; + + // relinquish focus before returning the result + self.gam.relinquish_focus().unwrap(); + xous::yield_slice(); + let buf = Buffer::into_buf(ret).expect("couldn't convert message to payload"); buf.send(self.action_conn, self.action_opcode).map(|_| ()).expect("couldn't send action message"); - return (None, true) } } else { if self.suggested_words.len() > 0 { @@ -345,10 +349,14 @@ impl ActionApi for Bip39Entry { // ignore null messages } '\u{14}' => { // F4 + // relinquish focus before returning the result + self.gam.relinquish_focus().unwrap(); + xous::yield_slice(); + let ret = Bip39EntryPayload::default(); // return a 0-length entry let buf = Buffer::into_buf(ret).expect("couldn't convert message to payload"); buf.send(self.action_conn, self.action_opcode).map(|_| ()).expect("couldn't send action message"); - return (None, true) + return None; } '\u{8}' => { // backspace #[cfg(feature="tts")] @@ -397,6 +405,6 @@ impl ActionApi for Bip39Entry { } } } - (None, false) + None } } \ No newline at end of file diff --git a/services/gam/src/modal/checkboxes.rs b/services/gam/src/modal/checkboxes.rs index b588f45da..3f3e1a26c 100644 --- a/services/gam/src/modal/checkboxes.rs +++ b/services/gam/src/modal/checkboxes.rs @@ -16,6 +16,7 @@ pub struct CheckBoxes { pub action_opcode: u32, pub action_payload: CheckBoxPayload, pub select_index: i16, + gam: crate::Gam, #[cfg(feature = "tts")] pub tts: TtsFrontend, } @@ -29,6 +30,7 @@ impl CheckBoxes { action_opcode, action_payload: CheckBoxPayload::new(), select_index: 0, + gam: crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(), #[cfg(feature="tts")] tts, } @@ -141,7 +143,7 @@ impl ActionApi for CheckBoxes { DrawStyle::new(PixelColor::Dark, PixelColor::Dark, 1)) ).expect("couldn't draw entry line"); } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { log::trace!("key_action: {}", k); match k { '←' | '→' => { @@ -180,9 +182,13 @@ impl ActionApi for CheckBoxes { } } } else { // the OK button select + // relinquish focus before returning the result + self.gam.relinquish_focus().unwrap(); + xous::yield_slice(); + let buf = Buffer::into_buf(self.action_payload).expect("couldn't convert message to payload"); buf.send(self.action_conn, self.action_opcode).map(|_| ()).expect("couldn't send action message"); - return (None, true) + return None; } } '\u{0}' => { @@ -192,6 +198,6 @@ impl ActionApi for CheckBoxes { // ignore text entry } } - (None, false) + None } } diff --git a/services/gam/src/modal/consoleinput.rs b/services/gam/src/modal/consoleinput.rs index d44902769..54268ab03 100644 --- a/services/gam/src/modal/consoleinput.rs +++ b/services/gam/src/modal/consoleinput.rs @@ -1,11 +1,22 @@ use crate::*; /// This is a specialty structure that takes input from the serial console and records it to a string. -#[derive(Debug, Copy, Clone)] +#[derive(Debug)] pub struct ConsoleInput { pub action_conn: xous::CID, pub action_opcode: u32, pub action_payload: TextEntryPayload, + gam: Gam, +} +impl Clone for ConsoleInput { + fn clone(&self) -> Self { + ConsoleInput { + action_conn: self.action_conn, + action_opcode: self.action_opcode, + action_payload: self.action_payload, + gam: crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(), + } + } } impl ConsoleInput { pub fn new(action_conn: xous::CID, action_opcode: u32) -> Self { @@ -13,6 +24,7 @@ impl ConsoleInput { action_conn, action_opcode, action_payload: TextEntryPayload::new(), + gam: crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(), } } } @@ -24,22 +36,26 @@ impl ActionApi for ConsoleInput { fn redraw(&self, _at_height: i16, _modal: &Modal) { // has nothing } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { log::trace!("key_action: {}", k); match k { '\u{0}' => { // ignore null messages } '∴' | '\u{d}' => { + // relinquish focus before returning the result + self.gam.relinquish_focus().unwrap(); + xous::yield_slice(); + let buf = Buffer::into_buf(self.action_payload).expect("couldn't convert message to payload"); buf.send(self.action_conn, self.action_opcode).map(|_| ()).expect("couldn't send action message"); - return (None, true) + return None; } _ => { // text entry self.action_payload.content.push(k).expect("ran out of space storing password"); log::trace!("****update payload: {}", self.action_payload.content); } } - (None, false) + None } } \ No newline at end of file diff --git a/services/gam/src/modal/image.rs b/services/gam/src/modal/image.rs index ecebe6393..ba65cc834 100644 --- a/services/gam/src/modal/image.rs +++ b/services/gam/src/modal/image.rs @@ -7,6 +7,7 @@ pub struct Image { pub action_conn: xous::CID, pub action_opcode: u32, pub bitmap: Option, + gam: crate::Gam, } impl Image { @@ -15,6 +16,7 @@ impl Image { action_conn, action_opcode, bitmap: None, + gam: crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(), } } pub fn set_bitmap(&mut self, setting: Option) { @@ -48,21 +50,25 @@ impl ActionApi for Image { .expect("couldn't draw bitmap"); } } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { log::trace!("key_action: {}", k); match k { '\u{0}' => { // ignore null messages } _ => { + // relinquish focus before returning the result + self.gam.relinquish_focus().unwrap(); + xous::yield_slice(); + send_message( self.action_conn, xous::Message::new_scalar(self.action_opcode as usize, 0, 0, 0, 0), ) .expect("couldn't pass on dismissal"); - return (None, true); + return None; } } - (None, false) + None } } diff --git a/services/gam/src/modal/notification.rs b/services/gam/src/modal/notification.rs index 077ff1f3e..1a662e091 100644 --- a/services/gam/src/modal/notification.rs +++ b/services/gam/src/modal/notification.rs @@ -18,6 +18,7 @@ pub struct Notification { pub manual_dismiss: bool, pub qrcode: Vec, pub qrwidth: usize, + gam: crate::Gam, } impl Notification { pub fn new(action_conn: xous::CID, action_opcode: u32) -> Self { @@ -28,6 +29,7 @@ impl Notification { manual_dismiss: true, qrcode: Vec::new(), qrwidth: 0, + gam: crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(), } } pub fn set_is_password(&mut self, setting: bool) { @@ -184,23 +186,29 @@ impl ActionApi for Notification { ) .expect("couldn't draw entry line"); } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { log::trace!("key_action: {}", k); match k { '\u{0}' => { // ignore null messages } _ => { + // relinquish focus before returning the result + if self.manual_dismiss { + self.gam.relinquish_focus().unwrap(); + xous::yield_slice(); + } + send_message( self.action_conn, xous::Message::new_scalar(self.action_opcode as usize, k as u32 as usize, 0, 0, 0), ) .expect("couldn't pass on dismissal"); if self.manual_dismiss { - return (None, true); + return None; } } } - (None, false) + None } } diff --git a/services/gam/src/modal/radiobuttons.rs b/services/gam/src/modal/radiobuttons.rs index 81d16f1b0..68e4012a8 100644 --- a/services/gam/src/modal/radiobuttons.rs +++ b/services/gam/src/modal/radiobuttons.rs @@ -17,6 +17,7 @@ pub struct RadioButtons { pub action_payload: RadioButtonPayload, // the current "radio button" selection pub select_index: i16, // the current candidate to be selected pub is_password: bool, + gam: crate::Gam, #[cfg(feature = "tts")] pub tts: TtsFrontend, } @@ -31,6 +32,7 @@ impl RadioButtons { action_payload: RadioButtonPayload::new(""), select_index: 0, is_password: false, + gam: crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(), #[cfg(feature="tts")] tts, } @@ -152,7 +154,7 @@ impl ActionApi for RadioButtons { DrawStyle::new(color, color, 1)) ).expect("couldn't draw entry line"); } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { log::trace!("key_action: {}", k); match k { '←' | '→' => { @@ -177,9 +179,13 @@ impl ActionApi for RadioButtons { self.tts.tts_simple(self.items[self.select_index as usize].as_str()).unwrap(); } } else { // the OK button select + // relinquish focus before returning the result + self.gam.relinquish_focus().unwrap(); + xous::yield_slice(); + let buf = Buffer::into_buf(self.action_payload).expect("couldn't convert message to payload"); buf.send(self.action_conn, self.action_opcode).map(|_| ()).expect("couldn't send action message"); - return (None, true) + return None; } } '\u{0}' => { @@ -189,6 +195,6 @@ impl ActionApi for RadioButtons { // ignore text entry } } - (None, false) + None } } \ No newline at end of file diff --git a/services/gam/src/modal/slider.rs b/services/gam/src/modal/slider.rs index c0f9f7e42..603c2231a 100644 --- a/services/gam/src/modal/slider.rs +++ b/services/gam/src/modal/slider.rs @@ -4,6 +4,10 @@ use graphics_server::api::*; use core::fmt::Write; +// This structure needs to be "shallow copy capable" so we can use it with +// the enum_actions API to update the progress state in an efficient manner. +// Thus it does not include its own GAM reference; instead we create one on +// the fly when needed. #[derive(Debug, Copy, Clone)] pub struct Slider { pub min: u32, @@ -163,7 +167,7 @@ impl ActionApi for Slider { draw_list.push(GamObjectType::Rect(inner_rect)).unwrap(); modal.gam.draw_list(draw_list).expect("couldn't execute draw list"); } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { log::trace!("key_action: {}", k); if !self.is_progressbar { match k { @@ -185,20 +189,30 @@ impl ActionApi for Slider { // ignore null messages } '∴' | '\u{d}' => { + // relinquish focus before returning the result + let gam = crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(); + gam.relinquish_focus().unwrap(); + xous::yield_slice(); + send_message(self.action_conn, xous::Message::new_scalar(self.action_opcode as usize, self.action_payload as usize, 0, 0, 0)).expect("couldn't pass on action payload"); - return(None, true) + return None; } _ => { // ignore all other messages } } - (None, false) + None } else { if k == '🛑' { // use the "stop" emoji as a signal that we should close the progress bar - (None, true) + // relinquish focus on stop + let gam = crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(); + gam.relinquish_focus().unwrap(); + xous::yield_slice(); + + None } else { - (None, false) + None } } } diff --git a/services/gam/src/modal/textentry.rs b/services/gam/src/modal/textentry.rs index 5b0b1f7e4..27bedec02 100644 --- a/services/gam/src/modal/textentry.rs +++ b/services/gam/src/modal/textentry.rs @@ -55,6 +55,7 @@ pub struct TextEntry { /// track if keys were hit since initialized: this allows us to clear the default text, /// instead of having it re-appear every time the text area is cleared keys_hit: [bool; MAX_FIELDS as usize], + // gam: crate::Gam, // no GAM field because this needs to be a clone-capable structure. We create a GAM handle when we need it. } impl Default for TextEntry { @@ -358,7 +359,7 @@ impl ActionApi for TextEntry { current_height += self.field_height.get(); } } - fn key_action(&mut self, k: char) -> (Option, bool) { + fn key_action(&mut self, k: char) -> Option { // needs to be a reference, otherwise we're operating on a copy of the payload! let payload = &mut self.action_payloads[self.selected_field as usize]; @@ -415,7 +416,7 @@ impl ActionApi for TextEntry { if let Some(validator) = self.validator { if let Some(err_msg) = validator(*payload, self.action_opcode) { payload.content.clear(); // reset the input field - return (Some(err_msg), false); + return Some(err_msg); } } @@ -427,6 +428,11 @@ impl ActionApi for TextEntry { } } } + // relinquish focus before returning the result + let gam = crate::Gam::new(&xous_names::XousNames::new().unwrap()).unwrap(); + gam.relinquish_focus().unwrap(); + xous::yield_slice(); + let mut payloads: TextEntryPayloads = Default::default(); payloads.1 = self.max_field_amount as usize; payloads.0[..self.max_field_amount as usize].copy_from_slice(&self.action_payloads[..self.max_field_amount as usize]); @@ -438,7 +444,7 @@ impl ActionApi for TextEntry { } self.keys_hit[self.selected_field as usize] = false; - return (None, true) + return None; } '↑' => { if can_move_upwards { @@ -492,6 +498,6 @@ impl ActionApi for TextEntry { } } - (None, false) + None } } \ No newline at end of file diff --git a/services/graphics-server/Cargo.toml b/services/graphics-server/Cargo.toml index 77b27e00d..a4a128895 100644 --- a/services/graphics-server/Cargo.toml +++ b/services/graphics-server/Cargo.toml @@ -9,18 +9,18 @@ version = "0.1.0" [dependencies] keyboard = {path = "../keyboard"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -xous = "0.9.21" -susres = {package = "xous-api-susres", version = "0.9.14"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} +log-server = {package = "xous-api-log", version = "0.1.18"} +xous = "0.9.24" +susres = {package = "xous-api-susres", version = "0.9.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [target.'cfg(any(windows,unix))'.dependencies] minifb = "0.23.0" diff --git a/services/graphics-server/src/api.rs b/services/graphics-server/src/api.rs index b83abe479..9fc8232c5 100644 --- a/services/graphics-server/src/api.rs +++ b/services/graphics-server/src/api.rs @@ -119,6 +119,9 @@ pub(crate) enum Opcode { /// SuspendResume callback SuspendResume, + /// draw the boot logo (for continuity as apps initialize) + DrawBootLogo, + Quit, } diff --git a/services/graphics-server/src/backend/betrusted.rs b/services/graphics-server/src/backend/betrusted.rs index fe0125510..120c87571 100644 --- a/services/graphics-server/src/backend/betrusted.rs +++ b/services/graphics-server/src/backend/betrusted.rs @@ -68,7 +68,6 @@ impl XousDisplay { display .susres .push(RegOrField::Field(utra::memlcd::PRESCALER_PRESCALER), None); - display.sync_clear(); /* use log::{error, info}; @@ -255,6 +254,7 @@ impl XousDisplay { /// "synchronous clear" -- must be called on init, so that the state of the LCD /// internal memory is consistent with the state of the frame buffer + /* fn sync_clear(&mut self) { let framebuffer = self.fb.as_mut_ptr() as *mut u32; for words in 0..FB_SIZE { @@ -267,6 +267,7 @@ impl XousDisplay { self.update_all(); // because we force an all update here while self.busy() {} } + */ fn busy(&self) -> bool { self.csr.rf(utra::memlcd::BUSY_BUSY) == 1 diff --git a/services/graphics-server/src/lib.rs b/services/graphics-server/src/lib.rs index f895b230c..e98db6bbc 100644 --- a/services/graphics-server/src/lib.rs +++ b/services/graphics-server/src/lib.rs @@ -108,6 +108,14 @@ impl Gfx { .map(|_| ()) } + pub fn draw_boot_logo(&self) -> Result<(), xous::Error> { + send_message( + self.conn, + Message::new_scalar(Opcode::DrawBootLogo.to_usize().unwrap(), 0, 0, 0, 0), + ) + .map(|_| ()) + } + pub fn screen_size(&self) -> Result { let response = send_message( self.conn, diff --git a/services/graphics-server/src/main.rs b/services/graphics-server/src/main.rs index 00029f6cc..a0bb3181f 100644 --- a/services/graphics-server/src/main.rs +++ b/services/graphics-server/src/main.rs @@ -112,6 +112,7 @@ fn wrapped_main() -> ! { log::info!("my PID is {}", xous::process::id()); let mut display = XousDisplay::new(); + draw_boot_logo(&mut display); // bring this up as soon as possible let fontregion = map_fonts(); // install the graphical panic handler. It won't catch really early panics, or panics in this crate, @@ -139,8 +140,6 @@ fn wrapped_main() -> ! { .register_name(api::SERVER_NAME_GFX, Some(1)) .expect("can't register server"); - draw_boot_logo(&mut display); - let screen_clip = Rectangle::new(Point::new(0, 0), display.screen_size()); display.redraw(); @@ -459,6 +458,11 @@ fn wrapped_main() -> ! { display.update(); display.redraw(); }), + Some(Opcode::DrawBootLogo) => msg_scalar_unpack!(msg, _, _, _, _, { + display.blit_screen(&poweron::LOGO_MAP); + display.update(); + display.redraw(); + }), Some(Opcode::Devboot) => msg_scalar_unpack!(msg, ena, _, _, _, { if ena != 0 { display.set_devboot(true); diff --git a/services/ime-frontend/Cargo.toml b/services/ime-frontend/Cargo.toml index 09443f334..64595f5d7 100644 --- a/services/ime-frontend/Cargo.toml +++ b/services/ime-frontend/Cargo.toml @@ -12,12 +12,12 @@ graphics-server = {path = "../graphics-server"} ime-plugin-api = {path = "../ime-plugin-api"} keyboard = {path = "../keyboard"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} -xous = "0.9.21" +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} +xous = "0.9.24" locales = {path = "../../locales"} -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} @@ -25,7 +25,7 @@ rkyv = {version = "0.4.3", default-features = false, features = ["const_generics tts-frontend = {path="../tts"} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/ime-frontend/locales/i18n.json b/services/ime-frontend/locales/i18n.json index 59e3e1fc9..ba5a48a95 100644 --- a/services/ime-frontend/locales/i18n.json +++ b/services/ime-frontend/locales/i18n.json @@ -1,14 +1,16 @@ -{ - "input.delete-tts": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "delete" - }, - "input.greeting": { - "en": "Ready for input...", - "ja": "入力可能...", - "zh": "等待输入...", - "en-tts": "Ready for input" - } -} \ No newline at end of file +{ + "input.delete-tts": { + "en": "", + "en-tts": "delete", + "fr": "", + "ja": "", + "zh": "" + }, + "input.greeting": { + "en": "Ready for input...", + "en-tts": "Ready for input", + "fr": "Prêt pour la saisie...", + "ja": "入力可能...", + "zh": "等待输入..." + } +} diff --git a/services/ime-plugin-api/Cargo.toml b/services/ime-plugin-api/Cargo.toml index 8257d3de0..5fda2634f 100644 --- a/services/ime-plugin-api/Cargo.toml +++ b/services/ime-plugin-api/Cargo.toml @@ -9,9 +9,9 @@ version = "0.1.0" [dependencies] graphics-server = {path = "../graphics-server"}# this is used by the IMEF portion of the API log = "0.4.14" -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"}# used by the IMEF for registering listeners +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"}# used by the IMEF for registering listeners num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} diff --git a/services/ime-plugin-shell/Cargo.toml b/services/ime-plugin-shell/Cargo.toml index d052396ef..f6e56e512 100644 --- a/services/ime-plugin-shell/Cargo.toml +++ b/services/ime-plugin-shell/Cargo.toml @@ -9,17 +9,17 @@ version = "0.1.0" [dependencies] ime-plugin-api = {path = "../ime-plugin-api"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/ime-plugin-tts/Cargo.toml b/services/ime-plugin-tts/Cargo.toml index 0efb8f0c5..00e2dc7d2 100644 --- a/services/ime-plugin-tts/Cargo.toml +++ b/services/ime-plugin-tts/Cargo.toml @@ -9,11 +9,11 @@ version = "0.1.0" [dependencies] ime-plugin-api = {path = "../ime-plugin-api"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} @@ -22,7 +22,7 @@ rkyv = {version = "0.4.3", default-features = false, features = ["const_generics tts-frontend = {path="../tts"} locales = {path = "../../locales"} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/jtag/Cargo.toml b/services/jtag/Cargo.toml index ebc621892..1b9384553 100644 --- a/services/jtag/Cargo.toml +++ b/services/jtag/Cargo.toml @@ -7,19 +7,19 @@ description = "JTAG port server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/kernel-test/Cargo.toml b/services/kernel-test/Cargo.toml index 3863702da..407b2db14 100644 --- a/services/kernel-test/Cargo.toml +++ b/services/kernel-test/Cargo.toml @@ -7,12 +7,12 @@ description = "Program to test various aspects of the kernel" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } log = "0.4.14" -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/keyboard/Cargo.toml b/services/keyboard/Cargo.toml index 0dab894e7..ac39dab02 100644 --- a/services/keyboard/Cargo.toml +++ b/services/keyboard/Cargo.toml @@ -8,20 +8,20 @@ version = "0.1.0" # Dependency versions enforced by Cargo.lock. [dependencies] log = {version = "0.4", features = ["max_level_trace", "release_max_level_trace"]} -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} llio = {path = "../llio"} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} spinor = {path = "../spinor"} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/libstd-test/Cargo.toml b/services/libstd-test/Cargo.toml index 6b83eb1c1..f0070f1f3 100644 --- a/services/libstd-test/Cargo.toml +++ b/services/libstd-test/Cargo.toml @@ -7,10 +7,10 @@ description = "libstd test stub" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} @@ -18,7 +18,7 @@ net = {path = "../net"} dns = {path = "../dns"} com = {path = "../com"} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/llio/Cargo.toml b/services/llio/Cargo.toml index 6b703d602..caf5f3490 100644 --- a/services/llio/Cargo.toml +++ b/services/llio/Cargo.toml @@ -8,12 +8,12 @@ version = "0.1.0" # Dependency versions enforced by Cargo.lock. [dependencies] log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} -susres = {package = "xous-api-susres", version = "0.9.14"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} +susres = {package = "xous-api-susres", version = "0.9.18"} # RTC dependencies bitflags = "1.2.1" @@ -25,7 +25,7 @@ rkyv = {version = "0.4.3", default-features = false, features = ["const_generics xous-semver = "0.1.2" -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [target.'cfg(any(windows,unix))'.dependencies] chrono = "0.4.19" diff --git a/services/log-test-client/Cargo.toml b/services/log-test-client/Cargo.toml index 4c0f1d3ad..35e990921 100644 --- a/services/log-test-client/Cargo.toml +++ b/services/log-test-client/Cargo.toml @@ -7,7 +7,7 @@ version = "0.1.0" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" +xous = "0.9.24" [features] default = [] diff --git a/services/modals/Cargo.toml b/services/modals/Cargo.toml index ff4c894cb..0ac692e62 100644 --- a/services/modals/Cargo.toml +++ b/services/modals/Cargo.toml @@ -7,14 +7,14 @@ description = "Ux modals server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" rkyv = {version = "0.4.3", features = ["const_generics"], default-features = false} gam = {path="../gam"} trng = {path="../trng"} @@ -22,7 +22,7 @@ tts-frontend = {path="../tts"} locales = {path = "../../locales"} bit_field = "0.9.0" -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/modals/locales/i18n.json b/services/modals/locales/i18n.json index c0416d2ce..1b2861ce3 100644 --- a/services/modals/locales/i18n.json +++ b/services/modals/locales/i18n.json @@ -1,14 +1,16 @@ -{ - "modals.radiobutton": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Radio button modal." - }, - "modals.checkbox": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "Checkbox modal." - } -} \ No newline at end of file +{ + "modals.checkbox": { + "en": "", + "en-tts": "Checkbox modal.", + "fr": "", + "ja": "", + "zh": "" + }, + "modals.radiobutton": { + "en": "", + "en-tts": "Radio button modal.", + "fr": "", + "ja": "", + "zh": "" + } +} diff --git a/services/modals/src/lib.rs b/services/modals/src/lib.rs index 596bd41cb..1c81dc4dc 100644 --- a/services/modals/src/lib.rs +++ b/services/modals/src/lib.rs @@ -334,12 +334,15 @@ impl Modals { Ok(()) } - /// close the progress bar, regardless of the current state + /// Close the progress bar, regardless of the current state + /// This is a blocking call, because you want the GAM to revert focus back to your context before you + /// continue with any drawing operations. Otherwise, they could be missed as the modal is still covering + /// your window. pub fn finish_progress(&self) -> Result<(), xous::Error> { self.lock(); send_message( self.conn, - Message::new_scalar( + Message::new_blocking_scalar( Opcode::StopProgress.to_usize().unwrap(), self.token[0] as usize, self.token[1] as usize, diff --git a/services/modals/src/main.rs b/services/modals/src/main.rs index aa8f9f523..acebddbf6 100644 --- a/services/modals/src/main.rs +++ b/services/modals/src/main.rs @@ -156,6 +156,7 @@ fn wrapped_main() -> ! { let mut work_queue = Vec::<(xous::MessageSender, [u32; 4])>::new(); let mut dynamic_notification_listener: Option = None; + let mut dynamic_notification_active: bool = false; loop { let mut msg = xous::receive_message(modals_sid).unwrap(); @@ -331,7 +332,7 @@ fn wrapped_main() -> ! { ) .expect("couldn't initiate UX op"); } - Some(Opcode::StopProgress) => msg_scalar_unpack!(msg, t0, t1, t2, t3, { + Some(Opcode::StopProgress) => msg_blocking_scalar_unpack!(msg, t0, t1, t2, t3, { let token = [t0 as u32, t1 as u32, t2 as u32, t3 as u32]; if token != token_lock.unwrap_or(default_nonce) { log::warn!("Attempt to access modals without a mutex lock. Ignoring."); @@ -339,7 +340,7 @@ fn wrapped_main() -> ! { } send_message( renderer_cid, - Message::new_scalar(Opcode::FinishProgress.to_usize().unwrap(), 0, 0, 0, 0), + Message::new_scalar(Opcode::FinishProgress.to_usize().unwrap(), msg.sender.to_usize(), 0, 0, 0), ) .expect("couldn't update progress bar"); }), @@ -401,10 +402,6 @@ fn wrapped_main() -> ! { log::warn!("Attempt to access modals without a mutex lock. Ignoring."); continue; } - if let Some(sender) = dynamic_notification_listener.take() { - // unblock the listener with no key hit response - xous::return_scalar2(sender, 0, 0,).unwrap(); - } send_message( renderer_cid, Message::new_scalar( @@ -664,6 +661,10 @@ fn wrapped_main() -> ! { renderer_modal.activate(); } RendererState::RunDynamicNotification(config) => { + if dynamic_notification_active { + log::error!("Dynamic notification already active! Double-calls lead to unpredictable results"); + } + dynamic_notification_active = true; let mut top_text = String::new(); if let Some(title) = config.title { #[cfg(feature = "tts")] @@ -691,6 +692,7 @@ fn wrapped_main() -> ! { Some(DEFAULT_STYLE), ); renderer_modal.activate(); + xous::yield_slice(); } RendererState::None => { log::error!( @@ -700,9 +702,11 @@ fn wrapped_main() -> ! { } } } - Some(Opcode::FinishProgress) => { + Some(Opcode::FinishProgress) => msg_scalar_unpack!(msg, caller, _, _, _, { renderer_modal.gam.relinquish_focus().unwrap(); op = RendererState::None; + // unblock the caller, which was forwarded on as the first argument + xous::return_scalar(xous::sender::Sender::from_usize(caller), 0).ok(); token_lock = next_lock(&mut work_queue); /* if work_queue.len() > 0 { @@ -712,7 +716,7 @@ fn wrapped_main() -> ! { } else { token_lock = None; }*/ - } + }), Some(Opcode::DoUpdateDynamicNotification) => match op { RendererState::RunDynamicNotification(config) => { //log::set_max_level(log::LevelFilter::Trace); @@ -746,7 +750,12 @@ fn wrapped_main() -> ! { }, Some(Opcode::DoCloseDynamicNotification) => { renderer_modal.gam.relinquish_focus().unwrap(); + dynamic_notification_active = false; op = RendererState::None; + if let Some(sender) = dynamic_notification_listener.take() { + // unblock the listener with no key hit response + xous::return_scalar2(sender, 0, 0,).unwrap(); + } token_lock = next_lock(&mut work_queue); }, Some(Opcode::HandleDynamicNotificationKeyhit) => msg_scalar_unpack!(msg, k, _, _, _, { diff --git a/services/net/Cargo.toml b/services/net/Cargo.toml index ed222a548..acacd135d 100644 --- a/services/net/Cargo.toml +++ b/services/net/Cargo.toml @@ -7,15 +7,15 @@ description = "Network middleware" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} #rkyv = "0.7.18" rkyv = {version = "0.4.3", features = ["const_generics"], default-features = false} llio = {path = "../llio"} @@ -25,7 +25,7 @@ trng = {path = "../trng"} com_rs-ref = {path = "../../imports/com_rs-ref"} modals = {path = "../modals"} locales = {path = "../../locales"} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } # for automatic SSID management and AP list storage pddb = {path = "../pddb"} diff --git a/services/net/locales/i18n.json b/services/net/locales/i18n.json index c01724add..e5688d23e 100644 --- a/services/net/locales/i18n.json +++ b/services/net/locales/i18n.json @@ -1,14 +1,16 @@ -{ - "net.ec_rev_old": { - "en": "EC firmware is out of date. Wifi connection manager cannot start.", - "ja": "ECファームウェアが古くなっています。Wifiコネクションマネージャーが起動できません。", - "zh": "EC 固件已过期,无法启动连接管理器.", - "en-tts": "EC firmware is out of date. Wifi connection manager cannot start." - }, - "net.ec_current_rev": { - "en": "Current EC rev: ", - "ja": "現在のEC rev: ", - "zh": "当前的 EC 修订版: ", - "en-tts": "Current EC rev: " - } -} \ No newline at end of file +{ + "net.ec_current_rev": { + "en": "Current EC rev: ", + "en-tts": "Current EC rev: ", + "fr": "Version actuelle d’EC: ", + "ja": "現在のEC rev: ", + "zh": "当前的 EC 修订版: " + }, + "net.ec_rev_old": { + "en": "EC firmware is out of date. Wifi connection manager cannot start.", + "en-tts": "EC firmware is out of date. Wifi connection manager cannot start.", + "fr": "Le micrologiciel d’EC est périmé. Le gestionnaire de connexion Wifi ne peut pas démarrer.", + "ja": "ECファームウェアが古くなっています。Wifiコネクションマネージャーが起動できません。", + "zh": "EC 固件已过期,无法启动连接管理器." + } +} diff --git a/services/pddb/Cargo.toml b/services/pddb/Cargo.toml index 1d72f591e..37e19922e 100644 --- a/services/pddb/Cargo.toml +++ b/services/pddb/Cargo.toml @@ -8,15 +8,15 @@ description = "Plausibly Deniable Database" # Dependency versions enforced by Cargo.lock. [dependencies] bitflags = {version = "1"} -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } +susres = {package = "xous-api-susres", version = "0.9.18"} log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -susres = {package = "xous-api-susres", version = "0.9.14"} rkyv = {version = "0.4.3", features = ["const_generics"]} trng = {path = "../trng"} spinor = {path = "../spinor"} @@ -45,7 +45,7 @@ gam = {path="../gam"} locales = {path = "../../locales"} modals = {path="../modals"} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } # performance profiling perflib = {path="../../tools/perflib", optional = true} @@ -88,4 +88,8 @@ hwtest = [] # routines to help with performance profiling of the PDDB in hosted mode pddb-flamegraph = ["hex"] perfcounter = ["perflib"] +# introduce a slight delay after UX boxes swap, in case of race conditions. Shouldn't be necessary anymore, but kept around in case there's a new edge case we missed. +ux-swap-delay = [] +# make the PDDB very small (4MiB). Note that booting a device with an incompatible `smalldb` setting will break the PDDB image. Use with caution. +smalldb = [] default = ["mbbb"] diff --git a/services/pddb/locales/i18n.json b/services/pddb/locales/i18n.json index 3d32a95f1..d7d59450e 100644 --- a/services/pddb/locales/i18n.json +++ b/services/pddb/locales/i18n.json @@ -1,260 +1,310 @@ -{ - "pddb.rekey.keys": { - "en": "Generating encryption mappings...", - "ja": "暗号化マッピングの生成...", - "zh": "生成加密映射...", - "en-tts": "Generating encryption mappings..." - }, - "pddb.rekey.running": { - "en": "Rekeying the database...", - "ja": "データベースのキーの再生成...", - "zh": "重新加密数据库...", - "en-tts": "Rekeying the database..." - }, - "pddb.rekey.fastspace": { - "en": "Regenerating free space cache...", - "ja": "空き領域キャッシュの再生成...", - "zh": "重新生成可用空间缓存...", - "en-tts": "Regenerating free space cache..." - }, - "pddb.freespace.request": { - "en": "⚠ PDDB needs to allocate more free space. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", - "ja": "⚠ PDDBは、より多くの空き領域を割り当てる必要があります。⚠\nこれを安全に行うには、今すぐすべてのシークレットベースのロックを解除する必要があります。 ロックされたままのベーシスは上書きされる可能性があります。", - "zh": "⚠ PDDB 需要分配更多可用空间。⚠\n为了安全地执行此操作,您现在必须解锁所有秘密基地。 任何被锁定的基础都可以被覆盖。", - "en-tts": "⚠ PDDB needs to allocate more free space. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten." - }, - "pddb.rekey.request": { - "en": "⚠ PDDB needs to be keyed to this device. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", - "ja": "⚠ PDDBのキーを再入力する必要があります. ⚠\nこれを安全に行うには、今すぐすべてのシークレットベースのロックを解除する必要があります。 ロックされたままのベーシスは上書きされる可能性があります。", - "zh": "⚠ PDDB 需要重新加密。⚠\n为了安全地执行此操作,您现在必须解锁所有秘密基地。 任何被锁定的基础都可以被覆盖。", - "en-tts": "⚠ PDDB needs to be keyed to this device. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten." - }, - "pddb.churn.request": { - "en": "⚠ PDDB `churn` requested. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", - "ja": "⚠ PDDBの「チャーン」が要求されました。 ⚠\nこれを安全に行うには、今すぐすべてのシークレットベースのロックを解除する必要があります。 ロックされたままのベーシスは上書きされる可能性があります。", - "zh": "⚠ 请求 PDDB `churn`。⚠\n为了安全地执行此操作,您现在必须解锁所有秘密基地。 任何被锁定的基础都可以被覆盖。", - "en-tts": "⚠ PDDB `churn` requested. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten." - }, - "pddb.freespace.enumerate": { - "en": "Enumerate a Basis?", - "ja": "根拠を開示しますか?", - "zh": "披露依据?", - "en-tts": "Enumerate a Basis?" - }, - "pddb.freespace.enumerate_another": { - "en": "Enumerate another Basis?", - "ja": "別の根拠を開示しますか?", - "zh": "披露另一个依据?", - "en-tts": "Enumerate another Basis?" - }, - "pddb.freespace.name": { - "en": "Enter name of Basis to enumerate:", - "ja": "列挙する基準の名前を入力します。", - "zh": "输入要枚举的基础名称:", - "en-tts": "Enter name of Basis to enumerate:" - }, - "pddb.freespace.badpass": { - "en": "Bad password or Basis does not exist.", - "ja": "不正なパスワードまたはベーシスが存在しません。", - "zh": "密码错误或基础不存在。", - "en-tts": "Bad password, or Basis does not exist." - }, - "pddb.freespace.currentlist": { - "en": "The following Bases are currently enumerated:\n", - "ja": "以下の根拠を列挙します:\n", - "zh": "列举如下依据:\n", - "en-tts": "The following Bases are currently enumerated:\n" - }, - "pddb.freespace.finished": { - "en": "Enumeration finished.\n\nShall we proceed to generate the free space cache?", - "ja": "空き領域キャッシュの生成に進みましょうか。", - "zh": "我们要继续生成可用空间缓存吗?", - "en-tts": "Enumeration finished.\n\nShall we proceed to generate the free space cache?" - }, - "pddb.rekey.finished": { - "en": "Enumeration finished.\n\nShall we proceed to rekeying?", - "ja": "キーの再生成に進みましょう?", - "zh": "继续重新加密?", - "en-tts": "Enumeration finished.\n\nShall we proceed to rekeying?" - }, - "pddb.churn.finished": { - "en": "Enumeration finished.\n\nShall we proceed to churning? This process takes about 20 minutes.", - "ja": "列挙が終了しました。\n\n攪拌に進みましょうか? このプロセスには約20分かかります。", - "zh": "枚举完成。\n\n我们要继续搅拌吗? 这个过程大约需要 20 分钟。", - "en-tts": "Enumeration finished.\n\nShall we proceed to churning? This process takes about 20 minutes." - }, - "pddb.checksums": { - "en": "PDDB computing checksums...", - "ja": "PDDB はチェックサムを計算しています...", - "zh": "PDDB 正在计算校验和...", - "en-tts": "PDDB computing checksums..." - }, - "pddb.okay": { - "en": "Okay", - "ja": "OK", - "zh": "确定", - "en-tts": "Okay" - }, - "pddb.cancel": { - "en": "Cancel", - "ja": "キャンセル", - "zh": "取消", - "en-tts": "Cancel" - }, - "pddb.yes": { - "en": "Yes", - "ja": "はい", - "zh": "是的", - "en-tts": "Yes" - }, - "pddb.no": { - "en": "No", - "ja": "いいえ", - "zh": "不", - "en-tts": "No" - }, - "pddb.badpass": { - "en": "Incorrect PIN.\n\nTry again?\n", - "ja": "パスワードを認証失敗でした。\n\nもう一度実行しませんか。\n", - "zh": "密码错误。 再试一次?", - "en-tts": "Incorrect PIN. Try again?" - }, - "pddb.failed_attempts": { - "en": "⚠{fails} failed login attempts", - "ja": "⚠{fails}回のログイン試行の失敗", - "zh": "⚠{fails}次失败的登录尝试", - "en-tts": "⚠{fails} failed login attempts" - }, - "pddb.checkpass": { - "en": "Press any key, then re-enter your PIN to confirm.", - "ja": "任意キーを押して、パスワードを再入力してセットアップを確認してください。", - "zh": "第一次使用,再次输入密码", - "en-tts": "First-time setup: Enter PIN again." - }, - "pddb.checkpass_fail": { - "en": "PIN mismatch!\n\nPlease try again.", - "ja": "パスワード一致していません!\n\nもう一度実行しください。", - "zh": "密码不匹配,请重试.", - "en-tts": "PIN mismatch! Please try again." - }, - "pddb.badpass_infallible": { - "en": "Incorrect PIN.\n\nPlease try again.", - "ja": "パスワードを認証失敗でした。\n\nもう一度実行しください。", - "zh": "密码错误。", - "en-tts": "Incorrect PIN. Please try again." - }, - "pddb.requestformat": { - "en": "The PDDB needs to be cryptographically formatted. This takes about 15 minutes and can't be interrupted.\n\nProceed?", - "ja": "PDDBストレージのフォーマットが必要です。これは約15分かかり、中断することはできません。\n\n続行しますか?", - "zh": "存储需要格式化。这需要15分钟。继续?", - "en-tts": "The PDDB storage needs formatting. It will take about 15 minutes and can't be interrupted. Proceed?" - }, - "pddb.devbypass": { - "en": "Are you testing the PDDB?", - "ja": "PDDBをテストしているのか?", - "zh": "你在测试存储吗?", - "en-tts": "Are you testing the PDDB?" - }, - "pddb.erase": { - "en": "Bulk erase\n(1/6)", - "ja": "一括削除\n(1/6)", - "zh": "擦除存储(1/6)", - "en-tts": "Bulk erase step 1 of 6" - }, - "pddb.initpt": { - "en": "Pagetable\n(2/6)", - "ja": "ページテーブル\n(2/6)", - "zh": "分页表(2/6)", - "en-tts": "Pagetable step 2 of 6" - }, - "pddb.key": { - "en": "Keys\n(3/6)", - "ja": "キー\n(3/6)", - "zh": "密钥(3/6)", - "en-tts": "Keys step 3 of 6" - }, - "pddb.fastspace": { - "en": "Fastspace\n(4/6)", - "ja": "ファーストスペース\n(4/6)", - "zh": "快空间(4/6)", - "en-tts": "Fastspace step 4 of 6" - }, - "pddb.randomize": { - "en": "Cryptographic wipe\n(5/6)", - "ja": "クリプトワイプ\n(5/6)", - "zh": "随机存储(5/6)", - "en-tts": "Randomize disk step 5 of 6" - }, - "pddb.structure": { - "en": "Commit root\n(6/6)", - "ja": "コミットルート\n(6/6)", - "zh": "提交根(6/6)", - "en-tts": "Commit root step 6 of 6" - }, - "pddb.internalerror": { - "en": "Internal Error", - "ja": "内部エラー", - "zh": "内部错误", - "en-tts": "Internal Error" - }, - "pddb.basisname": { - "en": "Basis Name:", - "ja": "Basis名", - "zh": "基础名称", - "en-tts": "Enter name of Basis" - }, - "pddb.password": { - "en": "Enter Basis password", - "ja": "Basis パスワード", - "zh": "基础密码", - "en-tts": "Enter password for Basis" - }, - "pddb.password_for": { - "en": "For basis: ", - "ja": "Basis 名前: ", - "zh": "基础姓名: ", - "en-tts": "For basis: " - }, - "pddb.changepin.mountfirst": { - "en": "Unlock the device before changing the PIN", - "ja": "PIN を変更する前にデバイスのロックを解除してください", - "zh": "在更改 PIN 之前解锁设备", - "en-tts": "Unlock the device before changing the PIN" - }, - "pddb.changepin.enter_new_pin": { - "en": "Enter your new PIN in the next dialog box.", - "ja": "次のダイアログ ボックスに新しい PIN を入力します。", - "zh": "在下一个对话框中输入您的新 PIN。", - "en-tts": "Enter your new PIN in the next dialog box." - }, - "pddb.changepin.success": { - "en": "PIN updated!", - "ja": "PIN が更新されました。", - "zh": "PIN 已更新!", - "en-tts": "PIN updated!" - }, - "pddb.changepin.nochange": { - "en": "PIN unchanged.", - "ja": "PIN は変更されていません", - "zh": "PIN 未更改", - "en-tts": "PIN unchanged." - }, - "pddb.menu.change_unlock_pin": { - "en": "Change unlock PIN", - "ja": "ロック解除暗証番号の変更", - "zh": "更改解锁密码", - "en-tts": "Change unlock PIN" - }, - "pddb.menu.listbasis": { - "en": "List unlocked bases", - "ja": "ロック解除されたベースをー覧表します", - "zh": "基础列表", - "en-tts": "List unlocked bases" - }, - "pddb.menu.listbasis_response": { - "en": "Unlocked bases:\n", - "ja": "ロック解除されたベース:\n", - "zh": "透露列表:\n", - "en-tts": "Unlocked bases:" - } -} \ No newline at end of file +{ + "pddb.badpass": { + "en": "Incorrect PIN.\n\nTry again?\n", + "en-tts": "Incorrect PIN. Try again?", + "fr": "Code PIN incorrect.\n\nRéessayer?\n", + "ja": "パスワードを認証失敗でした。\n\nもう一度実行しませんか。\n", + "zh": "密码错误。 再试一次?" + }, + "pddb.badpass_infallible": { + "en": "Incorrect PIN.\n\nPlease try again.", + "en-tts": "Incorrect PIN. Please try again.", + "fr": "Code PIN incorrect.\n\nVeuillez réessayer", + "ja": "パスワードを認証失敗でした。\n\nもう一度実行しください。", + "zh": "密码错误。" + }, + "pddb.waitmount": { + "en": "Mounting PDDB, please wait...", + "en-tts": "Mounting PDDB, please wait...", + "fr": "Montage de PDDB, veuillez patienter...*MT*", + "ja": "PDDB をマウントしています。お待ちください...", + "zh": "正在挂载 PDDB,请稍候..." + }, + "pddb.basisname": { + "en": "Basis Name:", + "en-tts": "Enter name of Basis", + "fr": "Nom de base:", + "ja": "Basis名", + "zh": "基础名称" + }, + "pddb.cancel": { + "en": "Cancel", + "en-tts": "Cancel", + "fr": "Annuler", + "ja": "キャンセル", + "zh": "取消" + }, + "pddb.changepin.enter_new_pin": { + "en": "Enter your new PIN in the next dialog box.", + "en-tts": "Enter your new PIN in the next dialog box.", + "fr": "Entrez votre nouveau NIP dans la boîte de dialogue suivante.", + "ja": "次のダイアログ ボックスに新しい PIN を入力します。", + "zh": "在下一个对话框中输入您的新 PIN。" + }, + "pddb.changepin.mountfirst": { + "en": "Unlock the device before changing the PIN", + "en-tts": "Unlock the device before changing the PIN", + "fr": "Déverrouiller l’appareil avant de changer le PIN", + "ja": "PIN を変更する前にデバイスのロックを解除してください", + "zh": "在更改 PIN 之前解锁设备" + }, + "pddb.changepin.nochange": { + "en": "PIN unchanged.", + "en-tts": "PIN unchanged.", + "fr": "PIN inchangé", + "ja": "PIN は変更されていません", + "zh": "PIN 未更改" + }, + "pddb.changepin.success": { + "en": "PIN updated!", + "en-tts": "PIN updated!", + "fr": "PIN mis à jour!", + "ja": "PIN が更新されました。", + "zh": "PIN 已更新!" + }, + "pddb.checkpass": { + "en": "Press any key, then re-enter your PIN to confirm.", + "en-tts": "First-time setup: Enter PIN again.", + "fr": "Appuyez sur n’importe quelle touche, puis entrez de nouveau votre PIN pour confirmer.", + "ja": "任意キーを押して、パスワードを再入力してセットアップを確認してください。", + "zh": "第一次使用,再次输入密码" + }, + "pddb.checkpass_fail": { + "en": "PIN mismatch!\n\nPlease try again.", + "en-tts": "PIN mismatch! Please try again.", + "fr": "PIN incorrect! Veuillez réessayer.", + "ja": "パスワード一致していません!\n\nもう一度実行しください。", + "zh": "密码不匹配,请重试." + }, + "pddb.checksums": { + "en": "PDDB computing checksums...", + "en-tts": "PDDB computing checksums...", + "fr": "PDDB calcul des sommes de contrôle...", + "ja": "PDDB はチェックサムを計算しています...", + "zh": "PDDB 正在计算校验和..." + }, + "pddb.churn.finished": { + "en": "Enumeration finished.\n\nShall we proceed to churning? This process takes about 20 minutes.", + "en-tts": "Enumeration finished.\n\nShall we proceed to churning? This process takes about 20 minutes.", + "fr": "Énumération est terminé.\n\nPassons-nous au barattage? Ce processus dure environ 20 minutes.", + "ja": "列挙が終了しました。\n\n攪拌に進みましょうか? このプロセスには約20分かかります。", + "zh": "枚举完成。\n\n我们要继续搅拌吗? 这个过程大约需要 20 分钟。" + }, + "pddb.churn.request": { + "en": "⚠ PDDB `churn` requested. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", + "en-tts": "⚠ PDDB `churn` requested. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", + "fr": "⚠ PDDB `barrattage` demandé. ⚠\nVous devez énumérer toutes les bases secrètes maintenant. Toute base non divulguée pourrait être écrasée.", + "ja": "⚠ PDDBの「チャーン」が要求されました。 ⚠\nこれを安全に行うには、今すぐすべてのシークレットベースのロックを解除する必要があります。 ロックされたままのベーシスは上書きされる可能性があります。", + "zh": "⚠ 请求 PDDB `churn`。⚠\n为了安全地执行此操作,您现在必须解锁所有秘密基地。 任何被锁定的基础都可以被覆盖。" + }, + "pddb.devbypass": { + "en": "Are you testing the PDDB?", + "en-tts": "Are you testing the PDDB?", + "fr": "Vous testez le PDDB?", + "ja": "PDDBをテストしているのか?", + "zh": "你在测试存储吗?" + }, + "pddb.erase": { + "en": "Bulk erase\n(1/6)", + "en-tts": "Bulk erase step 1 of 6", + "fr": "Effacement\n(1/6)", + "ja": "一括削除\n(1/6)", + "zh": "擦除存储(1/6)" + }, + "pddb.failed_attempts": { + "en": "⚠{fails} failed login attempts", + "en-tts": "⚠{fails} failed login attempts", + "fr": "⚠{fails} tentatives de connexion échouées", + "ja": "⚠{fails}回のログイン試行の失敗", + "zh": "⚠{fails}次失败的登录尝试" + }, + "pddb.fastspace": { + "en": "Fastspace\n(4/6)", + "en-tts": "Fastspace step 4 of 6", + "fr": "Fastspace\n(4/6)", + "ja": "ファーストスペース\n(4/6)", + "zh": "快空间(4/6)" + }, + "pddb.freespace.badpass": { + "en": "Bad password or Basis does not exist.", + "en-tts": "Bad password, or Basis does not exist.", + "fr": "Mauvais mot de passe ou base n’existe pas.", + "ja": "不正なパスワードまたはベーシスが存在しません。", + "zh": "密码错误或基础不存在。" + }, + "pddb.freespace.currentlist": { + "en": "The following Bases are currently enumerated:\n", + "en-tts": "The following Bases are currently enumerated:\n", + "fr": "Les bases suivantes sont actuellement énumérées:\n", + "ja": "以下の根拠を列挙します:\n", + "zh": "列举如下依据:\n" + }, + "pddb.freespace.enumerate": { + "en": "Enumerate a Basis?", + "en-tts": "Enumerate a Basis?", + "fr": "Énumérer une base?", + "ja": "根拠を開示しますか?", + "zh": "披露依据?" + }, + "pddb.freespace.enumerate_another": { + "en": "Enumerate another Basis?", + "en-tts": "Enumerate another Basis?", + "fr": "Énumérer une autre base?", + "ja": "別の根拠を開示しますか?", + "zh": "披露另一个依据?" + }, + "pddb.freespace.finished": { + "en": "Enumeration finished.\n\nShall we proceed to generate the free space cache?", + "en-tts": "Enumeration finished.\n\nShall we proceed to generate the free space cache?", + "fr": "Fin de l’énumération.\n\nProcédons-nous à la génération du cache d’espace libre?", + "ja": "空き領域キャッシュの生成に進みましょうか。", + "zh": "我们要继续生成可用空间缓存吗?" + }, + "pddb.freespace.name": { + "en": "Enter name of Basis to enumerate:", + "en-tts": "Enter name of Basis to enumerate:", + "fr": "Entrez le nom de la base pour énumérer:", + "ja": "列挙する基準の名前を入力します。", + "zh": "输入要枚举的基础名称:" + }, + "pddb.freespace.request": { + "en": "⚠ PDDB needs to allocate more free space. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", + "en-tts": "⚠ PDDB needs to allocate more free space. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", + "fr": "⚠ PDDB doit allouer plus d’espace libre ⚠\nVous devez énumérer toutes les bases secrètes maintenant. Toute base non divulguée pourrait être écrasée.", + "ja": "⚠ PDDBは、より多くの空き領域を割り当てる必要があります。⚠\nこれを安全に行うには、今すぐすべてのシークレットベースのロックを解除する必要があります。 ロックされたままのベーシスは上書きされる可能性があります。", + "zh": "⚠ PDDB 需要分配更多可用空间。⚠\n为了安全地执行此操作,您现在必须解锁所有秘密基地。 任何被锁定的基础都可以被覆盖。" + }, + "pddb.initpt": { + "en": "Pagetable\n(2/6)", + "en-tts": "Pagetable step 2 of 6", + "fr": "Pagetable\n(2/6)", + "ja": "ページテーブル\n(2/6)", + "zh": "分页表(2/6)" + }, + "pddb.internalerror": { + "en": "Internal Error", + "en-tts": "Internal Error", + "fr": "Erreur interne", + "ja": "内部エラー", + "zh": "内部错误" + }, + "pddb.key": { + "en": "Keys\n(3/6)", + "en-tts": "Keys step 3 of 6", + "fr": "Clés\n(3/6)", + "ja": "キー\n(3/6)", + "zh": "密钥(3/6)" + }, + "pddb.menu.change_unlock_pin": { + "en": "Change unlock PIN", + "en-tts": "Change unlock PIN", + "fr": "Modifier le PIN de déverrouillage", + "ja": "ロック解除暗証番号の変更", + "zh": "更改解锁密码" + }, + "pddb.menu.listbasis": { + "en": "List unlocked bases", + "en-tts": "List unlocked bases", + "fr": "Liste des bases déverrouillées", + "ja": "ロック解除されたベースをー覧表します", + "zh": "基础列表" + }, + "pddb.menu.listbasis_response": { + "en": "Unlocked bases:\n", + "en-tts": "Unlocked bases:", + "fr": "Bases déverrouillées:\n", + "ja": "ロック解除されたベース:\n", + "zh": "透露列表:\n" + }, + "pddb.no": { + "en": "No", + "en-tts": "No", + "fr": "Non", + "ja": "いいえ", + "zh": "不" + }, + "pddb.okay": { + "en": "Okay", + "en-tts": "Okay", + "fr": "D'accord", + "ja": "OK", + "zh": "确定" + }, + "pddb.password": { + "en": "Enter Basis password", + "en-tts": "Enter password for Basis", + "fr": "Entrer le mot de passe de base", + "ja": "Basis パスワード", + "zh": "基础密码" + }, + "pddb.password_for": { + "en": "For basis: ", + "en-tts": "For basis: ", + "fr": "Pour la base: ", + "ja": "Basis 名前: ", + "zh": "基础姓名: " + }, + "pddb.randomize": { + "en": "Cryptographic wipe\n(5/6)", + "en-tts": "Randomize disk step 5 of 6", + "fr": "Effacement cryptographique\n(5/6)", + "ja": "クリプトワイプ\n(5/6)", + "zh": "随机存储(5/6)" + }, + "pddb.rekey.fastspace": { + "en": "Regenerating free space cache...", + "en-tts": "Regenerating free space cache...", + "fr": "Régénération du cache d’espace libre", + "ja": "空き領域キャッシュの再生成...", + "zh": "重新生成可用空间缓存..." + }, + "pddb.rekey.finished": { + "en": "Enumeration finished.\n\nShall we proceed to rekeying?", + "en-tts": "Enumeration finished.\n\nShall we proceed to rekeying?", + "fr": "Le énuméreration est terminé.\n\nPassons-nous aux nouvelles clés?", + "ja": "キーの再生成に進みましょう?", + "zh": "继续重新加密?" + }, + "pddb.rekey.keys": { + "en": "Generating encryption mappings...", + "en-tts": "Generating encryption mappings...", + "fr": "Générer des mappages de cryptage...", + "ja": "暗号化マッピングの生成...", + "zh": "生成加密映射..." + }, + "pddb.rekey.request": { + "en": "⚠ PDDB needs to be keyed to this device. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", + "en-tts": "⚠ PDDB needs to be keyed to this device. ⚠\nYou must enumerate all secret Bases now. Any Basis not disclosed could be overwritten.", + "fr": "⚠ PDDB doit être saisi sur cet appareil. ⚠\nVous devez énumérer toutes les bases secrètes maintenant. Toute base non divulguée pourrait être écrasée.", + "ja": "⚠ PDDBのキーを再入力する必要があります. ⚠\nこれを安全に行うには、今すぐすべてのシークレットベースのロックを解除する必要があります。 ロックされたままのベーシスは上書きされる可能性があります。", + "zh": "⚠ PDDB 需要重新加密。⚠\n为了安全地执行此操作,您现在必须解锁所有秘密基地。 任何被锁定的基础都可以被覆盖。" + }, + "pddb.rekey.running": { + "en": "Rekeying the database...", + "en-tts": "Rekeying the database...", + "fr": "Nouvelle saisie de la base de données...", + "ja": "データベースのキーの再生成...", + "zh": "重新加密数据库..." + }, + "pddb.requestformat": { + "en": "The PDDB needs to be cryptographically formatted. This takes about 15 minutes and can't be interrupted.\n\nProceed?", + "en-tts": "The PDDB storage needs formatting. It will take about 15 minutes and can't be interrupted. Proceed?", + "fr": "Le PDDB doit être reformater cryptographiquement. Cela prend environ 15 minutes et ne peut pas être interrompu.\n\nContinuer?", + "ja": "PDDBストレージのフォーマットが必要です。これは約15分かかり、中断することはできません。\n\n続行しますか?", + "zh": "存储需要格式化。这需要15分钟。继续?" + }, + "pddb.structure": { + "en": "Commit root\n(6/6)", + "en-tts": "Commit root step 6 of 6", + "fr": "Commettre root\n(6/6)", + "ja": "コミットルート\n(6/6)", + "zh": "提交根(6/6)" + }, + "pddb.yes": { + "en": "Yes", + "en-tts": "Yes", + "fr": "Yes", + "ja": "はい", + "zh": "是的" + } +} diff --git a/services/pddb/src/api.rs b/services/pddb/src/api.rs index 8ac62125d..370dd68d4 100644 --- a/services/pddb/src/api.rs +++ b/services/pddb/src/api.rs @@ -43,10 +43,10 @@ pub(crate) const PDDB_VERSION: u32 = 0x00_00_02_01; #[allow(dead_code)] // PDDB_A_LEN may be shorter than xous::PDDB_LEN, to speed up testing. #[allow(dead_code)] -#[cfg(not(any(feature="pddbtest",feature="autobasis",feature="ci")))] +#[cfg(not(any(feature="pddbtest",feature="autobasis",feature="ci",feature="smalldb")))] pub(crate) const PDDB_A_LEN: usize = xous::PDDB_LEN as usize; #[allow(dead_code)] -#[cfg(any(feature="pddbtest",feature="autobasis",feature="ci"))] +#[cfg(any(feature="pddbtest",feature="autobasis",feature="ci",feature="smalldb"))] pub const PDDB_A_LEN: usize = 4 * 1024 * 1024; /// range for the starting point of a journal number, picked from a random seed @@ -236,6 +236,9 @@ pub(crate) enum Opcode { /// Bulk read of a dictionary DictBulkRead = 52, + /// Mount was attempted + MountAttempted = 53, + /// This key type could not be decoded InvalidOpcode = u32::MAX as _, } diff --git a/services/pddb/src/backend/basis.rs b/services/pddb/src/backend/basis.rs index eb7ce009c..42681d0ad 100644 --- a/services/pddb/src/backend/basis.rs +++ b/services/pddb/src/backend/basis.rs @@ -305,11 +305,13 @@ impl BasisCache { // allocate a vpage offset for the dictionary let dict_index = basis.dict_get_free_offset(hw); let dict_offset = VirtAddr::new(dict_index as u64 * DICT_VSIZE).unwrap(); + log::debug!("dict_add at VA 0x{:x?}", dict_offset); let pp = basis.v2p_map.entry(dict_offset).or_insert_with(|| { let mut ap = hw.try_fast_space_alloc().expect("No free space to allocate dict"); ap.set_valid(true); ap }); + log::debug!("dict_add at PA 0x {:x?}", pp); assert!(pp.valid(), "v2p returned an invalid page"); // create the cache entry @@ -739,7 +741,9 @@ impl BasisCache { index: kcache.descriptor_index, }) } else { - return Err(Error::new(ErrorKind::NotFound, "key not found")); + // this is not a hard error, it just means that the key wasn't in this basis. + // that's alright, it could be in one of the other ones! + continue; } } } @@ -1568,6 +1572,7 @@ impl BasisCacheEntry { } } // generate nonce and write out + log::debug!("patching pp {:x?} with aad {:x?}, data {:x?}", pp, self.aad, &page[..256]); hw.data_encrypt_and_patch_page(&self.cipher, &self.aad, &mut page, &pp); // 4. Check for dirty keys, if there are still some, update vpage_num to target them; otherwise @@ -1592,6 +1597,7 @@ impl BasisCacheEntry { } Ok(()) } else { + log::error!("dict sync could not happen, dictionary name invalid!"); Err(Error::new(ErrorKind::NotFound, "dict_sync called with an invalid dictionary name")) } } diff --git a/services/pddb/src/backend/hw.rs b/services/pddb/src/backend/hw.rs index f025daac5..62dee65e6 100644 --- a/services/pddb/src/backend/hw.rs +++ b/services/pddb/src/backend/hw.rs @@ -373,6 +373,7 @@ impl PddbOs { /// exactly to the first entry in the page table pub(crate) fn patch_data(&self, data: &[u8], offset: u32) { log::trace!("patch offset: {:x} len: {:x}", offset, data.len()); + // log::trace!("patch bef: {:x?}", &self.pddb_mr.as_slice::()[offset as usize + self.data_phys_base.as_usize()..offset as usize + self.data_phys_base.as_usize() + 48]); assert!(data.len() + offset as usize <= PDDB_A_LEN - self.data_phys_base.as_usize(), "attempt to store past disk boundary"); self.spinor.patch( self.pddb_mr.as_slice(), @@ -380,6 +381,8 @@ impl PddbOs { &data, offset + self.data_phys_base.as_u32(), ).expect("couldn't write to data region in the PDDB"); + //log::trace!("patch aft: {:x?}", &self.pddb_mr.as_slice::()[offset as usize + self.data_phys_base.as_usize()..offset as usize + self.data_phys_base.as_usize() + 48]); + //log::trace!("patch end: {:x?}", &self.pddb_mr.as_slice::()[offset as usize + self.data_phys_base.as_usize() + 4048..offset as usize + self.data_phys_base.as_usize() + 4096]) } fn patch_pagetable(&self, data: &[u8], offset: u32) { if cfg!(feature = "mbbb") { @@ -1620,6 +1623,7 @@ impl PddbOs { msg: &data, } ).expect("couldn't encrypt data"); + // log::trace!("calling patch. nonce {:x?}, ct {:x?}, data {:x?}", nonce.as_slice(), &ciphertext[..32], &data[..32]); self.patch_data(&[nonce.as_slice(), &ciphertext].concat(), pp.page_number() * PAGE_SIZE as u32); } @@ -1820,6 +1824,8 @@ impl PddbOs { t!("pddb.erase", xous::LANG), xous::PDDB_LOC, xous::PDDB_LOC + PDDB_A_LEN as u32, xous::PDDB_LOC) .expect("couldn't raise progress bar"); + // retain this delay, because the next section is so compute-intensive, it may take a + // while for the GAM to catch up. self.tt.sleep_ms(100).unwrap(); } for offset in (xous::PDDB_LOC..(xous::PDDB_LOC + PDDB_A_LEN as u32)).step_by(SPINOR_BULK_ERASE_SIZE as usize) { @@ -1845,6 +1851,7 @@ impl PddbOs { if let Some(modals) = progress { modals.update_progress(xous::PDDB_LOC + PDDB_A_LEN as u32).expect("couldn't update progress bar"); modals.finish_progress().expect("couldn't dismiss progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } } @@ -1877,6 +1884,7 @@ impl PddbOs { } if let Some(modals) = progress { modals.finish_progress().expect("couldn't dismiss progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } @@ -1887,6 +1895,7 @@ impl PddbOs { //} if let Some(modals) = progress { modals.start_progress(t!("pddb.key", xous::LANG), 0, 100, 0).expect("couldn't raise progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } assert!(size_of::() == PAGE_SIZE, "StaticCryptoData structure is not correctly sized"); @@ -1910,6 +1919,7 @@ impl PddbOs { crypto_keys.version = SCD_VERSION; // should already be set by `default()` but let's be sure. if let Some(modals) = progress { modals.update_progress(50).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } // copy the encrypted key into the data structure for commit to Flash @@ -1928,8 +1938,10 @@ impl PddbOs { self.patch_keys(crypto_keys.deref(), 0); if let Some(modals) = progress { modals.update_progress(100).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); modals.finish_progress().expect("couldn't dismiss progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } // now we have a copy of the AES key necessary to encrypt the default System basis that we created in step 2. @@ -1956,13 +1968,16 @@ impl PddbOs { } if let Some(modals) = progress { modals.update_progress(50).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } self.fast_space_write(&fast_space); if let Some(modals) = progress { modals.update_progress(100).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); modals.finish_progress().expect("couldn't dismiss progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } @@ -1975,6 +1990,7 @@ impl PddbOs { if let Some(modals) = progress { modals.start_progress(t!("pddb.randomize", xous::LANG), self.data_phys_base.as_u32(), PDDB_A_LEN as u32, self.data_phys_base.as_u32()).expect("couldn't raise progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } let blank = [0xffu8; aes::BLOCK_SIZE]; @@ -2014,14 +2030,17 @@ impl PddbOs { } if let Some(modals) = progress { modals.update_progress(PDDB_A_LEN as u32).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); modals.finish_progress().expect("couldn't dismiss progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } // step 6. create the system basis root structure if let Some(modals) = progress { modals.start_progress(t!("pddb.structure", xous::LANG), 0, 100, 0).expect("couldn't raise progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } let basis_root = BasisRoot { @@ -2036,6 +2055,7 @@ impl PddbOs { self.fast_space_read(); // we reconstitute our fspace map even though it was just generated, partially as a sanity check that everything is ok if let Some(modals) = progress { modals.update_progress(33).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } @@ -2071,6 +2091,7 @@ impl PddbOs { self.system_basis_key = Some(syskey); // put the key back if let Some(modals) = progress { modals.update_progress(66).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } @@ -2082,8 +2103,10 @@ impl PddbOs { } if let Some(modals) = progress { modals.update_progress(100).expect("couldn't update progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); modals.finish_progress().expect("couldn't dismiss progress bar"); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(100).unwrap(); } Ok(()) @@ -2380,6 +2403,7 @@ impl PddbOs { /// at the conclusion of the sweep, but their page use can be accounted for. #[cfg(not(all(feature="pddbtest", feature="autobasis")))] pub(crate) fn pddb_get_all_keys(&self, cache: &Vec::) -> Option> { + #[cfg(feature="ux-swap-delay")] const SWAP_DELAY_MS: usize = 300; // populate the "known" entries let mut ret = Vec::<(BasisKeys, String)>::new(); @@ -2416,6 +2440,7 @@ impl PddbOs { DnaMode::Churn => t!("pddb.churn.request", xous::LANG), }, None).ok(); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); // 0.5 display the Bases that we know @@ -2425,10 +2450,12 @@ impl PddbOs { blist.push_str(name); } modals.show_notification(&blist, None).ok(); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); // 1. prompt user to enter any name/password combos for other basis we want to keep while self.yes_no_approval(&modals, t!("pddb.freespace.enumerate_another", xous::LANG)) { + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); match modals @@ -2474,11 +2501,13 @@ impl PddbOs { ret.push((basis_key, name)); } else { modals.show_notification(t!("pddb.freespace.badpass", xous::LANG), None).ok(); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); } }, _ => return None, }; + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); // 4. repeat summary print-out let mut blist = String::from(t!("pddb.freespace.currentlist", xous::LANG)); @@ -2487,6 +2516,7 @@ impl PddbOs { blist.push_str(name); } modals.show_notification(&blist, None).ok(); + #[cfg(feature="ux-swap-delay")] self.tt.sleep_ms(SWAP_DELAY_MS).unwrap(); } // done! diff --git a/services/pddb/src/lib.rs b/services/pddb/src/lib.rs index ed79008e6..2b195530c 100644 --- a/services/pddb/src/lib.rs +++ b/services/pddb/src/lib.rs @@ -164,6 +164,20 @@ impl Pddb { } } } + pub fn mount_attempted_blocking(&self) { + loop { + let ret = send_message(self.conn, Message::new_blocking_scalar( + Opcode::MountAttempted.to_usize().unwrap(), 0, 0, 0, 0)).expect("couldn't execute IsMounted query"); + match ret { + xous::Result::Scalar2(code, _count) => { + if code == 0 { // mounted successfully + break; + } + }, + _ => panic!("Internal error"), + } + } + } /// Attempts to mount the system basis. Returns `true` on success, `false` on failure. /// This call may cause a password request box to pop up, in the case that the boot PIN is not currently cached. /// @@ -589,7 +603,9 @@ impl Pddb { match response.code { PddbRequestCode::NoErr => (), PddbRequestCode::NotFound => return Err(Error::new(ErrorKind::NotFound, "dictionary not found")), - _ => return Err(Error::new(ErrorKind::Other, "Internal error")), + PddbRequestCode::AccessDenied => return Err(Error::new(ErrorKind::PermissionDenied, "concurrent operation in progress")), + PddbRequestCode::Uninit => return Err(Error::new(ErrorKind::ConnectionAborted, "Return code not set getting key count, server aborted?")), + _ => return Err(Error::new(ErrorKind::Other, "Internal error generating key count")), }; // v2 key listing packs the key list into a larger [u8] field that should cut down on the number of messages // required to list a large dictionary by about a factor of 50. @@ -611,7 +627,8 @@ impl Pddb { match response.retcode { ArchivedPddbRetcode::Ok => (), ArchivedPddbRetcode::AccessDenied => return Err(Error::new(ErrorKind::PermissionDenied, "KeyList facility locked by another process, try again later")), - _ => return Err(Error::new(ErrorKind::Other, "Internal Error")), + ArchivedPddbRetcode::Uninit => return Err(Error::new(ErrorKind::ConnectionAborted, "Return code not set fetching list, server aborted?")), + _ => return Err(Error::new(ErrorKind::Other, "Internal Error fetching list")), } // the [u8] data is structured as a packed list of u8-len + u8 data slice. The max length of // a PDDB key name is guaranteed to be shorter than a u8. If the length field is 0, then this diff --git a/services/pddb/src/main.rs b/services/pddb/src/main.rs index f8d245acb..e542055af 100644 --- a/services/pddb/src/main.rs +++ b/services/pddb/src/main.rs @@ -590,6 +590,7 @@ fn wrapped_main() -> ! { // track processes that want a notification of a mount event let mut mount_notifications = Vec::::new(); + let mut attempt_notifications = Vec::::new(); // track heap usage let mut initial_heap: usize = 0; @@ -649,6 +650,17 @@ fn wrapped_main() -> ! { mount_notifications.push(msg.sender); // defer response until later } }), + Opcode::MountAttempted => xous::msg_blocking_scalar_unpack!(msg, _, _, _, _, { + #[cfg(not(target_os = "xous"))] // hosted mode always passes + xous::return_scalar2(msg.sender, 0, 0).expect("couldn't return scalar"); + + #[cfg(target_os = "xous")] + if basis_cache.basis_count() > 0 { // if there's anything in the cache, we're mounted; by definition it was attempted + xous::return_scalar2(msg.sender, 0, 0).expect("couldn't return scalar"); + } else { + attempt_notifications.push(msg.sender); // defer response until later + } + }), // The return code from this is a scalar2 with the following meanings: // (code, count): // - code = 0 -> successful mount @@ -662,6 +674,9 @@ fn wrapped_main() -> ! { if !pddb_os.rootkeys_initialized() { // can't mount if we have no root keys log::info!("{}PDDB.SKIPMOUNT,{}", xous::BOOKEND_START, xous::BOOKEND_END); + // allow the main menu to be used in this case + let gam = gam::Gam::new(&xns).unwrap(); + gam.allow_mainmenu().expect("coudln't allow main menu activation"); xous::return_scalar2(msg.sender, 1, 0).expect("could't return scalar"); } else { match ensure_password(&modals, &mut pddb_os, pw_cid) { @@ -680,13 +695,13 @@ fn wrapped_main() -> ! { }, PasswordState::Uninit => { if try_mount_or_format(&modals, &mut pddb_os, &mut basis_cache, PasswordState::Uninit, time_resetter) { - is_mounted.store(true, Ordering::SeqCst); for requester in mount_notifications.drain(..) { xous::return_scalar2(requester, 0, 0).expect("couldn't return scalar"); } assert!(mount_notifications.len() == 0, "apparently I don't understand what drain() does"); log::info!("{}PDDB.MOUNTED,{}", xous::BOOKEND_START, xous::BOOKEND_END); xous::return_scalar2(msg.sender, 0, 0).expect("couldn't return scalar"); + is_mounted.store(true, Ordering::SeqCst); } else { xous::return_scalar2(msg.sender, 1, 0).expect("couldn't return scalar"); } @@ -701,6 +716,10 @@ fn wrapped_main() -> ! { failcount.min(u32::MAX as u64) as usize ).expect("couldn't return scalar"), } + // get a handle to the GAM and inform it that main menu should be allowed. The handle is dropped when this routine finishes. + let gam = gam::Gam::new(&xns).unwrap(); + gam.allow_mainmenu().expect("coudln't allow main menu activation"); + // setup the heap initial_heap = heap_usage(); latest_heap = initial_heap; latest_cache = basis_cache.cache_size(); @@ -710,6 +729,11 @@ fn wrapped_main() -> ! { profiling::do_query_work(); } } + // this is so that the UX can drop the initial "waiting for boot" message + // the attempt is credited even if it was aborted or failed. + for requester in attempt_notifications.drain(..) { + xous::return_scalar2(requester, 0, 0).expect("couldn't return scalar"); + } }), Opcode::PeriodicScrub => { let current_heap = heap_usage(); @@ -1500,15 +1524,32 @@ fn wrapped_main() -> ! { Failure(String) } loop { + if buf.len() < size_of::() * 2 { + // not enough space to hold our header records, break and get a new buf + break; + } #[cfg(feature="perfcounter")] pddb_os.perf_entry(FILE_ID_SERVICES_PDDB_SRC_MAIN, perflib::PERFMETA_STARTBLOCK, 6, std::line!()); let ser_result: SerializeResult = if let Some(key_name) = state.key_list.pop() { - let attr = basis_cache.key_attributes(&mut pddb_os, + let attr = match basis_cache.key_attributes(&mut pddb_os, &state.dict, &key_name, if state.is_basis_specified{Some(&state.basis)} else {None} - ).expect("Key went missing during bulk read"); // could be a concurrent process mutating. We don't handle this; flag with a panic. + ) { + Ok(attr) => attr, + Err(e) => { + modals.show_notification( + &format!("Error: key not found during bulk read:\n{:?}\n{:?}:{}:{}", + e, + if state.is_basis_specified{Some(&state.basis)} else {None}, + &state.dict, + &key_name, + ), + None).ok(); + continue; + } + }; if attr.len < state.read_limit - state.read_total { let mut d = vec![0u8; attr.len]; match basis_cache.key_read( @@ -1916,11 +1957,14 @@ fn ensure_password(modals: &modals::Modals, pddb_os: &mut PddbOs, _pw_cid: xous: fn try_mount_or_format(modals: &modals::Modals, pddb_os: &mut PddbOs, basis_cache: &mut BasisCache, pw_state: PasswordState, time_resetter: xous::CID) -> bool { log::info!("Attempting to mount the PDDB"); if pw_state == PasswordState::Correct { + modals.dynamic_notification(Some(t!("pddb.waitmount", xous::LANG)), None).unwrap(); if let Some(sys_basis) = pddb_os.pddb_mount() { log::info!("PDDB mount operation finished successfully"); basis_cache.basis_add(sys_basis); + modals.dynamic_notification_close().unwrap(); return true } + modals.dynamic_notification_close().unwrap(); } // correct password but no mount -> offer to format; uninit -> offer to format if pw_state == PasswordState::Correct || pw_state == PasswordState::Uninit { @@ -1977,12 +2021,14 @@ fn try_mount_or_format(modals: &modals::Modals, pddb_os: &mut PddbOs, basis_cach 0, 0, 0, 0 ) ).expect("couldn't reset time"); - + modals.dynamic_notification(Some(t!("pddb.waitmount", xous::LANG)), None).unwrap(); if let Some(sys_basis) = pddb_os.pddb_mount() { log::info!("PDDB mount operation finished successfully"); basis_cache.basis_add(sys_basis); + modals.dynamic_notification_close().unwrap(); true } else { + modals.dynamic_notification_close().unwrap(); log::error!("Despite formatting, no PDDB was found!"); let mut err = String::from(t!("pddb.internalerror", xous::LANG)); err.push_str(" #1"); // punt and leave an error code, because this "should" be rare diff --git a/services/root-keys/Cargo.toml b/services/root-keys/Cargo.toml index 7076ce193..2e5f78970 100644 --- a/services/root-keys/Cargo.toml +++ b/services/root-keys/Cargo.toml @@ -7,20 +7,20 @@ description = "Xous root keys server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} trng = {path= "../trng"} spinor = {path="../spinor"} llio = {path="../llio"} com = {path="../com"} xous-semver = "0.1.2" -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} diff --git a/services/root-keys/locales/i18n.json b/services/root-keys/locales/i18n.json index cfdf64414..327198382 100644 --- a/services/root-keys/locales/i18n.json +++ b/services/root-keys/locales/i18n.json @@ -1,440 +1,513 @@ -{ - "rootkeys.backup_key": { - "en": "This is your backup key:\nWRITE IT DOWN, KEEP IT SECRET.", - "ja": "これがバックアップキーです:\n書き留めて、秘密にしてください。", - "zh": "这是您的备份密钥:\n写下来,保密。", - "en-tts": "This is your backup key:\nWRITE IT DOWN, KEEP IT SECRET." - }, - "rootkeys.backup_verify": { - "en": "Would you like to verify that you wrote the backup key down correctly by re-entering it now?", - "ja": "今すぐ再入力して、バックアップキーを正しく書き留めたことを確認しますか?", - "zh": "您想通过现在重新输入来验证您是否正确记下了备份密钥吗?", - "en-tts": "Would you like to verify that you wrote the backup key down correctly by re-entering it now?" - }, - "rootkeys.backup_badpass": { - "en": "Password incorrect.\n\nPlease try again, or reboot by inserting a paperclip in the hard reset hole.", - "ja": "正しくないパスワード。 バックアップを中止します!", - "zh": "密码错误。 中止备份!", - "en-tts": "Password incorrect.\n\nPlease try again, or reboot by inserting a paperclip in the hard reset hole." - }, - "rootkeys.restore_badpass": { - "en": "BIP-39 entry was not valid. Aborting restore!", - "ja": "BIP-39エントリが無効でした。 復元を中止します!", - "zh": "BIP-39 条目无效。 中止恢复!", - "en-tts": "BIP-39 entry was not valid. Aborting restore!" - }, - "rootkeys.restore_abort": { - "en": "Aborting restore!", - "ja": "復元を中止します!", - "zh": "中止恢复!", - "en-tts": "Aborting restore!" - }, - "rootkeys.try_again": { - "en": "Try again?", - "ja": "再試行?", - "zh": "再试一次?", - "en-tts": "Try again?" - }, - "rootkeys.restore_zero_key": { - "en": "Note: your backup was encrypted with the '0' key. Skipping password entry.\nThis is normal for developers.\n\nUsers should burn BBRAM or eFuse key for secure backups!", - "ja": "注:バックアップは「0」キーで暗号化されています。 パスワード入力をスキップします。\n\n安全なバックアップのためにBBRAMまたはeFuseキーを焼きます!", - "zh": "注意:您的备份是使用“0”密钥加密的。 跳过密码输入。\n\n刻录 BBRAM 或 eFuse 密钥以进行安全备份!", - "en-tts": "Note: your backup was encrypted with the '0' key. Skipping password entry.\n\nBurn BBRAM or eFuse key for secure backups!" - }, - "rootkeys.restore_needs_keyburn": { - "en": "Note: Restoring to a device that booted from a 'Zero Key'.\n\nAfter the restore, you will need to set a brand new backup key. Until then, your backup key will be the insecure Zero Key!", - "ja": "注:ゼロキーから起動したデバイスに復元します。\n\n復元後、新しいバックアップキーを設定する必要があります。 それまでは、バックアップキーは0キーになります。", - "zh": "注意:还原到从零密钥启动的设备。\n\n还原后,您需要设置一个全新的备份密钥。 在那之前,您的备份密钥将是 0 密钥!", - "en-tts": "Note: Restoring to a device that booted from a zero key.\n\nAfter the restore, you will need to set a brand new backup key. Until then, your backup key will be the 0 key!" - }, - "rootkeys.restore_corrupt": { - "en": "Restore record is corrupted. Aborting restore!", - "ja": "復元レコードが破損しています。 復元を中止します!", - "zh": "还原记录已损坏。 中止恢复!", - "en-tts": "Restore record is corrupted. Aborting restore!" - }, - "rootkeys.restore_already_init": { - "en": "Device has already been initialized. A restore will overwrite existing keys, and potentially fail if your device is locked to a different backup key.\n\nProceed?", - "ja": "デバイスはすでに初期化されています。 復元するとすべてのデータが上書きされ、デバイスが別のバックアップキーにロックされていると失敗する可能性があります。\n \n続行しますか?", - "zh": "设备已经初始化。 还原将覆盖所有数据,如果您的设备被锁定到不同的备份密钥,则可能会失败。\n\n是否继续?", - "en-tts": "Device has already been initialized. A restore will overwrite existing keys, and potentially fail if your device is locked to a different backup key.\n\nProceed?" - }, - "rootkeys.backup_key_enter": { - "en": "Please enter your backup key now:", - "ja": "今すぐバックアップキーを入力してください:", - "zh": "请立即输入您的备份密钥:", - "en-tts": "Please enter your backup key now:" - }, - "rootkeys.backup_key_match": { - "en": "Backup key entered correctly!", - "ja": "バックアップキーが正しく入力されました!", - "zh": "备份密钥输入正确!", - "en-tts": "Backup key entered correctly!" - }, - "rootkeys.backup_key_mismatch": { - "en": "Backup key did not match.\n\nThis is your backup key, again:", - "ja": "バックアップキーが一致しませんでした。\n\nこれもバックアップキーです:", - "zh": "备份密钥不匹配。\n\n这是您的备份密钥,再次:", - "en-tts": "Backup key did not match. This is your backup key, again:" - }, - "rootkeys.backup_prepwait": { - "en": "Preparing backup state...", - "ja": "バックアップの準備中...", - "zh": "正在准备备份...", - "en-tts": "Preparing backup state..." - }, - "rootkeys.backup_staged": { - "en": "Backup data is prepared; PDDB is unmounted.\nConnect to a host computer by USB, and download the backup data bundle.\nScan the QR code for instructions:", - "ja": "バックアップデータを用意します。 これで、ホストコンピューターに接続して、バックアップデータバンドルをダウンロードできます。", - "zh": "备份数据已准备好。 您现在可以连接到主机并下载备份数据包。", - "en-tts": "Backup data is prepared. You may now connect to a host computer and download the backup data bundle." - }, - "rootkeys.backup_waiting": { - "en": "⚠ System in backup mode! ⚠\nTo resume normal function, either initiate a backup via USB, or reboot the device.", - "ja": "⚠ システムはバックアップモードです! ⚠\n通常の機能を再開するには、USB 経由でバックアップを開始するか、デバイスを再起動してください。", - "zh": "⚠ 系统处于备份模式! ⚠\n要恢复正常功能,请通过 USB 启动备份,或重新启动设备。", - "en-tts": "System in backup mode! To resume normal function, either initiate a backup via USB, or reboot the device." - }, - "rootkeys.backup_staging_error": { - "en": "Internal error performing backup. Process aborted.", - "ja": "バックアップの実行中に内部エラーが発生しました。 プロセスが中止されました。", - "zh": "执行备份的内部错误。 进程中止。", - "en-tts": "Internal error performing backup. Process aborted." - }, - "rootkeys.updatefirstpass": { - "en": "⚠ Critical Password ⚠\nCreate a strong root password for authorizing system updates.", - "ja": "重要なパスワード\nシステムアップデートを認証するための強力なパスフレーズを作成します。", - "zh": "输入密码 软件更新 安全含义:至关重要 ", - "en-tts": "Enter a root password. This should be a strong password." - }, - "rootkeys.updatepass": { - "en": "⚠ Critical Password ⚠\nPlease confirm the root password.", - "ja": "ルートパスワードを確認してください。", - "zh": "请确认root密码。", - "en-tts": "Please confirm the root password." - }, - "rootkeys.updatepass_fail": { - "en": "Passwords did not match. Try again?", - "ja": "パスワードが間違っています。 再試行?", - "zh": "密码不匹配。 再试一次?", - "en-tts": "Passwords did not match. Try again?" - }, - "rootkeys.blind_update": { - "en": "No device keys detected. Shall we copy the staged gateware anyways, overwriting the current image?", - "ja": "ルートキーが検出されませんでした。 とにかくステージングされたゲートウェアをコピーして、現在のイメージを上書きしませんか?", - "zh": "未检测到根密钥。 我们是否要复制暂存的网关软件,覆盖当前映像?", - "en-tts": "No device keys detected. Shall we copy the staged gateware anyways, overwriting the current image?" - }, - "rootkeys.wrong_state": { - "en": "System in an unexpected state. Aborting.", - "ja": "予期しない状態のシステム。 中止します。", - "zh": "系统处于意外状态。 中止。", - "en-tts": "System in an unexpected state. Aborting." - }, - "rootkeys.already_init": { - "en": "Device keys already initialized.", - "ja": "ルートキーはすでに初期化されています。", - "zh": "根密码已经设置", - "en-tts": "Device keys already initialized." - }, - "rootkeys.confirm": { - "en": "🔐 Setup passwords for Precursor 🔐\n\nYou will be prompted for a root passphrase that must be secure and cannot be changed.\n\nAre you ready?", - "ja": "🔐 Precursor のパスワードを設定する 🔐\n\nルート パスフレーズの入力を求めるメッセージが表示されます。ルート パスフレーズは安全である必要があり、変更することはできません。\n\n準備はできていますか?", - "zh": "🔐 为 Precursor 设置密码 🔐\n\n系统将提示您输入必须安全且无法更改的根密码。\n\n您准备好了吗?", - "en-tts": "Setup passwords for Precursor\n\nYou will be prompted for a root passphrase that must be secure and cannot be changed.\n\nAre you ready?" - }, - "rootkeys.confirm.yes": { - "en": "I'm ready!", - "ja": "準備OK!", - "zh": "确定", - "en-tts": "I'm ready!" - }, - "rootkeys.confirm.no": { - "en": "Not yet, maybe later.", - "ja": "まだです、多分後で。", - "zh": "我先检查一下,稍后再试", - "en-tts": "I'll try again after inspecting my device." - }, - "rootkeys.confirm.dont_ask": { - "en": "Stop bothering me; I know what I'm doing.", - "ja": "二度と気にしないで", - "zh": "不要再打扰我了", - "en-tts": "Stop bothering me; I know what I'm doing." - }, - "rootkeys.setup_wait": { - "en": "Initializing keys. This takes a few minutes. Do not reset or sleep!", - "ja": "キーを初期化中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "现在正在初始化 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Initializing keys. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.signing_loader": { - "en": "Signing loader. This takes a few minutes. Do not reset or sleep!", - "ja": "ローダーは署名中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "签名引导程序 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Signing loader. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.signing_kernel": { - "en": "Signing kernel. This takes a few minutes. Do not reset or sleep!", - "ja": "カーネルへを署名中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "签名内核 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Signing kernel. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.signing_gateware": { - "en": "Signing gateware. This takes a few minutes. Do not reset or sleep!", - "ja": "ゲートウェアへを署名中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "备份比特流 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Signing gateware. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.backup_gateware": { - "en": "Backing up gateware. This takes a few minutes. Do not reset or sleep!", - "ja": "ゲートウェアをバックアップ中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "备份比特流 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Backing up gateware. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.patching_keys": { - "en": "Injecting device keys. This takes a few minutes. Do not reset or sleep!", - "ja": "新しいキーを挿入中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "更换新钥匙 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Injecting device keys. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.verifying_gateware": { - "en": "Verifying new gateware. This takes a few minutes. Do not reset or sleep!", - "ja": "新しいゲートウェアの検証中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "验证比特流 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Verifying gateware. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.commit_signatures": { - "en": "Committing signatures. This takes a few minutes. Do not reset or sleep!", - "ja": "署名のコミット中です。これには数分かかります。リセットやスリープはしないでください。", - "zh": "保存签名 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Committing signatures. This may take a while, don't reset or sleep the device." - }, - "rootkeys.init.unplug_power": { - "en": "Please unplug the charging cable so I can reboot! ", - "ja": "再起動できるように、充電ケーブルを抜いてください。", - "zh": "拔下充电线以允许重启!", - "en-tts": "Unplug the charging cable so I can reboot!" - }, - "rootkeys.init.finished": { - "en": "Rebooting now...\n\nIf the system shows a 'No valid keys' error or hangs, insert a paperclip into the hole in the lower right hand edge and plug in power to reload the FPGA bitstream.", - "ja": "再起動中...", - "zh": "准备重启... ", - "en-tts": "Rebooting now...\n\nIf the system shows a 'No valid keys' error or hangs, insert a paperclip into the hole in the lower right hand edge and plug in power to reload the FPGA bitstream." - }, - "rootkeys.init.fail_verify": { - "en": "Verification failed, aborting!", - "ja": "検証に失敗し、中止します!", - "zh": "*missing*正在初始化失败,中止!", - "en-tts": "Verification failed, aborting" - }, - "rootkeys.init.fail_key": { - "en": "Incorrect password.", - "ja": "間違ったパスワード.", - "zh": "密码错误", - "en-tts": "Incorrect password." - }, - "rootkeys.init.fail_burn": { - "en": "FLASH write problem, aborting!", - "ja": "フラッシュ書き込みの問題、中止します!", - "zh": "*missing*正在初始化失败,中止!", - "en-tts": "FLASH write problem, aborting" - }, - "rootkeys.init.fail_alignment": { - "en": "Internal alignment error, aborting!", - "ja": "内部アライメントエラー、中止します!", - "zh": "*missing*正在初始化失败,中止!", - "en-tts": "Internal alignment error, aborting" - }, - "rootkeys.init.confirmation": { - "en": "This cannot be undone. Continue?", - "ja": "これは元に戻せません。続けますか?", - "zh": "这无法撤消,要继续吗?", - "en-tts": "This cannot be undone. Continue?" - }, - "rootkeys.gwup.no_update_found": { - "en": "No valid update found, aborting!", - "ja": "有効な更新が見つかりませんでした。中止します!", - "zh": "未找到有效更新,正在中止!", - "en-tts": "No valid update found, aborting" - }, - "rootkeys.gwup.inspecting": { - "en": "Inspecting update, please wait...", - "ja": "アップデートを確認しています、お待ちください...", - "zh": "正在检查比特流,请稍候...", - "en-tts": "Inspecting update, please wait." - }, - "rootkeys.gwup.viewinfo_ss": { - "en": "Self-signed image found. Review details?", - "ja": "自己署名画像が見つかりました。 詳細を確認しますか?", - "zh": "**missing**查看更新的详细信息?", - "en-tts": "Self-signed image found. Review details?" - }, - "rootkeys.gwup.viewinfo_tp": { - "en": "Third party image found. Review details?", - "ja": "サードパーティの画像が見つかりました。 詳細を確認しますか?", - "zh": "**missing**查看更新的详细信息?", - "en-tts": "Self-signed image found. Review details?" - }, - "rootkeys.gwup.viewinfo_dk": { - "en": "Devkey image found. Review details?", - "ja": "Devkeyの画像が見つかりました。 詳細を確認しますか?", - "zh": "找到 Devkey 映像。 查看详细信息?", - "en-tts": "Devkey image found. Review details?" - }, - "rootkeys.gwup.details": { - "en": "All details", - "ja": "すべての詳細", - "zh": "所有细节", - "en-tts": "All details" - }, - "rootkeys.gwup.short": { - "en": "Short summary", - "ja": "簡単な要約", - "zh": "简短的摘要", - "en-tts": "Short summary" - }, - "rootkeys.gwup.none": { - "en": "Skip", - "ja": "スキップ", - "zh": "跳过这步", - "en-tts": "Skip" - }, - "rootkeys.gwup.proceed_confirm": { - "en": "Proceed with update?", - "ja": "更新を続行しますか?", - "zh": "继续更新?", - "en-tts": "Proceed with update?" - }, - "rootkeys.gwup.yes": { - "en": "Yes", - "ja": "はい", - "zh": "确定", - "en-tts": "Yes" - }, - "rootkeys.gwup.no": { - "en": "No", - "ja": "いいえ", - "zh": "取消", - "en-tts": "No" - }, - "rootkeys.gwup.sig_problem": { - "en": "Invalid signature on update, aborting.", - "ja": "更新時の署名が無効です。中止します。", - "zh": "更新时签名无效,正在中止。", - "en-tts": "Invalid signature on update, aborting." - }, - "rootkeys.gwup_starting": { - "en": "Updating gateware. This takes a few minutes.\nDo not reset or sleep!", - "ja": "ゲートウェアをアップデート中です。これには数分かかります。\nリセットやスリープはしないでください。", - "zh": "现在正在初始化 可能还要等一下 不要重置或睡眠! ", - "en-tts": "Updating gateware. This may take a while, don't reset or sleep the device." - }, - "rootkeys.get_update_password": { - "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase. This authorizes a system update.", - "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。これでシステムアップデートが許可されます。", - "zh": "⚠ 关键密码请求⚠\n输入ROOT密码。 这将授权系统更新。", - "en-tts": "Enter root password, in order to authorize a gateware update." - }, - "rootkeys.get_update_password_backup": { - "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase. This authorizes a backup to be created.", - "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。これにより、バックアップの作成が許可されます。", - "zh": "⚠ 关键密码请求⚠\n输入“ROOT”密码。 这将授权创建备份。", - "en-tts": "Enter root password, in order to authorize a backup." - }, - "rootkeys.get_update_password_restore": { - "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase. This authorizes a restore to proceed.", - "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。これにより、バックアップの作成が許可されます。", - "zh": "⚠ 关键密码请求⚠\n输入“ROOT”密码。 这将授权创建备份。", - "en-tts": "Enter root password, in order to authorize a restore to proceed." - }, - "rootkeys.gwup.finished": { - "en": "Gateware update finished.\n\nReboot by inserting a paperclip into the small hole on the lower right at your earliest convenience.", - "ja": "ゲートウェアアップデートが終了しました。ご都合の良い時に再起動してください。", - "zh": "更新完成重启应用", - "en-tts": "Gateware update finished. Reboot by inserting a paperclip into the small hole on the lower right at your earliest convenience." - }, - "rootkeys.bbram.confirm": { - "en": "Connect provisioning helper, then press enter. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for details.", - "ja": "プロビジョニングヘルパーを接続し、Enterキーを押してください。詳しくは、https://github.com/betrusted-io/betrusted-wiki/wiki を参照してください。", - "zh": "立即连接配置助手。请参阅 https://github.com/betrusted-io/betrusted-wiki/wiki 了解详情。", - "en-tts": "Connect provisioning helper then press enter. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for details." - }, - "rootkeys.bbram.finished": { - "en": "BBRAM helper should have rebooted the device. There was a problem with the procedure!", - "ja": "BBRAMヘルパーはデバイスをリブートしたはずです。手順に問題がありました!", - "zh": "BBRAM 助手应该已经重启了设备。 程序有问题!", - "en-tts": "BBRAM helper should have rebooted the device, you should not get this message!" - }, - "rootkeys.bbram.failed_restore": { - "en": "Something went wrong. Restoring from backup... ", - "ja": "何かがうまくいきませんでした。 バックアップからの復元中です...", - "zh": "出了点问题,从备份中恢复...", - "en-tts": "Something went wrong, restoring from backup." - }, - "rootkeys.console_input": { - "en": "Communicating with helper... Press enter to abort.", - "ja": "ヘルパーと通信しています... Enterキーを押して中止します。", - "zh": "与助手通信,按 Enter 中止", - "en-tts": "Communicating with helper. Press enter to abort." - }, - "rootkeys.bbram.no_helper": { - "en": "No BBRAM helper found. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for help.", - "ja": "BBRAMヘルパーが見つかりませんでした。https://github.com/betrusted-io/betrusted-wiki/wiki を参照してください。", - "zh": "没有找到 BBRAM helper。参考https://github.com/betrusted-io/betrusted-wiki/wiki。", - "en-tts": "No BBRAM helper found. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for help." - }, - "rootkeys.get_signing_password": { - "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase.\n\nThis will digitally sign your system firmware.", - "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。\n\nこれにより、システムのファームウェアに電子署名が施されます。", - "zh": "输入密码 ROOT 安全含义:至关重要 ", - "en-tts": "Enter root password, in order to authorize a gateware update." - }, - "rootkeys.signxous.finished": { - "en": "Xous signing finished.\nReboot at your earliest convenience.", - "ja": "Xousのサインは終了しました。ご都合の良い時に再起動してください。", - "zh": "更新完成重启应用", - "en-tts": "Xous signing finished. Reboot at your earliest convenience." - }, - "rootkeys.get_login_password": { - "en": "Password request\nEnter the 'unlock' PIN code.", - "ja": "パスワード要求\nデバイスのロック解除のPINコードを入力してください。", - "zh": "输入密码 解锁 安全含义:低", - "en-tts": "Enter device unlock password to access basic service." - }, - "rootkeys.bad_password_request": { - "en": "Someone issued a request for a non-existent password.", - "ja": "誰かが存在しないパスワードのリクエストを発行しました。", - "zh": "有人发出不存在密码的请求。", - "en-tts": "Someone issued a request for a non-existent password." - }, - "rootkeys.policy_request": { - "en": "Please pick a password retention policy:", - "ja": "パスワード保持ポリシーを指定ください。", - "zh": "请选择密码保留策略:", - "en-tts": "Please pick a passowrd retention policy." - }, - "rootkeys.policy_clear": { - "en": "Clear after use", - "ja": "使用後クリア", - "zh": "使用后删除", - "en-tts": "Clear password after use" - }, - "rootkeys.policy_suspend": { - "en": "Retain until sleep", - "ja": "スリープまで保持", - "zh": "睡眠后删除", - "en-tts": "Retain password until sleep" - }, - "rootkeys.policy_idle": { - "en": "Retain until timeout", - "ja": "タイムアウトまで保持", - "zh": "保留到延时", - "en-tts": "Retain until timeout" - }, - "rootkeys.policy_keep": { - "en": "Retain until reboot", - "ja": "リブートまで保持", - "zh": "保留到启动", - "en-tts": "Retain until reboot" - } -} \ No newline at end of file +{ + "rootkeys.already_init": { + "en": "Device keys already initialized.", + "en-tts": "Device keys already initialized.", + "fr": "Clés de l'appareil déjà initialisées", + "ja": "ルートキーはすでに初期化されています。", + "zh": "根密码已经设置" + }, + "rootkeys.backup_badpass": { + "en": "Password incorrect.\n\nPlease try again, or reboot by inserting a paperclip in the hard reset hole.", + "en-tts": "Password incorrect.\n\nPlease try again, or reboot by inserting a paperclip in the hard reset hole.", + "fr": "Mot de passe incorrect.\n\nVeuillez réessayer ou redémarrer en insérant un trombone dans le trou de réinitialisation.", + "ja": "正しくないパスワード。 バックアップを中止します!", + "zh": "密码错误。 中止备份!" + }, + "rootkeys.backup_key": { + "en": "This is your backup key:\nWRITE IT DOWN, KEEP IT SECRET.", + "en-tts": "This is your backup key:\nWRITE IT DOWN, KEEP IT SECRET.", + "fr": "Voici votre clé de sauvegarde:\nÉCRIS-LE, GARDE-LE SECRET.", + "ja": "これがバックアップキーです:\n書き留めて、秘密にしてください。", + "zh": "这是您的备份密钥:\n写下来,保密。" + }, + "rootkeys.backup_key_enter": { + "en": "Please enter your backup key now:", + "en-tts": "Please enter your backup key now:", + "fr": "Veuillez entrer votre clé de sauvegarde maintenant:", + "ja": "今すぐバックアップキーを入力してください:", + "zh": "请立即输入您的备份密钥:" + }, + "rootkeys.backup_key_match": { + "en": "Backup key entered correctly!", + "en-tts": "Backup key entered correctly!", + "fr": "Clé de sauvegarde saisie correctement!", + "ja": "バックアップキーが正しく入力されました!", + "zh": "备份密钥输入正确!" + }, + "rootkeys.backup_key_mismatch": { + "en": "Backup key did not match.\n\nThis is your backup key, again:", + "en-tts": "Backup key did not match. This is your backup key, again:", + "fr": "La clé de sauvegarde ne correspond pas.\n\nCeci c'est la clé de sauvegarde, encore:", + "ja": "バックアップキーが一致しませんでした。\n\nこれもバックアップキーです:", + "zh": "备份密钥不匹配。\n\n这是您的备份密钥,再次:" + }, + "rootkeys.backup_prepwait": { + "en": "Preparing backup state...", + "en-tts": "Preparing backup state...", + "fr": "Préparation de l’état de sauvgarde...", + "ja": "バックアップの準備中...", + "zh": "正在准备备份..." + }, + "rootkeys.backup_staged": { + "en": "Backup data is prepared; PDDB is unmounted.\nConnect to a host computer by USB, and download the backup data bundle.\nScan the QR code for instructions:", + "en-tts": "Backup data is prepared. You may now connect to a host computer and download the backup data bundle.", + "fr": "Les données de sauvegarde sont préparées; PDDB est démonté.\nConnectez-vous à un ordinateur hôte par USB et téléchargez le pack de données de sauvegarde.\nBalayez le code QR pour obtenir des instructions:", + "ja": "バックアップデータを用意します。 これで、ホストコンピューターに接続して、バックアップデータバンドルをダウンロードできます。", + "zh": "备份数据已准备好。 您现在可以连接到主机并下载备份数据包。" + }, + "rootkeys.backup_staging_error": { + "en": "Internal error performing backup. Process aborted.", + "en-tts": "Internal error performing backup. Process aborted.", + "fr": "Erreur interne lors de la sauvegarde. Processus abandonné.", + "ja": "バックアップの実行中に内部エラーが発生しました。 プロセスが中止されました。", + "zh": "执行备份的内部错误。 进程中止。" + }, + "rootkeys.backup_verify": { + "en": "Would you like to verify that you wrote the backup key down correctly by re-entering it now?", + "en-tts": "Would you like to verify that you wrote the backup key down correctly by re-entering it now?", + "fr": "Voulez-vous vérifier que vous avez bien écrit la clé de sauvegarde en la saisissant de nouveau maintenant?", + "ja": "今すぐ再入力して、バックアップキーを正しく書き留めたことを確認しますか?", + "zh": "您想通过现在重新输入来验证您是否正确记下了备份密钥吗?" + }, + "rootkeys.backup_waiting": { + "en": "⚠ System in backup mode! ⚠\nTo resume normal function, either initiate a backup via USB, or reboot the device.", + "en-tts": "System in backup mode! To resume normal function, either initiate a backup via USB, or reboot the device.", + "fr": "⚠ Système en mode de sauvegarde! ⚠\nPour reprendre le fonctionnement normal, lancez une sauvegarde via USB ou redémarrez l’appareil.", + "ja": "⚠ システムはバックアップモードです! ⚠\n通常の機能を再開するには、USB 経由でバックアップを開始するか、デバイスを再起動してください。", + "zh": "⚠ 系统处于备份模式! ⚠\n要恢复正常功能,请通过 USB 启动备份,或重新启动设备。" + }, + "rootkeys.bad_password_request": { + "en": "Someone issued a request for a non-existent password.", + "en-tts": "Someone issued a request for a non-existent password.", + "fr": "Quelqu’un a demandé un mot de passe inexistant.", + "ja": "誰かが存在しないパスワードのリクエストを発行しました。", + "zh": "有人发出不存在密码的请求。" + }, + "rootkeys.bbram.confirm": { + "en": "Connect provisioning helper, then press enter. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for details.", + "en-tts": "Connect provisioning helper then press enter. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for details.", + "fr": "Connectez l’assistant d’approvisionnement, puis appuyez sur Entrée. Reportez-vous à https://github.com/betrusted-io/betrusted-wiki/wiki pour plus de détails.", + "ja": "プロビジョニングヘルパーを接続し、Enterキーを押してください。詳しくは、https://github.com/betrusted-io/betrusted-wiki/wiki を参照してください。", + "zh": "立即连接配置助手。请参阅 https://github.com/betrusted-io/betrusted-wiki/wiki 了解详情。" + }, + "rootkeys.bbram.failed_restore": { + "en": "Something went wrong. Restoring from backup... ", + "en-tts": "Something went wrong, restoring from backup.", + "fr": "Quelque chose a mal tourné. Restauration de sauvegarde... ", + "ja": "何かがうまくいきませんでした。 バックアップからの復元中です...", + "zh": "出了点问题,从备份中恢复..." + }, + "rootkeys.bbram.finished": { + "en": "BBRAM helper should have rebooted the device. There was a problem with the procedure!", + "en-tts": "BBRAM helper should have rebooted the device, you should not get this message!", + "fr": "BBRAM helper aurait dû redémarrer l’appareil. Il y avait un problème avec la procédure!", + "ja": "BBRAMヘルパーはデバイスをリブートしたはずです。手順に問題がありました!", + "zh": "BBRAM 助手应该已经重启了设备。 程序有问题!" + }, + "rootkeys.bbram.no_helper": { + "en": "No BBRAM helper found. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for help.", + "en-tts": "No BBRAM helper found. Refer to https://github.com/betrusted-io/betrusted-wiki/wiki for help.", + "fr": "Aucun assistant BBRAM trouvé. Consultez https://github.com/betrusted-io/betrusted-wiki/wiki pour obtenir de l’aide.", + "ja": "BBRAMヘルパーが見つかりませんでした。https://github.com/betrusted-io/betrusted-wiki/wiki を参照してください。", + "zh": "没有找到 BBRAM helper。参考https://github.com/betrusted-io/betrusted-wiki/wiki。" + }, + "rootkeys.blind_update": { + "en": "No device keys detected. Shall we copy the staged gateware anyways, overwriting the current image?", + "en-tts": "No device keys detected. Shall we copy the staged gateware anyways, overwriting the current image?", + "fr": "Aucune clé de l'appareil détectée. Devons-nous copier le gateware mis en scène de toute façon, écrasant l’image actuelle?", + "ja": "ルートキーが検出されませんでした。 とにかくステージングされたゲートウェアをコピーして、現在のイメージを上書きしませんか?", + "zh": "未检测到根密钥。 我们是否要复制暂存的网关软件,覆盖当前映像?" + }, + "rootkeys.confirm": { + "en": "🔐 Setup passwords for Precursor 🔐\n\nYou will be prompted for a root passphrase that must be secure and cannot be changed.\n\nAre you ready?", + "en-tts": "Setup passwords for Precursor\n\nYou will be prompted for a root passphrase that must be secure and cannot be changed.\n\nAre you ready?", + "fr": "🔐 Configurer les mots de passe pour Precursor 🔐\n\nOn vous demandera un mot de passe racine qui doit être sécurisé et ne peut pas être modifié.\n\nVoulez-vous continuer?", + "ja": "🔐 Precursor のパスワードを設定する 🔐\n\nルート パスフレーズの入力を求めるメッセージが表示されます。ルート パスフレーズは安全である必要があり、変更することはできません。\n\n準備はできていますか?", + "zh": "🔐 为 Precursor 设置密码 🔐\n\n系统将提示您输入必须安全且无法更改的根密码。\n\n您准备好了吗?" + }, + "rootkeys.confirm.dont_ask": { + "en": "Stop bothering me; I know what I'm doing.", + "en-tts": "Stop bothering me; I know what I'm doing.", + "fr": "Arrête de me déranger, je sais ce que je fais.", + "ja": "二度と気にしないで", + "zh": "不要再打扰我了" + }, + "rootkeys.confirm.no": { + "en": "Not yet, maybe later.", + "en-tts": "I'll try again after inspecting my device.", + "fr": "Pas encore, peut-être plus tard.", + "ja": "まだです、多分後で。", + "zh": "我先检查一下,稍后再试" + }, + "rootkeys.confirm.yes": { + "en": "I'm ready!", + "en-tts": "I'm ready!", + "fr": "Je suis prêt(e)", + "ja": "準備OK!", + "zh": "确定" + }, + "rootkeys.console_input": { + "en": "Communicating with helper... Press enter to abort.", + "en-tts": "Communicating with helper. Press enter to abort.", + "fr": "Communiquer avec l'assistant... Appuyez sur Entrée pour annuler.", + "ja": "ヘルパーと通信しています... Enterキーを押して中止します。", + "zh": "与助手通信,按 Enter 中止" + }, + "rootkeys.get_login_password": { + "en": "Password request\nEnter the 'unlock' PIN code.", + "en-tts": "Enter device unlock password to access basic service.", + "fr": "Demande de mot de passe\nEntrer le code PIN de déverrouillage.", + "ja": "パスワード要求\nデバイスのロック解除のPINコードを入力してください。", + "zh": "输入密码 解锁 安全含义:低" + }, + "rootkeys.get_signing_password": { + "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase.\n\nThis will digitally sign your system firmware.", + "en-tts": "Enter root password, in order to authorize a gateware update.", + "fr": "⚠ Demande de mot de passe essentiel ⚠\nSaisissez la phrase de passe 'racine'.\n\nCela signera numériquement le firmware de votre système.", + "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。\n\nこれにより、システムのファームウェアに電子署名が施されます。", + "zh": "输入密码 ROOT 安全含义:至关重要 " + }, + "rootkeys.get_update_password": { + "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase. This authorizes a system update.", + "en-tts": "Enter root password, in order to authorize a gateware update.", + "fr": "⚠ Demande de mot de passe essentiel ⚠\nSaisissez la phrase de passe 'racine'. Cela autorise une mise à jour du système", + "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。これでシステムアップデートが許可されます。", + "zh": "⚠ 关键密码请求⚠\n输入ROOT密码。 这将授权系统更新。" + }, + "rootkeys.get_update_password_backup": { + "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase. This authorizes a backup to be created.", + "en-tts": "Enter root password, in order to authorize a backup.", + "fr": "⚠ Demande de mot de passe essentiel ⚠\nSaisissez la phrase de passe 'racine'. Cela autorise la création d’une sauvegarde", + "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。これにより、バックアップの作成が許可されます。", + "zh": "⚠ 关键密码请求⚠\n输入“ROOT”密码。 这将授权创建备份。" + }, + "rootkeys.get_update_password_restore": { + "en": "⚠ Critical password request ⚠\nEnter the 'root' passphrase. This authorizes a restore to proceed.", + "en-tts": "Enter root password, in order to authorize a restore to proceed.", + "fr": "⚠ Demande de mot de passe essentiel ⚠\nSaisissez la phrase de passe 'racine'. Cela autorise une restauration de procéder.", + "ja": "重要なパスワード要求\nROOTのパスフレーズを入力してください。これにより、バックアップの作成が許可されます。", + "zh": "⚠ 关键密码请求⚠\n输入“ROOT”密码。 这将授权创建备份。" + }, + "rootkeys.gwup.details": { + "en": "All details", + "en-tts": "All details", + "fr": "Tous les détails", + "ja": "すべての詳細", + "zh": "所有细节" + }, + "rootkeys.gwup.finished": { + "en": "Gateware update finished.\n\nReboot by inserting a paperclip into the small hole on the lower right at your earliest convenience.", + "en-tts": "Gateware update finished. Reboot by inserting a paperclip into the small hole on the lower right at your earliest convenience.", + "fr": "La mise à jour du gateware est terminée.\n\nRedémarrer en insérant un trombone dans le petit trou en bas à droite dès que possible.", + "ja": "ゲートウェアアップデートが終了しました。ご都合の良い時に再起動してください。", + "zh": "更新完成重启应用" + }, + "rootkeys.gwup.inspecting": { + "en": "Inspecting update, please wait...", + "en-tts": "Inspecting update, please wait.", + "fr": "Inspection mise à jour, veuillez attendre...", + "ja": "アップデートを確認しています、お待ちください...", + "zh": "正在检查比特流,请稍候..." + }, + "rootkeys.gwup.no": { + "en": "No", + "en-tts": "No", + "fr": "Non", + "ja": "いいえ", + "zh": "取消" + }, + "rootkeys.gwup.no_update_found": { + "en": "No valid update found, aborting!", + "en-tts": "No valid update found, aborting", + "fr": "Aucune mise à jour valide trouvée, abandon!", + "ja": "有効な更新が見つかりませんでした。中止します!", + "zh": "未找到有效更新,正在中止!" + }, + "rootkeys.gwup.none": { + "en": "Skip", + "en-tts": "Skip", + "fr": "Passer", + "ja": "スキップ", + "zh": "跳过这步" + }, + "rootkeys.gwup.proceed_confirm": { + "en": "Proceed with update?", + "en-tts": "Proceed with update?", + "fr": "Procéder à la mise à jour?", + "ja": "更新を続行しますか?", + "zh": "继续更新?" + }, + "rootkeys.gwup.short": { + "en": "Short summary", + "en-tts": "Short summary", + "fr": "Bref résumé", + "ja": "簡単な要約", + "zh": "简短的摘要" + }, + "rootkeys.gwup.sig_problem": { + "en": "Invalid signature on update, aborting.", + "en-tts": "Invalid signature on update, aborting.", + "fr": "Signature invalide à la mise à jour, abandon. ", + "ja": "更新時の署名が無効です。中止します。", + "zh": "更新时签名无效,正在中止。" + }, + "rootkeys.gwup.viewinfo_dk": { + "en": "Devkey image found. Review details?", + "en-tts": "Devkey image found. Review details?", + "fr": "Image Devkey trouvée. Examiner les détails?", + "ja": "Devkeyの画像が見つかりました。 詳細を確認しますか?", + "zh": "找到 Devkey 映像。 查看详细信息?" + }, + "rootkeys.gwup.viewinfo_ss": { + "en": "Self-signed image found. Review details?", + "en-tts": "Self-signed image found. Review details?", + "fr": "Image auto-signée trouvée. Examiner les détails?", + "ja": "自己署名画像が見つかりました。 詳細を確認しますか?", + "zh": "**missing**查看更新的详细信息?" + }, + "rootkeys.gwup.viewinfo_tp": { + "en": "Third party image found. Review details?", + "en-tts": "Third party image found. Review details?", + "fr": "Image de tiers trouvée. Examiner les détails?", + "ja": "サードパーティの画像が見つかりました。 詳細を確認しますか?", + "zh": "**missing**查看更新的详细信息?" + }, + "rootkeys.gwup.yes": { + "en": "Yes", + "en-tts": "Yes", + "fr": "Oui", + "ja": "はい", + "zh": "确定" + }, + "rootkeys.gwup_starting": { + "en": "Updating gateware. This takes a few minutes.\nDo not reset or sleep!", + "en-tts": "Updating gateware. This may take a while, don't reset or sleep the device.", + "fr": "Mise à jour du gateware. Cela prend quelques minutes.\nNe pas réinitialiser ou dormir!", + "ja": "ゲートウェアをアップデート中です。これには数分かかります。\nリセットやスリープはしないでください。", + "zh": "现在正在初始化 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.init.backup_gateware": { + "en": "Backing up gateware. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Backing up gateware. This may take a while, don't reset or sleep the device.", + "fr": "Sauvegarde du gateware. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "ゲートウェアをバックアップ中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "备份比特流 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.init.commit_signatures": { + "en": "Committing signatures. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Committing signatures. This may take a while, don't reset or sleep the device.", + "fr": "Écriture des signatures. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "署名のコミット中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "保存签名 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.init.confirmation": { + "en": "This cannot be undone. Continue?", + "en-tts": "This cannot be undone. Continue?", + "fr": "Cela ne peut pas être défait. Continuer?", + "ja": "これは元に戻せません。続けますか?", + "zh": "这无法撤消,要继续吗?" + }, + "rootkeys.init.fail_alignment": { + "en": "Internal alignment error, aborting!", + "en-tts": "Internal alignment error, aborting", + "fr": "Erreur d’alignement interne, abandon!", + "ja": "内部アライメントエラー、中止します!", + "zh": "*missing*正在初始化失败,中止!" + }, + "rootkeys.init.fail_burn": { + "en": "FLASH write problem, aborting!", + "en-tts": "FLASH write problem, aborting", + "fr": "Problème d’écriture FLASH, abandon!", + "ja": "フラッシュ書き込みの問題、中止します!", + "zh": "*missing*正在初始化失败,中止!" + }, + "rootkeys.init.fail_key": { + "en": "Incorrect password.", + "en-tts": "Incorrect password.", + "fr": "Mot de passe incorrect.", + "ja": "間違ったパスワード.", + "zh": "密码错误" + }, + "rootkeys.init.fail_verify": { + "en": "Verification failed, aborting!", + "en-tts": "Verification failed, aborting", + "fr": "Échec de la vérification, abandon!", + "ja": "検証に失敗し、中止します!", + "zh": "*missing*正在初始化失败,中止!" + }, + "rootkeys.init.finished": { + "en": "Rebooting now...\n\nIf the system shows a 'No valid keys' error or hangs, insert a paperclip into the hole in the lower right hand edge and plug in power to reload the FPGA bitstream.", + "en-tts": "Rebooting now...\n\nIf the system shows a 'No valid keys' error or hangs, insert a paperclip into the hole in the lower right hand edge and plug in power to reload the FPGA bitstream.", + "fr": "Redémarrer maintenant...\n\nSi le système affiche une erreur 'Pas de clé valide' ou se bloque, insérez un trombone dans le trou dans le coin inférieur droit et branchez-le pour recharger le bitstream FPGA.", + "ja": "再起動中...", + "zh": "准备重启... " + }, + "rootkeys.init.patching_keys": { + "en": "Injecting device keys. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Injecting device keys. This may take a while, don't reset or sleep the device.", + "fr": "Injecter les clés de l’appareil. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "新しいキーを挿入中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "更换新钥匙 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.init.signing_gateware": { + "en": "Signing gateware. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Signing gateware. This may take a while, don't reset or sleep the device.", + "fr": "Écriture gateware. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "ゲートウェアへを署名中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "备份比特流 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.init.signing_kernel": { + "en": "Signing kernel. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Signing kernel. This may take a while, don't reset or sleep the device.", + "fr": "Écriture noyeau. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "カーネルへを署名中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "签名内核 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.init.signing_loader": { + "en": "Signing loader. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Signing loader. This may take a while, don't reset or sleep the device.", + "fr": "Écriture chargeur. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "ローダーは署名中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "签名引导程序 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.init.unplug_power": { + "en": "Please unplug the charging cable so I can reboot! ", + "en-tts": "Unplug the charging cable so I can reboot!", + "fr": "Veuillez débrancher le câble de charge pour que je puisse redémarrer!", + "ja": "再起動できるように、充電ケーブルを抜いてください。", + "zh": "拔下充电线以允许重启!" + }, + "rootkeys.init.verifying_gateware": { + "en": "Verifying new gateware. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Verifying gateware. This may take a while, don't reset or sleep the device.", + "fr": "Verification du nouveau gateware. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "新しいゲートウェアの検証中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "验证比特流 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.policy_clear": { + "en": "Clear after use", + "en-tts": "Clear password after use", + "fr": "Effacer le mot de passe après utilisation", + "ja": "使用後クリア", + "zh": "使用后删除" + }, + "rootkeys.policy_idle": { + "en": "Retain until timeout", + "en-tts": "Retain until timeout", + "fr": "Conserver jusqu’à l’expiration du délai", + "ja": "タイムアウトまで保持", + "zh": "保留到延时" + }, + "rootkeys.policy_keep": { + "en": "Retain until reboot", + "en-tts": "Retain until reboot", + "fr": "Conserver jusqu’au redémarrage", + "ja": "リブートまで保持", + "zh": "保留到启动" + }, + "rootkeys.policy_request": { + "en": "Please pick a password retention policy:", + "en-tts": "Please pick a passowrd retention policy.", + "fr": "Veuillez choisir une politique de conservation des mots de passe :", + "ja": "パスワード保持ポリシーを指定ください。", + "zh": "请选择密码保留策略:" + }, + "rootkeys.policy_suspend": { + "en": "Retain until sleep", + "en-tts": "Retain password until sleep", + "fr": "Conserver jusqu’au endormir", + "ja": "スリープまで保持", + "zh": "睡眠后删除" + }, + "rootkeys.restore_abort": { + "en": "Aborting restore!", + "en-tts": "Aborting restore!", + "fr": "Abandon de restauration!", + "ja": "復元を中止します!", + "zh": "中止恢复!" + }, + "rootkeys.restore_already_init": { + "en": "Device has already been initialized. A restore will overwrite existing keys, and potentially fail if your device is locked to a different backup key.\n\nProceed?", + "en-tts": "Device has already been initialized. A restore will overwrite existing keys, and potentially fail if your device is locked to a different backup key.\n\nProceed?", + "fr": "L'appareil a déjà été initialisé. Une restauration écrasera les clés existantes et pourrait échouer si votre périphérique est verrouillé sur une clé de sauvegarde différente.\n\nContinuer?", + "ja": "デバイスはすでに初期化されています。 復元するとすべてのデータが上書きされ、デバイスが別のバックアップキーにロックされていると失敗する可能性があります。\n \n続行しますか?", + "zh": "设备已经初始化。 还原将覆盖所有数据,如果您的设备被锁定到不同的备份密钥,则可能会失败。\n\n是否继续?" + }, + "rootkeys.restore_badpass": { + "en": "BIP-39 entry was not valid. Aborting restore!", + "en-tts": "BIP-39 entry was not valid. Aborting restore!", + "fr": "L’entrée BIP-39 n’était pas valide. Abandon de la restauration!", + "ja": "BIP-39エントリが無効でした。 復元を中止します!", + "zh": "BIP-39 条目无效。 中止恢复!" + }, + "rootkeys.restore_corrupt": { + "en": "Restore record is corrupted. Aborting restore!", + "en-tts": "Restore record is corrupted. Aborting restore!", + "fr": "Enregistrement de restauration corrompu. Abandon de la restauration!", + "ja": "復元レコードが破損しています。 復元を中止します!", + "zh": "还原记录已损坏。 中止恢复!" + }, + "rootkeys.restore_needs_keyburn": { + "en": "Note: Restoring to a device that booted from a 'Zero Key'.\n\nAfter the restore, you will need to set a brand new backup key. Until then, your backup key will be the insecure Zero Key!", + "en-tts": "Note: Restoring to a device that booted from a zero key.\n\nAfter the restore, you will need to set a brand new backup key. Until then, your backup key will be the 0 key!", + "fr": "Remarque: Restauration sur un appareil qui a démarré à partir d’une 'Zero Key'.\n\nAprès la restauration, vous devrez définir une nouvelle clé de sauvegarde. D’ici là, votre clé de sauvegarde sera la Zero Key non sécurisée!", + "ja": "注:ゼロキーから起動したデバイスに復元します。\n\n復元後、新しいバックアップキーを設定する必要があります。 それまでは、バックアップキーは0キーになります。", + "zh": "注意:还原到从零密钥启动的设备。\n\n还原后,您需要设置一个全新的备份密钥。 在那之前,您的备份密钥将是 0 密钥!" + }, + "rootkeys.restore_zero_key": { + "en": "Note: your backup was encrypted with the '0' key. Skipping password entry.\nThis is normal for developers.\n\nUsers should burn BBRAM or eFuse key for secure backups!", + "en-tts": "Note: your backup was encrypted with the '0' key. Skipping password entry.\n\nBurn BBRAM or eFuse key for secure backups!", + "fr": "Remarque: votre sauvegarde a été chiffrée avec la clé '0'. Sauter l’entrée du mot de passe.\nCeci est normal pour les développeurs.\n\nLes utilisateurs doivent graver une clé BBRAM ou eFuse pour les sauvegardes sécurisées!", + "ja": "注:バックアップは「0」キーで暗号化されています。 パスワード入力をスキップします。\n\n安全なバックアップのためにBBRAMまたはeFuseキーを焼きます!", + "zh": "注意:您的备份是使用“0”密钥加密的。 跳过密码输入。\n\n刻录 BBRAM 或 eFuse 密钥以进行安全备份!" + }, + "rootkeys.setup_wait": { + "en": "Initializing keys. This takes a few minutes. Do not reset or sleep!", + "en-tts": "Initializing keys. This may take a while, don't reset or sleep the device.", + "fr": "Initialisation des clés. Cela prend quelques minutes. Ne pas réinitialiser ou dormir!", + "ja": "キーを初期化中です。これには数分かかります。リセットやスリープはしないでください。", + "zh": "现在正在初始化 可能还要等一下 不要重置或睡眠! " + }, + "rootkeys.signxous.finished": { + "en": "Xous signing finished.\nReboot at your earliest convenience.", + "en-tts": "Xous signing finished. Reboot at your earliest convenience.", + "fr": "La signature de Xous est terminée.\nRedémarrer le plus tôt possible.", + "ja": "Xousのサインは終了しました。ご都合の良い時に再起動してください。", + "zh": "更新完成重启应用" + }, + "rootkeys.try_again": { + "en": "Try again?", + "en-tts": "Try again?", + "fr": "Réessayez?", + "ja": "再試行?", + "zh": "再试一次?" + }, + "rootkeys.updatefirstpass": { + "en": "⚠ Critical Password ⚠\nCreate a strong root password for authorizing system updates.", + "en-tts": "Enter a root password. This should be a strong password.", + "fr": "⚠ Mot de passe essentiel ⚠\nCréez un mot de passe racine solide pour autoriser les mises à jour du système.", + "ja": "重要なパスワード\nシステムアップデートを認証するための強力なパスフレーズを作成します。", + "zh": "输入密码 软件更新 安全含义:至关重要 " + }, + "rootkeys.updatepass": { + "en": "⚠ Critical Password ⚠\nPlease confirm the root password.", + "en-tts": "Please confirm the root password.", + "fr": "⚠ Mot de passe essentiel ⚠\nVeuillez confirmer le mot de passe racine.", + "ja": "ルートパスワードを確認してください。", + "zh": "请确认root密码。" + }, + "rootkeys.updatepass_fail": { + "en": "Passwords did not match. Try again?", + "en-tts": "Passwords did not match. Try again?", + "fr": "Les mots de passe ne correspondent pas. Réessayez?", + "ja": "パスワードが間違っています。 再試行?", + "zh": "密码不匹配。 再试一次?" + }, + "rootkeys.wrong_state": { + "en": "System in an unexpected state. Aborting.", + "en-tts": "System in an unexpected state. Aborting.", + "fr": "Système dans un état inattendu. Abandon.", + "ja": "予期しない状態のシステム。 中止します。", + "zh": "系统处于意外状态。 中止。" + } +} diff --git a/services/shellchat/Cargo.toml b/services/shellchat/Cargo.toml index f9fdac177..151f89c78 100644 --- a/services/shellchat/Cargo.toml +++ b/services/shellchat/Cargo.toml @@ -16,13 +16,13 @@ ime-plugin-shell = {path = "../ime-plugin-shell"} ime-plugin-tts = {path = "../ime-plugin-tts"} llio = {path = "../llio"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} keyboard = {path = "../keyboard"} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} codec = {path = "../codec"} #engine-sha512 = {path="../engine-sha512"} sha2 = {path="../engine-sha512"} @@ -38,7 +38,7 @@ dns = {path="../dns"} pddb = {path="../pddb"} modals = {path="../modals"} usb-device-xous = {path="../usb-device-xous"} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } tts-frontend = {path="../tts"} locales = {path = "../../locales"} diff --git a/services/shellchat/locales/i18n.json b/services/shellchat/locales/i18n.json index efb02137f..8854bab5d 100644 --- a/services/shellchat/locales/i18n.json +++ b/services/shellchat/locales/i18n.json @@ -1,14 +1,23 @@ -{ - "shellchat.input-tts": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "got " - }, - "shellchat.output-tts": { - "en": "", - "ja": "", - "zh": "", - "en-tts": "response " - } -} \ No newline at end of file +{ + "shellchat.input-tts": { + "en": "", + "en-tts": "got ", + "fr": "", + "ja": "", + "zh": "" + }, + "shellchat.output-tts": { + "en": "", + "en-tts": "response ", + "fr": "", + "ja": "", + "zh": "" + }, + "shellchat.bootwait": { + "en": "Please wait...", + "en-tts": "Please wait...", + "fr": "S'il vous plaît, attendez*MT*", + "ja": "お待ちください...", + "zh": "请稍等..." + } +} diff --git a/services/shellchat/src/cmds/ecup.rs b/services/shellchat/src/cmds/ecup.rs index ccf68ec0a..6baccbb5b 100644 --- a/services/shellchat/src/cmds/ecup.rs +++ b/services/shellchat/src/cmds/ecup.rs @@ -17,7 +17,7 @@ impl<'a> ShellCmdApi<'a> for EcUpdate { fn process(&mut self, args: String::<1024>, env: &mut CommonEnv) -> Result>, xous::Error> { let mut ret = String::<1024>::new(); - let helpstring = "ecup [gw] [fw] [wf200] [reset] [auto]"; + let helpstring = "ecup [gw] [fw] [wf200] [auto]"; log::debug!("ecup handling {}", args.as_str().unwrap()); let mut tokens = args.as_str().unwrap().split(' '); @@ -26,41 +26,45 @@ impl<'a> ShellCmdApi<'a> for EcUpdate { if let Some(sub_cmd) = tokens.next() { match sub_cmd { "fw" => { - xous::send_message(ecup_conn, + let result = xous::send_message(ecup_conn, xous::Message::new_blocking_scalar( 1, // hard coded to match UpdateOp 0, 0, 0, 0 ) ).unwrap(); - write!(ret, "Starting EC firmware update").unwrap(); + env.ticktimer.sleep_ms(200).unwrap(); + write!(ret, "EC firmware update: {:?}", result).unwrap(); } "gw" => { - xous::send_message(ecup_conn, + let result = xous::send_message(ecup_conn, xous::Message::new_blocking_scalar( 0, // hard coded to match UpdateOp 0, 0, 0, 0 ) ).unwrap(); - write!(ret, "Starting EC gateware update").unwrap(); + env.ticktimer.sleep_ms(200).unwrap(); + write!(ret, "EC gateware update: {:?}", result).unwrap(); } // note: "reset" has been moved to `ver ecreset` "wf200" => { - xous::send_message(ecup_conn, + let result = xous::send_message(ecup_conn, xous::Message::new_blocking_scalar( 2, // hard coded to match UpdateOp 0, 0, 0, 0 ) ).unwrap(); - write!(ret, "Starting EC wf200 update").unwrap(); + env.ticktimer.sleep_ms(200).unwrap(); + write!(ret, "EC wf200 update: {:?}", result).unwrap(); } "auto" => { - xous::send_message(ecup_conn, + let result = xous::send_message(ecup_conn, xous::Message::new_blocking_scalar( 3, // hard coded to match UpdateOp 0, 0, 0, 0 ) ).unwrap(); - write!(ret, "Starting full EC firmware update").unwrap(); + env.ticktimer.sleep_ms(200).unwrap(); + write!(ret, "Full EC firmware update: {:?}", result).unwrap(); } _ => { write!(ret, "{}", helpstring).unwrap(); diff --git a/services/shellchat/src/main.rs b/services/shellchat/src/main.rs index 85e5d5bc6..6fb80cdbb 100644 --- a/services/shellchat/src/main.rs +++ b/services/shellchat/src/main.rs @@ -32,6 +32,7 @@ Check for more detailed docs under Modules/cmds "Shell Chat" below use log::info; use core::fmt::Write; +use core::sync::atomic::{AtomicBool, Ordering}; use gam::UxRegistration; use graphics_server::{Gid, Point, Rectangle, TextBounds, TextView, DrawStyle, PixelColor}; @@ -39,6 +40,9 @@ use graphics_server::api::GlyphStyle; use xous::MessageEnvelope; use xous_ipc::Buffer; +use std::thread; +use std::sync::Arc; + #[doc = include_str!("../README.md")] mod cmds; use cmds::*; @@ -49,7 +53,6 @@ mod oqc_test; #[cfg(feature="nettest")] mod nettests; -#[cfg(feature="tts")] use locales::t; #[cfg(feature="tts")] use tts_frontend::*; @@ -64,7 +67,7 @@ use std::alloc::System; #[global_allocator] static GLOBAL: Allocator = Allocator::system(); #[cfg(feature="tracking-alloc")] -use core::sync::atomic::{AtomicIsize, Ordering}; +use core::sync::atomic::AtomicIsize; #[cfg(feature="tracking-alloc")] struct StdoutTracker { pub total: AtomicIsize, @@ -202,7 +205,7 @@ impl Repl{ } /// update the loop, in response to various inputs - fn update(&mut self, was_callback: bool) -> Result<(), xous::Error> { + fn update(&mut self, was_callback: bool, init_done: bool) -> Result<(), xous::Error> { let debug1 = false; // if we had an input string, do something if let Some(local) = &self.input { @@ -219,7 +222,7 @@ impl Repl{ // redraw UI once upon accepting all input if !was_callback { // don't need to redraw on a callback, save some cycles - self.redraw().expect("can't redraw"); + self.redraw(init_done).expect("can't redraw"); } let mut dirty = true; @@ -265,7 +268,7 @@ impl Repl{ self.msg = None; // redraw UI now that we've responded if dirty { - self.redraw().expect("can't redraw"); + self.redraw(init_done).expect("can't redraw"); } if debug1 { @@ -286,10 +289,27 @@ impl Repl{ } )).expect("can't clear content area"); } - fn redraw(&mut self) -> Result<(), xous::Error> { + fn redraw(&mut self, init_done: bool) -> Result<(), xous::Error> { log::trace!("going into redraw"); self.clear_area(); + if !init_done { + let mut init_tv = TextView::new( + self.content, + TextBounds::CenteredTop( + Rectangle::new( + Point::new(0, self.screensize.y / 3 - 64), + Point::new(self.screensize.x, self.screensize.y / 3) + ) + ) + ); + init_tv.style = GlyphStyle::Bold; + init_tv.draw_border = false; + write!(init_tv.text, "{}", t!("shellchat.bootwait", xous::LANG)).ok(); + self.gam.post_textview(&mut init_tv).expect("couldn't render wait text"); + self.gam.redraw().expect("couldn't redraw screen"); + } + // this defines the bottom border of the text bubbles as they stack up wards let mut bubble_baseline = self.screensize.y - self.margin.y; @@ -352,6 +372,8 @@ enum ShellOpcode { Line = 0, // make sure we occupy opcodes with discriminants < 1000, as the rest are used for callbacks /// redraw our UI Redraw, + /// Used by the automounter to clear the "please wait..." message + ForceRedraw, /// change focus ChangeFocus, /// exit the application @@ -393,8 +415,22 @@ fn wrapped_main() -> ! { let mut was_callback = false; let mut allow_redraw = true; - log::trace!("starting main loop"); + let pddb_init_done = Arc::new(AtomicBool::new(false)); + repl.redraw(pddb_init_done.load(Ordering::SeqCst)).ok(); + thread::spawn({ + let pddb_init_done = pddb_init_done.clone(); + let main_conn = xous::connect(shch_sid).unwrap(); + move || { + let pddb = pddb::Pddb::new(); + pddb.mount_attempted_blocking(); + pddb_init_done.store(true, Ordering::SeqCst); + xous::send_message(main_conn, + xous::Message::new_scalar(ShellOpcode::Redraw.to_usize().unwrap(), 0, 0, 0, 0) + ).ok(); + } + }); + log::trace!("starting main loop"); #[cfg(feature = "autobasis-ci")] { log::info!("starting autobasis CI launcher"); @@ -420,9 +456,14 @@ fn wrapped_main() -> ! { } Some(ShellOpcode::Redraw) => { if allow_redraw { - repl.redraw().expect("REPL couldn't redraw"); + repl.redraw(pddb_init_done.load(Ordering::SeqCst)).expect("REPL couldn't redraw"); } } + // Force a redraw without the "please wait" note. + Some(ShellOpcode::ForceRedraw) => { + repl.redraw(true).expect("REPL couldn't redraw"); + xous::return_scalar(msg.sender, 0).ok(); + } Some(ShellOpcode::ChangeFocus) => xous::msg_scalar_unpack!(msg, new_state_code, _, _, _, { let new_state = gam::FocusState::convert_focus_change(new_state_code); match new_state { @@ -446,7 +487,7 @@ fn wrapped_main() -> ! { } } if update_repl { - repl.update(was_callback).expect("REPL had problems updating"); + repl.update(was_callback, pddb_init_done.load(Ordering::SeqCst)).expect("REPL had problems updating"); update_repl = false; } log::trace!("reached bottom of main loop"); diff --git a/services/skeleton/Cargo.toml b/services/skeleton/Cargo.toml index ced801f53..2104bf5dd 100644 --- a/services/skeleton/Cargo.toml +++ b/services/skeleton/Cargo.toml @@ -7,16 +7,16 @@ description = "Audio CODEC server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/spinor/Cargo.toml b/services/spinor/Cargo.toml index 5eba52c6d..91276700e 100644 --- a/services/spinor/Cargo.toml +++ b/services/spinor/Cargo.toml @@ -7,22 +7,22 @@ description = "SPINOR ROM operations server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} trng = { path = "../trng" } com = { path = "../com" } llio = { path = "../llio" } rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [dev-dependencies] lazy_static = "1.4.0" diff --git a/services/spinor/src/lib.rs b/services/spinor/src/lib.rs index 7c0a46c8e..134ab8f0e 100644 --- a/services/spinor/src/lib.rs +++ b/services/spinor/src/lib.rs @@ -174,17 +174,25 @@ impl Spinor { // acquire a write lock on the unit #[cfg(not(test))] { - let response = send_message(self.conn, - Message::new_blocking_scalar(Opcode::AcquireExclusive.to_usize().unwrap(), - self.token[0] as usize, - self.token[1] as usize, - self.token[2] as usize, - self.token[3] as usize, - ) - ).expect("couldn't send AcquireExclusive message to Spinor hardware!"); - if let xous::Result::Scalar1(result) = response { - if result == 0 { - return Err(SpinorError::BusyTryAgain) + const RETRY_LIMIT: usize = 5; + for i in 0..RETRY_LIMIT { + let response = send_message(self.conn, + Message::new_blocking_scalar(Opcode::AcquireExclusive.to_usize().unwrap(), + self.token[0] as usize, + self.token[1] as usize, + self.token[2] as usize, + self.token[3] as usize, + ) + ).expect("couldn't send AcquireExclusive message to Spinor hardware!"); + if let xous::Result::Scalar1(result) = response { + if result == 0 { + if i == RETRY_LIMIT - 1 { + return Err(SpinorError::BusyTryAgain) + } + xous::yield_slice(); + } else { + break; + } } } } @@ -235,17 +243,25 @@ impl Spinor { // acquire a write lock on the unit #[cfg(not(test))] { - let response = send_message(self.conn, - Message::new_blocking_scalar(Opcode::AcquireExclusive.to_usize().unwrap(), - self.token[0] as usize, - self.token[1] as usize, - self.token[2] as usize, - self.token[3] as usize, - ) - ).expect("couldn't send AcquireExclusive message to Spinor hardware!"); - if let xous::Result::Scalar1(result) = response { - if result == 0 { - return Err(SpinorError::BusyTryAgain) + const RETRY_LIMIT: usize = 5; + for i in 0..RETRY_LIMIT { + let response = send_message(self.conn, + Message::new_blocking_scalar(Opcode::AcquireExclusive.to_usize().unwrap(), + self.token[0] as usize, + self.token[1] as usize, + self.token[2] as usize, + self.token[3] as usize, + ) + ).expect("couldn't send AcquireExclusive message to Spinor hardware!"); + if let xous::Result::Scalar1(result) = response { + if result == 0 { + if i == RETRY_LIMIT - 1 { + return Err(SpinorError::BusyTryAgain) + } + xous::yield_slice(); + } else { + break; + } } } } diff --git a/services/status/Cargo.toml b/services/status/Cargo.toml index e51294d57..4585a0507 100644 --- a/services/status/Cargo.toml +++ b/services/status/Cargo.toml @@ -10,17 +10,17 @@ version = "0.1.0" com = {path = "../com"} content-plugin-api = {path = "../content-plugin-api"} log = "0.4.14" -log-server = {package = "xous-api-log", version = "0.1.15"} -ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.14"} +log-server = {package = "xous-api-log", version = "0.1.18"} +ticktimer-server = {package = "xous-api-ticktimer", version = "0.9.18"} trng = {path = "../trng"} llio = {path = "../llio"} -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} graphics-server = {path = "../graphics-server"} gam = {path = "../gam"} locales = {path = "../../locales"} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} root-keys = {path = "../root-keys"} modals = {path = "../modals"} pddb = {path = "../pddb"} @@ -42,7 +42,7 @@ digest = "0.9.0" xous-semver = "0.1.2" com_rs-ref = {path = "../../imports/com_rs-ref"} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } crossbeam-utils = "0.8.12" # short circuit the datetime call on hosted mode diff --git a/services/status/locales/i18n.json b/services/status/locales/i18n.json index 1ee454d8e..6e1beb212 100644 --- a/services/status/locales/i18n.json +++ b/services/status/locales/i18n.json @@ -1,528 +1,619 @@ -{ - "suspend.fail": { - "ja": "中断不可能な操作が保留中です。 数秒後にスリープ リクエストを再試行してください。", - "en": "Uninterruptible operation pending. Please retry the sleep request in a couple seconds.", - "zh": "不间断操作挂起。 请在几秒钟后重试睡眠请求。", - "en-tts": "Uninterruptible operation pending. Please retry the sleep request in a couple seconds." - }, - "socup.candidate": { - "ja": "ゲートウェアの更新候補が見つかりました。\n\n適用する必要がありますか?", - "en": "An update candidate for the SoC was found.\n\nShould we apply it?\n\nNOTE: if you just installed an update, try rebooting using a paperclip in the hole in the lower right hand corner. This forces the latest image to load.", - "zh": "找到了网关软件的更新候选者。\n\n我们应该应用它吗?", - "en-tts": "An update candidate for the SoC was found.\n\nShould we apply it?\n\nNOTE: if you just installed an update, try rebooting using a paperclip in the hole in the lower right hand corner. This forces the latest image to load." - }, - "rekey.fail": { - "ja": "キーの再生成に失敗しました。再起動して再試行してください。\n理由:", - "en": "Rekey operation failed, please reboot and try again.\n Reason: ", - "zh": "重新生成密钥操作失败,请重新启动并重试。\n原因:", - "en-tts": "Rekey operation failed, please reboot and try again.\nReason: " - }, - "login.fail": { - "ja": "⚠ログインに {fails} 回失敗した後、システムが中断されました", - "en": "⚠System was suspended after {fails} failed login attempts.", - "zh": "⚠{fails}次登录尝试失败后系统被挂起", - "en-tts": "⚠System was suspended after {fails} failed login attempts." - }, - "socup.ignore": { - "ja": "この更新を無視する", - "en": "Ignore this update", - "zh": "忽略此更新", - "en-tts": "Ignore this update" - }, - "socup.unmount_fail": { - "ja": "PDDB をアンマウントできませんでした。\n操作は中止されました!", - "en": "Couldn't unmount PDDB.\nOperation aborted!", - "zh": "无法卸载 PDDB。\n操作中止!", - "en-tts": "Couldn't unmount PDDB.\nOperation aborted!" - }, - "backup.confirm": { - "ja": "PDDB とルート キーのバックアップの準備をしますか?\n\nプロセスは、いったん開始すると中止できません。", - "en": "Prepare for PDDB and root key backup?\n\nThe process cannot be aborted once started.", - "zh": "准备 PDDB 和根密钥备份吗?\n\n进程一旦启动就不能中止。", - "en-tts": "Prepare for PDDB and root key backup?\n\nThe process cannot be aborted once started." - }, - "ecup.invalid": { - "ja": "ECファームウェアパッケージが破損しているか無効です: ", - "en": "EC firmware package is corrupted or invalid: ", - "zh": "固件包已损坏或无效: ", - "en-tts": "EC firmware package is corrupted or invalid: " - }, - "ecup.abort": { - "ja": "エラーのため更新が中止されました! (EC)", - "en": "EC update aborted due to error!", - "zh": "更新因错误而中止!(EC)", - "en-tts": "EC update aborted due to error!" - }, - "ecup.erasing": { - "ja": "消去...", - "en": "EC Autoupdate\n\nErasing", - "zh": "擦除...", - "en-tts": "EC Autoupdate\n\nErasing" - }, - "ecup.writing": { - "ja": "書き込み...", - "en": "EC Autoupdate\n\nWriting", - "zh": "写作...", - "en-tts": "EC Autoupdate\n\nWriting" - }, - "ecup.update_applied": { - "ja": "USBロードのアップデートが適用されました.", - "en": "An EC update was successfully applied!", - "zh": "已应用 USB 加载更新.", - "en-tts": "An EC update was successfully applied!" - }, - "ecup.resetting": { - "ja": "ECのリセット", - "en": "Resetting EC...", - "zh": "重置 EC", - "en-tts": "Resetting EC..." - }, - "stats.measuring": { - "ja": "測定...", - "en": "Measuring...", - "zh": "进行测量...", - "en-tts": "Measuring..." - }, - "stats.disconnected": { - "ja": "接続不可", - "en": "Not connected", - "zh": "没有连接", - "en-tts": "Not connected" - }, - "stats.wifi_off": { - "ja": "WiFiオフ", - "en": "WiFi off", - "zh": "WiFi关闭", - "en-tts": "WiFi off" - }, - "stats.uptime": { - "translator-note": "This needs to be a very short string, 2 chars max. Trailing space is necessary for English due to proportional font.", - "ja": "稼働", - "en": "Up ", - "zh": "运行", - "en-tts": "Up" - }, - "stats.set_time": { - "ja": "設定時間", - "en": "Set Time", - "zh": "设置时间", - "en-tts": "Set Time" - }, - "stats.mount_pddb": { - "ja": " ", - "en": " ", - "zh": " ", - "en-tts": " " - }, - "stats.please_mount": { - "ja": "PDDBをマウントして、再試行してください。", - "en": "Please mount the PDDB and try again.", - "zh": "请挂载 PDDB 并重试。", - "en-tts": "Please mount the PDDB and try again." - }, - "secnote.zero_key": { - "en": " Backup key not set", - "ja": "Backupキーはゼロです", - "zh": "Backup 密钥为零", - "en-tts": "Backup key not set" - }, - "secnote.usb_unlock": { - "en": " USB unlocked", - "ja": "USBロック解除", - "zh": "USB解锁", - "en-tts": "USB unlocked" - }, - "secnote.gateware_fail": { - "en": " Gateware selfsig fail", - "ja": "Gateware selfsig 失敗", - "zh": "比特流签名失败", - "en-tts": "Gateware self signature failure" - }, - "secnote.state_fail": { - "en": " Invalid key state", - "ja": "無効なキー状態", - "zh": "无效的根密钥", - "en-tts": "Invalid key state" - }, - "secnote.no_keys": { - "en": " No device keys", - "ja": "ルートキーは未初期化", - "zh": "密钥未初始化", - "en-tts": "No device keys" - }, - "secnote.allclear": { - "en": " No security warnings", - "ja": "セキュリティ警告なし", - "zh": "没有警告", - "en-tts": "🔇" - }, - "secnote.startup": { - "en": " Starting up...", - "ja": "起動中...", - "zh": "现在开始...", - "en-tts": "🔇" - }, - "mainmenu.sleep": { - "en": "Sleep now", - "ja": "今睡眠", - "zh": "睡眠模式", - "en-tts": "Sleep now" - }, - "mainmenu.wifimenu": { - "en": "WiFi submenu...", - "en-tts": "WiFi submenu...", - "ja": "WiFiメニュー...", - "zh": "无线网络菜单..." - }, - "mainmenu.backlighton": { - "en": "Backlight on", - "ja": "バックライト点灯", - "zh": "背光开启", - "en-tts": "🔇" - }, - "mainmenu.backlightoff": { - "en": "Backlight off", - "ja": "バックライト消灯", - "zh": "背光关闭", - "en-tts": "🔇" - }, - "mainmenu.autobacklighton": { - "en": "Enable automatic backlight", - "ja": "自動バックライトを有効にする", - "zh": "启用自动背光", - "en-tts": "🔇" - }, - "mainmenu.autobacklightoff": { - "en": "Disable automatic backlight", - "ja": "自動バックライトを無効にする", - "zh": "禁用自动背光", - "en-tts": "🔇" - }, - "mainmenu.init_keys": { - "en": "Setup passwords...", - "ja": "ルートキーの初期化", - "zh": "设置根密码", - "en-tts": "Setup passwords..." - }, - "mainmenu.provision_gateware": { - "en": "Install gateware update", - "ja": "ゲートウェアアップデートをインストールする", - "zh": "安装比特流更新", - "en-tts": "Install gateware update" - }, - "mainmenu.selfsign": { - "en": "Sign Xous update", - "ja": "サインXousアップデート", - "zh": "数字签名Xous", - "en-tts": "Sign Xous update" - }, - "mainmenu.set_rtc": { - "en": "Set time", - "ja": "時間設定", - "zh": "设置时间", - "en-tts": "Set time" - }, - "mainmenu.set_tz": { - "en": "Set timezone", - "ja": "タイムゾーンを設定", - "zh": "设置本地时区", - "en-tts": "Set timezone" - }, - "mainmenu.pddb": { - "en": "PDDB submenu...", - "ja": "PDDBサブメニュー", - "zh": "PDDB子菜单", - "en-tts": "PDDB submenu..." - }, - "mainmenu.app": { - "en": "Switch to App...", - "ja": "アプリに切り替わる...", - "zh": "APP子菜单", - "en-tts": "Switch to app submenu" - }, - "mainmenu.kbd": { - "en": "Keyboard layout...", - "ja": "キーボード・レイアウト...", - "zh": "键盘布局...", - "en-tts": "Keyboard layout submenu" - }, - "mainmenu.battery_disconnect": { - "en": "Shutdown", - "ja": "シャットダウン", - "zh": "关闭", - "en-tts": "Shutdown" - }, - "mainmenu.shutdown_confirm": { - "en": "Confirm shutdown:\n🔌Device will reamin off until a charging cable is plugged in. Proceed?", - "ja": "シャットダウンの確認:\n🔌充電ケーブルが差し込まれるまで、デバイスはオフのままになります。続行しますか?", - "zh": "确认关机:\n🔌设备将保持关闭状态,直到插入充电线。继续?", - "en-tts": "Confirm shutdown:\n🔌Device will reamin off until a charging cable is plugged in. Proceed?" - }, - "mainmenu.reboot": { - "en": "Reboot", - "ja": "リブート", - "zh": "重启", - "en-tts": "Reboot" - }, - "mainmenu.lockdevice": { - "en": "Lock device", - "ja": "ロック装置", - "zh": "锁定装置", - "en-tts": "Lock device" - }, - "mainmenu.prep_backup": { - "en": "Prepare for backup...", - "ja": "バックアップの準備...", - "zh": "准备备份...", - "en-tts": "Prepare for backup..." - }, - "mainmenu.closemenu": { - "en": "Close menu", - "ja": "メニューを閉じる", - "zh": "关闭功能表", - "en-tts": "Close menu" - }, - "mainmenu.cant_sleep": { - "en": "Can't power off while charging", - "ja": "充電中は眠れません", - "zh": "充电时睡不着", - "en-tts": "Can't power off while charging" - }, - "appmenu.shellchat": { - "en": "Shellchat", - "ja": "Shellchat", - "zh": "外壳聊天", - "en-tts": "Shellchat" - }, - "wlan.turnon": { - "en": "Turn WiFi on", - "ja": "Wi-Fiをオンにする", - "zh": "打开wifi", - "en-tts": "Turn WiFi on" - }, - "wlan.turnoff": { - "en": "Turn WiFi off", - "ja": "Wi-Fiをオフにする", - "zh": "关闭无线网络", - "en-tts": "Turn WiFi off" - }, - "wlan.manual_add": { - "en": "Manually add a network", - "ja": "ネットワークを手動で追加する", - "zh": "手动添加网络", - "en-tts": "Manually add a network" - }, - "wlan.scan": { - "en": "Scan for networks", - "ja": "ネットワークのスキャン", - "zh": "扫描网络", - "en-tts": "Scan for networks" - }, - "wlan.status": { - "en": "Network status", - "ja": "ネットワークの状態", - "zh": "网络状态", - "en-tts": "Network status" - }, - "wlan.delete": { - "en": "Delete network", - "ja": "ネットワークを削除", - "zh": "删除网络", - "en-tts": "Delete network" - }, - "wlan.list_known": { - "en": "List known networks", - "ja": "既知のネットワークを一覧表示する", - "zh": "列出已知网络", - "en-tts": "List known networks" - }, - "wlan.ssid_entry": { - "en": "Fill in SSID and password:", - "ja": "SSID とパスワードを入力します:", - "zh": "填写SSID和密码:", - "en-tts": "Fill in SSID and password:" - }, - "wlan.ssid": { - "en": "[ SSID ]", - "ja": "[ SSID ]", - "zh": "[ SSID ]", - "en-tts": "[ SSID ]" - }, - "wlan.password": { - "en": "[ password ]", - "ja": "[ パスワード ]", - "zh": "[ 密码 ]", - "en-tts": "[ password ]" - }, - "wlan.no_networks": { - "en": "No networks available.", - "ja": "利用可能なネットワークがありません。", - "zh": "没有可用的网络。", - "en-tts": "No networks available." - }, - "wlan.ssid_choose": { - "en": "Choose a network:", - "ja": "ネットワークを選択してください:", - "zh": "选择网络:", - "en-tts": "Choose a network:" - }, - "wlan.ssid_password": { - "en": "Please enter the password for {ssid}:", - "ja": "{ssid} のパスワードを入力してください:", - "zh": "请输入 {ssid} 的密码:", - "en-tts": "Please enter the password for {ssid}:" - }, - "wlan.password_empty": { - "en": "Password field cannot be empty", - "ja": "パスワードを空にすることはできません", - "zh": "密码不能为空", - "en-tts": "Password field cannot be empty" - }, - "wlan.no_known_networks": { - "en": "No known networks.", - "ja": "既知のネットワークはありません。", - "zh": "没有已知的网络。", - "en-tts": "No known networks." - }, - "wlan.known_networks": { - "en": "Known networks:\n", - "ja": "既知のネットワーク:\n", - "zh": "已知网络:\n", - "en-tts": "Known networks:\n" - }, - "wlan.cancel": { - "en": "❌ Cancel request ❌", - "ja": "❌ キャンセル ❌", - "zh": "❌ 取消请求 ❌", - "en-tts": "Cancel the requested action" - }, - "wlan.choose_delete": { - "en": "Choose a network to delete:", - "ja": "削除するネットワークを選択してください:", - "zh": "选择要删除的网络:", - "en-tts": "Choose a network to delete:" - }, - "wlan.error": { - "en": "Error", - "ja": "エラー", - "zh": "错误", - "en-tts": "Error" - }, - "rtc.try_ntp": { - "en": "Attempt to automatically set time with NTP?", - "ja": "NTPで時間を設定しようとしますか?", - "zh": "尝试用 NTP 设置时间?", - "en-tts": "Attempt to automatically set time with NTP?" - }, - "rtc.ntp_fail": { - "en": "NTP query failed, please enter time manually.", - "ja": "NTPクエリが失敗しました。時間を手動で入力してください。", - "zh": "NTP 查询失败,请手动输入时间。", - "en-tts": "NTP query failed, please enter time manually." - }, - "rtc.set_time_modal": { - "en": "Enter time" - }, - "rtc.month": { - "en": "Month (1-12)", - "ja": "月(1-12)を入力してください。", - "zh": "输入月份 (1-12)", - "en-tts": "Enter month one through twelve" - }, - "rtc.day": { - "en": "Day (1-31)", - "ja": "日数 (1-31) を入力してください。", - "zh": "输入日期 (1-31)", - "en-tts": "Enter day one through 31" - }, - "rtc.year": { - "en": "Last two digits of year", - "ja": "西暦の下2桁を入力してください。", - "zh": "输入年份 (最后两位数)", - "en-tts": "Enter last two digits of year" - }, - "rtc.hour": { - "en": "Hours in local timezone (0-23)", - "ja": "時間(0-23)を入力してください。", - "zh": "输入小时 (0-23)", - "en-tts": "Enter hours for local timezone as 24 hour format" - }, - "rtc.minute": { - "en": "Minutes (0-59)", - "ja": "分(0-59)を入力してください。", - "zh": "输入分钟 (0-59)", - "en-tts": "Enter minutes" - }, - "rtc.seconds": { - "en": "Seconds (0-59)", - "ja": "秒 (0-59) を入力してください。", - "zh": "输入秒数 (0-59)", - "en-tts": "Enter seconds" - }, - "rtc.day_of_week": { - "en": "Select the day of week", - "ja": "曜日を選択してください。", - "zh": "[星期几]清单框", - "en-tts": "Select the day of week" - }, - "rtc.monday": { - "en": "Monday", - "ja": "月曜日", - "zh": "星期一", - "en-tts": "Monday" - }, - "rtc.tuesday": { - "en": "Tuesday", - "ja": "火曜日", - "zh": "星期二", - "en-tts": "Tuesday" - }, - "rtc.wednesday": { - "en": "Wednesday", - "ja": "水曜日", - "zh": "星期三", - "en-tts": "Wednesday" - }, - "rtc.thursday": { - "en": "Thursday", - "ja": "木曜日", - "zh": "星期四", - "en-tts": "Thursday" - }, - "rtc.friday": { - "en": "Friday", - "ja": "金曜日", - "zh": "星期五", - "en-tts": "Friday" - }, - "rtc.saturday": { - "en": "Saturday", - "ja": "土曜日", - "zh": "星期六", - "en-tts": "Saturday" - }, - "rtc.sunday": { - "en": "Sunday", - "ja": "日曜日", - "zh": "星期日", - "en-tts": "Sunday" - }, - "rtc.timezone": { - "en": "Please enter your local offset from UTC in hours (-12.0 to +14.0 hours).\nNote: Precursor does not yet track daylight savings.", - "ja": "UTCからのローカルオフセットを時間単位で入力してください(-12.0〜 + 14.0時間):", - "zh": "请以小时为单位输入您与 UTC 的本地偏移量(-12.0 到 +14.0 小时):", - "en-tts": "Please enter your local offset from UTC in hours (-12.0 to +14.0 hours):" - }, - "rtc.integer_err": { - "en": "Error: entry was not numeric", - "ja": "エラー:エントリは数値ではありませんでした。", - "zh": "错误:输入不是数字", - "en-tts": "Error: entry was not numeric" - }, - "rtc.range_err": { - "en": "Error: input out of range", - "ja": "エラー:入力が範囲外です。", - "zh": "错误:输入超出范围", - "en-tts": "Error: input out of range" - } -} \ No newline at end of file +{ + "appmenu.shellchat": { + "en": "Shellchat", + "en-tts": "Shellchat", + "fr": "Shellchat", + "ja": "Shellchat", + "zh": "外壳聊天" + }, + "backup.confirm": { + "en": "Prepare for PDDB and root key backup?\n\nThe process cannot be aborted once started.", + "en-tts": "Prepare for PDDB and root key backup?\n\nThe process cannot be aborted once started.", + "fr": "Préparez-vous pour la sauvegarde de PDDB et de la clé racine?\n\nLe processus ne peut pas être abandonné une fois lancé.", + "ja": "PDDB とルート キーのバックアップの準備をしますか?\n\nプロセスは、いったん開始すると中止できません。", + "zh": "准备 PDDB 和根密钥备份吗?\n\n进程一旦启动就不能中止。" + }, + "ecup.abort": { + "en": "EC update aborted due to error!", + "en-tts": "EC update aborted due to error!", + "fr": "Mise à jour EC annulée en raison d’une erreur!", + "ja": "エラーのため更新が中止されました! (EC)", + "zh": "更新因错误而中止!(EC)" + }, + "ecup.erasing": { + "en": "EC Autoupdate\n\nErasing", + "en-tts": "EC Autoupdate\n\nErasing", + "fr": "EC mise à jour automatique\n\nEffacement", + "ja": "消去...", + "zh": "擦除..." + }, + "ecup.invalid": { + "en": "EC firmware package is corrupted or invalid: ", + "en-tts": "EC firmware package is corrupted or invalid: ", + "fr": "Le firmware d’EC est corrompu ou invalide: ", + "ja": "ECファームウェアパッケージが破損しているか無効です: ", + "zh": "固件包已损坏或无效: " + }, + "ecup.resetting": { + "en": "Resetting EC...", + "en-tts": "Resetting EC...", + "fr": "Réinitialisation EC...", + "ja": "ECのリセット", + "zh": "重置 EC" + }, + "ecup.update_applied": { + "en": "An EC update was successfully applied!", + "en-tts": "An EC update was successfully applied!", + "fr": "Une mise à jour d’EC a été appliquée avec succès!", + "ja": "USBロードのアップデートが適用されました.", + "zh": "已应用 USB 加载更新." + }, + "ecup.writing": { + "en": "EC Autoupdate\n\nWriting", + "en-tts": "EC Autoupdate\n\nWriting", + "fr": "EC mise à jour automatique\n\nÉcriture", + "ja": "書き込み...", + "zh": "写作..." + }, + "login.fail": { + "en": "⚠System was suspended after {fails} failed login attempts.", + "en-tts": "⚠System was suspended after {fails} failed login attempts.", + "fr": "⚠Le système a été suspendu après que {fails} tentatives d’authentication.", + "ja": "⚠ログインに {fails} 回失敗した後、システムが中断されました", + "zh": "⚠{fails}次登录尝试失败后系统被挂起" + }, + "mainmenu.app": { + "en": "Switch to App...", + "en-tts": "Switch to app submenu", + "fr": "Passer à l’application...", + "ja": "アプリに切り替わる...", + "zh": "APP子菜单" + }, + "mainmenu.autobacklightoff": { + "en": "Disable automatic backlight", + "en-tts": "🔇", + "fr": "Désactiver le rétroéclairage automatique", + "ja": "自動バックライトを無効にする", + "zh": "禁用自动背光" + }, + "mainmenu.autobacklighton": { + "en": "Enable automatic backlight", + "en-tts": "🔇", + "fr": "Activer le rétroéclairage automatique", + "ja": "自動バックライトを有効にする", + "zh": "启用自动背光" + }, + "mainmenu.backlightoff": { + "en": "Backlight off", + "en-tts": "🔇", + "fr": "Rétroéclairage éteint", + "ja": "バックライト消灯", + "zh": "背光关闭" + }, + "mainmenu.backlighton": { + "en": "Backlight on", + "en-tts": "🔇", + "fr": "Rétroéclairage allumée", + "ja": "バックライト点灯", + "zh": "背光开启" + }, + "mainmenu.battery_disconnect": { + "en": "Shutdown", + "en-tts": "Shutdown", + "fr": "Arrêt", + "ja": "シャットダウン", + "zh": "关闭" + }, + "mainmenu.cant_sleep": { + "en": "Can't power off while charging", + "en-tts": "Can't power off while charging", + "fr": "Impossible d’éteindre pendant la charge", + "ja": "充電中は眠れません", + "zh": "充电时睡不着" + }, + "mainmenu.closemenu": { + "en": "Close menu", + "en-tts": "Close menu", + "fr": "Fermer le menu", + "ja": "メニューを閉じる", + "zh": "关闭功能表" + }, + "mainmenu.init_keys": { + "en": "Setup passwords...", + "en-tts": "Setup passwords...", + "fr": "Configurer les mots de passe...", + "ja": "ルートキーの初期化", + "zh": "设置根密码" + }, + "mainmenu.kbd": { + "en": "Keyboard layout...", + "en-tts": "Keyboard layout submenu", + "fr": "Disposition du clavier...", + "ja": "キーボード・レイアウト...", + "zh": "键盘布局..." + }, + "mainmenu.lockdevice": { + "en": "Lock device", + "en-tts": "Lock device", + "fr": "Verrouiller l'appareil", + "ja": "ロック装置", + "zh": "锁定装置" + }, + "mainmenu.pddb": { + "en": "PDDB submenu...", + "en-tts": "PDDB submenu...", + "fr": "Sous-menu PDDB...", + "ja": "PDDBサブメニュー", + "zh": "PDDB子菜单" + }, + "mainmenu.prep_backup": { + "en": "Prepare for backup...", + "en-tts": "Prepare for backup...", + "fr": "Préparer la sauvegarde...", + "ja": "バックアップの準備...", + "zh": "准备备份..." + }, + "mainmenu.provision_gateware": { + "en": "Install gateware update", + "en-tts": "Install gateware update", + "fr": "Installer la mise à jour du gateware", + "ja": "ゲートウェアアップデートをインストールする", + "zh": "安装比特流更新" + }, + "mainmenu.reboot": { + "en": "Reboot", + "en-tts": "Reboot", + "fr": "Redémarrer", + "ja": "リブート", + "zh": "重启" + }, + "mainmenu.selfsign": { + "en": "Sign Xous update", + "en-tts": "Sign Xous update", + "fr": "Signer la mise à jour de Xous", + "ja": "サインXousアップデート", + "zh": "数字签名Xous" + }, + "mainmenu.set_rtc": { + "en": "Set time", + "en-tts": "Set time", + "fr": "Régler l’heure", + "ja": "時間設定", + "zh": "设置时间" + }, + "mainmenu.set_tz": { + "en": "Set timezone", + "en-tts": "Set timezone", + "fr": "Régler le fuseau horaire", + "ja": "タイムゾーンを設定", + "zh": "设置本地时区" + }, + "mainmenu.shutdown_confirm": { + "en": "Confirm shutdown:\n🔌Device will reamin off until a charging cable is plugged in. Proceed?", + "en-tts": "Confirm shutdown:\n🔌Device will reamin off until a charging cable is plugged in. Proceed?", + "fr": "Confirmez l’arrêt:\n🔌L’appareil s’éteindra jusqu’à ce qu’un câble de charge soit branché. Continuez?", + "ja": "シャットダウンの確認:\n🔌充電ケーブルが差し込まれるまで、デバイスはオフのままになります。続行しますか?", + "zh": "确认关机:\n🔌设备将保持关闭状态,直到插入充电线。继续?" + }, + "mainmenu.sleep": { + "en": "Sleep now", + "en-tts": "Sleep now", + "fr": "Dormir maintenant", + "ja": "今睡眠", + "zh": "睡眠模式" + }, + "mainmenu.wifimenu": { + "en": "WiFi submenu...", + "en-tts": "WiFi submenu...", + "fr": "Sous-menu WiFi...", + "ja": "WiFiメニュー...", + "zh": "无线网络菜单..." + }, + "rekey.fail": { + "en": "Rekey operation failed, please reboot and try again.\n Reason: ", + "en-tts": "Rekey operation failed, please reboot and try again.\nReason: ", + "fr": "Échec de l’opération de remise de clé, veuillez redémarrer et réessayer.\nRaison: ", + "ja": "キーの再生成に失敗しました。再起動して再試行してください。\n理由:", + "zh": "重新生成密钥操作失败,请重新启动并重试。\n原因:" + }, + "rtc.day": { + "en": "Day (1-31)", + "en-tts": "Enter day one through 31", + "fr": "Jour (1-31)", + "ja": "日数 (1-31) を入力してください。", + "zh": "输入日期 (1-31)" + }, + "rtc.day_of_week": { + "en": "Select the day of week", + "en-tts": "Select the day of week", + "fr": "Sélectionnez le jour de la semaine", + "ja": "曜日を選択してください。", + "zh": "[星期几]清单框" + }, + "rtc.friday": { + "en": "Friday", + "en-tts": "Friday", + "fr": "Vendredi", + "ja": "金曜日", + "zh": "星期五" + }, + "rtc.hour": { + "en": "Hours in local timezone (0-23)", + "en-tts": "Enter hours for local timezone as 24 hour format", + "fr": "Heures dans le fuseau horaire local (0-23)", + "ja": "時間(0-23)を入力してください。", + "zh": "输入小时 (0-23)" + }, + "rtc.integer_err": { + "en": "Error: entry was not numeric", + "en-tts": "Error: entry was not numeric", + "fr": "Erreur : l’entrée n’était pas numérique", + "ja": "エラー:エントリは数値ではありませんでした。", + "zh": "错误:输入不是数字" + }, + "rtc.minute": { + "en": "Minutes (0-59)", + "en-tts": "Enter minutes", + "fr": "Minutes (0-59)", + "ja": "分(0-59)を入力してください。", + "zh": "输入分钟 (0-59)" + }, + "rtc.monday": { + "en": "Monday", + "en-tts": "Monday", + "fr": "Lundi", + "ja": "月曜日", + "zh": "星期一" + }, + "rtc.month": { + "en": "Month (1-12)", + "en-tts": "Enter month one through twelve", + "fr": "Mois (1-12)", + "ja": "月(1-12)を入力してください。", + "zh": "输入月份 (1-12)" + }, + "rtc.ntp_fail": { + "en": "NTP query failed, please enter time manually.", + "en-tts": "NTP query failed, please enter time manually.", + "fr": "La requête NTP a échoué, veuillez entrer l’heure manuellement.", + "ja": "NTPクエリが失敗しました。時間を手動で入力してください。", + "zh": "NTP 查询失败,请手动输入时间。" + }, + "rtc.range_err": { + "en": "Error: input out of range", + "en-tts": "Error: input out of range", + "fr": "Erreur: saisir hors plage", + "ja": "エラー:入力が範囲外です。", + "zh": "错误:输入超出范围" + }, + "rtc.saturday": { + "en": "Saturday", + "en-tts": "Saturday", + "fr": "Samedi", + "ja": "土曜日", + "zh": "星期六" + }, + "rtc.seconds": { + "en": "Seconds (0-59)", + "en-tts": "Enter seconds", + "fr": "Seconds (0-59)", + "ja": "秒 (0-59) を入力してください。", + "zh": "输入秒数 (0-59)" + }, + "rtc.set_time_modal": { + "en": "Enter time", + "en-tts": "Enter time", + "fr": "Entrez l’heure", + "ja": "Enter time *EN*", + "zh": "Enter time *EN*" + }, + "rtc.sunday": { + "en": "Sunday", + "en-tts": "Sunday", + "fr": "Dimanche", + "ja": "日曜日", + "zh": "星期日" + }, + "rtc.thursday": { + "en": "Thursday", + "en-tts": "Thursday", + "fr": "Jeudi", + "ja": "木曜日", + "zh": "星期四" + }, + "rtc.timezone": { + "en": "Please enter your local offset from UTC in hours (-12.0 to +14.0 hours).\nNote: Precursor does not yet track daylight savings.", + "en-tts": "Please enter your local offset from UTC in hours (-12.0 to +14.0 hours):", + "fr": "Veuillez entrer votre décalage local en UTC en heures (-12,0 à +14,0 heures).\nRemarque: Precursor ne suit pas encore l’heure d'été.", + "ja": "UTCからのローカルオフセットを時間単位で入力してください(-12.0〜 + 14.0時間):", + "zh": "请以小时为单位输入您与 UTC 的本地偏移量(-12.0 到 +14.0 小时):" + }, + "rtc.try_ntp": { + "en": "Attempt to automatically set time with NTP?", + "en-tts": "Attempt to automatically set time with NTP?", + "fr": "Tentez-vous de régler automatiquement l’heure avec NTP?", + "ja": "NTPで時間を設定しようとしますか?", + "zh": "尝试用 NTP 设置时间?" + }, + "rtc.tuesday": { + "en": "Tuesday", + "en-tts": "Tuesday", + "fr": "Mardi", + "ja": "火曜日", + "zh": "星期二" + }, + "rtc.wednesday": { + "en": "Wednesday", + "en-tts": "Wednesday", + "fr": "Mercredi", + "ja": "水曜日", + "zh": "星期三" + }, + "rtc.year": { + "en": "Last two digits of year", + "en-tts": "Enter last two digits of year", + "fr": "Deux derniers chiffres de l’année", + "ja": "西暦の下2桁を入力してください。", + "zh": "输入年份 (最后两位数)" + }, + "secnote.allclear": { + "en": " No security warnings", + "en-tts": "🔇", + "fr": " Aucun avertissement de sécurité", + "ja": "セキュリティ警告なし", + "zh": "没有警告" + }, + "secnote.gateware_fail": { + "en": " Gateware selfsig fail", + "en-tts": "Gateware self signature failure", + "fr": " Échec d’auto-signature de gateware", + "ja": "Gateware selfsig 失敗", + "zh": "比特流签名失败" + }, + "secnote.no_keys": { + "en": " No device keys", + "en-tts": "No device keys", + "fr": " Pas de clés d'appareil", + "ja": "ルートキーは未初期化", + "zh": "密钥未初始化" + }, + "secnote.startup": { + "en": " Starting up...", + "en-tts": "🔇", + "fr": " Démarrage...", + "ja": "起動中...", + "zh": "现在开始..." + }, + "secnote.state_fail": { + "en": " Invalid key state", + "en-tts": "Invalid key state", + "fr": " État de la clé non valide", + "ja": "無効なキー状態", + "zh": "无效的根密钥" + }, + "secnote.usb_unlock": { + "en": " USB unlocked", + "en-tts": "USB unlocked", + "fr": " USB déverrouillé", + "ja": "USBロック解除", + "zh": "USB解锁" + }, + "secnote.zero_key": { + "en": " Backup key not set", + "en-tts": "Backup key not set", + "fr": " Clé de sauvegarde non définie", + "ja": "Backupキーはゼロです", + "zh": "Backup 密钥为零" + }, + "socup.candidate": { + "en": "An update candidate for the SoC was found.\n\nShould we apply it?\n\nNOTE: if you just installed an update, try rebooting using a paperclip in the hole in the lower right hand corner. This forces the latest image to load.", + "en-tts": "An update candidate for the SoC was found.\n\nShould we apply it?\n\nNOTE: if you just installed an update, try rebooting using a paperclip in the hole in the lower right hand corner. This forces the latest image to load.", + "fr": "On a trouvé un candidat à la mise à jour de la SoC.\n\nVoulez-vous l’appliquer?\n\nRemarque: si vous venez d’installer une mise à jour, essayez de redémarrer à l’aide d’un trombone dans le trou en bas à droite. Cela force le chargement de la dernière image.", + "ja": "ゲートウェアの更新候補が見つかりました。\n\n適用する必要がありますか?", + "zh": "找到了网关软件的更新候选者。\n\n我们应该应用它吗?" + }, + "socup.ignore": { + "en": "Ignore this update", + "en-tts": "Ignore this update", + "fr": "Ignorer cette mise à jour", + "ja": "この更新を無視する", + "zh": "忽略此更新" + }, + "socup.unmount_fail": { + "en": "Couldn't unmount PDDB.\nOperation aborted!", + "en-tts": "Couldn't unmount PDDB.\nOperation aborted!", + "fr": "Impossible de démonter le PDDB.\nOpération abandonnée!", + "ja": "PDDB をアンマウントできませんでした。\n操作は中止されました!", + "zh": "无法卸载 PDDB。\n操作中止!" + }, + "stats.disconnected": { + "en": "Not connected", + "en-tts": "Not connected", + "fr": "Pas connecté", + "ja": "接続不可", + "zh": "没有连接" + }, + "stats.measuring": { + "en": "Measuring...", + "en-tts": "Measuring...", + "fr": "Mesure...", + "ja": "測定...", + "zh": "进行测量..." + }, + "stats.mount_pddb": { + "en": " ", + "en-tts": " ", + "fr": "", + "ja": " ", + "zh": " " + }, + "stats.please_mount": { + "en": "Please mount the PDDB and try again.", + "en-tts": "Please mount the PDDB and try again.", + "fr": "Veuillez monter le PDDB et réessayer.", + "ja": "PDDBをマウントして、再試行してください。", + "zh": "请挂载 PDDB 并重试。" + }, + "stats.set_time": { + "en": "Set Time", + "en-tts": "Set Time", + "fr": "Régler l’heure", + "ja": "設定時間", + "zh": "设置时间" + }, + "stats.uptime": { + "en": "Up ", + "en-tts": "Up", + "fr": "Haut ", + "ja": "稼働", + "translator-note": "This needs to be a very short string, 2 chars max. Trailing space is necessary for English due to proportional font.", + "zh": "运行" + }, + "stats.wifi_off": { + "en": "WiFi off", + "en-tts": "WiFi off", + "fr": "WiFi éteint", + "ja": "WiFiオフ", + "zh": "WiFi关闭" + }, + "suspend.fail": { + "en": "Uninterruptible operation pending. Please retry the sleep request in a couple seconds.", + "en-tts": "Uninterruptible operation pending. Please retry the sleep request in a couple seconds.", + "fr": "Fonctionnement ininterrompu en attente. Veuillez réessayer la demande de sommeil dans quelques secondes.", + "ja": "中断不可能な操作が保留中です。 数秒後にスリープ リクエストを再試行してください。", + "zh": "不间断操作挂起。 请在几秒钟后重试睡眠请求。" + }, + "wlan.cancel": { + "en": "❌ Cancel request ❌", + "en-tts": "Cancel the requested action", + "fr": "❌ Annulation de demande ❌", + "ja": "❌ キャンセル ❌", + "zh": "❌ 取消请求 ❌" + }, + "wlan.choose_delete": { + "en": "Choose a network to delete:", + "en-tts": "Choose a network to delete:", + "fr": "Choisissez un réseau à supprimer:", + "ja": "削除するネットワークを選択してください:", + "zh": "选择要删除的网络:" + }, + "wlan.delete": { + "en": "Delete network", + "en-tts": "Delete network", + "fr": "Supprimer réseau", + "ja": "ネットワークを削除", + "zh": "删除网络" + }, + "wlan.error": { + "en": "Error", + "en-tts": "Error", + "fr": "Erreur", + "ja": "エラー", + "zh": "错误" + }, + "wlan.known_networks": { + "en": "Known networks:\n", + "en-tts": "Known networks:\n", + "fr": "Réseaux connus:\n", + "ja": "既知のネットワーク:\n", + "zh": "已知网络:\n" + }, + "wlan.list_known": { + "en": "List known networks", + "en-tts": "List known networks", + "fr": "Lister les réseaux connus", + "ja": "既知のネットワークを一覧表示する", + "zh": "列出已知网络" + }, + "wlan.manual_add": { + "en": "Manually add a network", + "en-tts": "Manually add a network", + "fr": "Ajouter manuellement un réseau", + "ja": "ネットワークを手動で追加する", + "zh": "手动添加网络" + }, + "wlan.no_known_networks": { + "en": "No known networks.", + "en-tts": "No known networks.", + "fr": "Aucun réseau connu", + "ja": "既知のネットワークはありません。", + "zh": "没有已知的网络。" + }, + "wlan.no_networks": { + "en": "No networks available.", + "en-tts": "No networks available.", + "fr": "Aucun réseau disponible", + "ja": "利用可能なネットワークがありません。", + "zh": "没有可用的网络。" + }, + "wlan.password": { + "en": "[ password ]", + "en-tts": "[ password ]", + "fr": "[ mot de passe ]", + "ja": "[ パスワード ]", + "zh": "[ 密码 ]" + }, + "wlan.password_empty": { + "en": "Password field cannot be empty", + "en-tts": "Password field cannot be empty", + "fr": "Le champ mot de passe ne peut pas être vide", + "ja": "パスワードを空にすることはできません", + "zh": "密码不能为空" + }, + "wlan.scan": { + "en": "Scan for networks", + "en-tts": "Scan for networks", + "fr": "Recherche de réseaux", + "ja": "ネットワークのスキャン", + "zh": "扫描网络" + }, + "wlan.ssid": { + "en": "[ SSID ]", + "en-tts": "[ SSID ]", + "fr": "[ SSID ]", + "ja": "[ SSID ]", + "zh": "[ SSID ]" + }, + "wlan.ssid_choose": { + "en": "Choose a network:", + "en-tts": "Choose a network:", + "fr": "Choisissez un réseau:", + "ja": "ネットワークを選択してください:", + "zh": "选择网络:" + }, + "wlan.ssid_entry": { + "en": "Fill in SSID and password:", + "en-tts": "Fill in SSID and password:", + "fr": "Remplissez le SSID et le mot de passe:", + "ja": "SSID とパスワードを入力します:", + "zh": "填写SSID和密码:" + }, + "wlan.ssid_password": { + "en": "Please enter the password for {ssid}:", + "en-tts": "Please enter the password for {ssid}:", + "fr": "Veuillez entrer le mot de passe de {ssid}:", + "ja": "{ssid} のパスワードを入力してください:", + "zh": "请输入 {ssid} 的密码:" + }, + "wlan.status": { + "en": "Network status", + "en-tts": "Network status", + "fr": "État du réseau", + "ja": "ネットワークの状態", + "zh": "网络状态" + }, + "wlan.turnoff": { + "en": "Turn WiFi off", + "en-tts": "Turn WiFi off", + "fr": "Désactiver le WiFi", + "ja": "Wi-Fiをオフにする", + "zh": "关闭无线网络" + }, + "wlan.turnon": { + "en": "Turn WiFi on", + "en-tts": "Turn WiFi on", + "fr": "Activer le WiFi", + "ja": "Wi-Fiをオンにする", + "zh": "打开wifi" + } +} diff --git a/services/status/src/ecup.rs b/services/status/src/ecup.rs index 6f5ca4bdf..e89121ac0 100644 --- a/services/status/src/ecup.rs +++ b/services/status/src/ecup.rs @@ -97,65 +97,75 @@ pub(crate) fn ecupdate_thread(sid: xous::SID) { match FromPrimitive::from_usize(msg.body.id()) { #[cfg(feature="dbg-ecupdate")] Some(UpdateOp::UpdateGateware) => { // blocking scalar - netmgr.connection_manager_stop().unwrap(); - com.wlan_leave().ok(); - ticktimer.sleep_ms(4000).unwrap(); // give a few seconds for any packets/updates to clear so we don't tigger panics as the EC is about to disappear... - let package = unsafe{ core::slice::from_raw_parts(ec_package.as_ptr() as *const u8, xous::EC_FW_PKG_LEN as usize)}; if !validate_package(package,PackageType::Ec) { log::error!("firmware package did not pass validation"); modals.show_notification( &format!("{} gateware", t!("ecup.invalid", xous::LANG)), None).unwrap(); } else { + log::info!("updating GW"); + netmgr.connection_manager_stop().ok(); + llio.com_event_enable(false).ok(); susres.set_suspendable(false).unwrap(); // block suspend/resume operations - do_update(&mut com, &modals, package, CTRL_PAGE_LEN, EC_GATEWARE_BASE, EC_GATEWARE_LEN, "gateware"); + if !do_update(&mut com, &modals, package, CTRL_PAGE_LEN, EC_GATEWARE_BASE, + EC_GATEWARE_LEN, + "gateware") { + xous::return_scalar(msg.sender, UpdateResult::Abort.to_usize().unwrap()).unwrap(); + continue; + } susres.set_suspendable(true).unwrap(); // resume suspend/resume operations } xous::return_scalar(msg.sender, 0).unwrap(); }, #[cfg(feature="dbg-ecupdate")] Some(UpdateOp::UpdateFirmware) => { // blocking scalar - netmgr.connection_manager_stop().unwrap(); - com.wlan_leave().ok(); - ticktimer.sleep_ms(4000).unwrap(); // give a few seconds for any packets/updates to clear so we don't tigger panics as the EC is about to disappear... - let package = unsafe{ core::slice::from_raw_parts(ec_package.as_ptr() as *const u8, xous::EC_FW_PKG_LEN as usize)}; - let mut temp: [u8; 4] = Default::default(); - temp.copy_from_slice(&package[0x28..0x2c]); - let length = u32::from_le_bytes(temp); // total length of package - if !validate_package(package,PackageType::Ec) { log::error!("firmware package did not pass validation"); modals.show_notification( &format!("{} firmware", t!("ecup.invalid", xous::LANG)), None).unwrap(); } else { + let length = u32::from_le_bytes(package[0x28..0x2c].try_into().unwrap()); + if length == 0xffff_ffff { // nothing was staged at all + xous::return_scalar(msg.sender, UpdateResult::PackageInvalid.to_usize().unwrap()).unwrap(); + continue; + } + log::info!("updating FW"); + netmgr.connection_manager_stop().unwrap(); + llio.com_event_enable(false).ok(); susres.set_suspendable(false).unwrap(); // block suspend/resume operations - do_update(&mut com, &modals, package, EC_GATEWARE_LEN + CTRL_PAGE_LEN, - EC_FIRMWARE_BASE, length - (EC_GATEWARE_LEN), "firmware"); + if !do_update(&mut com, &modals, package, EC_GATEWARE_LEN + CTRL_PAGE_LEN, + EC_FIRMWARE_BASE, length - (EC_GATEWARE_LEN), + "firmware") { + xous::return_scalar(msg.sender, UpdateResult::Abort.to_usize().unwrap()).unwrap(); + continue; + } susres.set_suspendable(true).unwrap(); // resume suspend/resume operations } xous::return_scalar(msg.sender, 0).unwrap(); }, #[cfg(feature="dbg-ecupdate")] Some(UpdateOp::UpdateWf200) => { // blocking scalar - netmgr.connection_manager_stop().unwrap(); - com.wlan_leave().ok(); - ticktimer.sleep_ms(4000).unwrap(); // give a few seconds for any packets/updates to clear so we don't tigger panics as the EC is about to disappear... - let package = unsafe{ core::slice::from_raw_parts(wf_package.as_ptr() as *const u8, xous::EC_WF200_PKG_LEN as usize)}; - let mut temp: [u8; 4] = Default::default(); - temp.copy_from_slice(&package[0x28..0x2c]); - let length = u32::from_le_bytes(temp); // total length of package - - if !validate_package(package,PackageType::Wf200) { - log::error!("WF200 firmware package did not pass validation"); - modals.show_notification( - &format!("{} wf200", t!("ecup.invalid", xous::LANG)), None).unwrap(); - } else { + if validate_package(package,PackageType::Wf200) { + log::info!("updating Wf200"); + netmgr.connection_manager_stop().unwrap(); + llio.com_event_enable(false).ok(); + let length = u32::from_le_bytes(package[0x28..0x2c].try_into().unwrap()); susres.set_suspendable(false).unwrap(); // block suspend/resume operations - do_update(&mut com, &modals, package, CTRL_PAGE_LEN, - WF200_FIRMWARE_BASE, length, "wf200"); + if !do_update(&mut com, &modals, package, CTRL_PAGE_LEN, + WF200_FIRMWARE_BASE, length, + "WF200") { + xous::return_scalar(msg.sender, UpdateResult::Abort.to_usize().unwrap()).unwrap(); + continue; + } susres.set_suspendable(true).unwrap(); // resume suspend/resume operations + } else { + log::error!("wf200 package did not pass validation"); + modals.show_notification( + &format!("{} WF200", t!("ecup.invalid", xous::LANG)), None).unwrap(); + xous::return_scalar(msg.sender, UpdateResult::PackageInvalid.to_usize().unwrap()).unwrap(); + continue; } xous::return_scalar(msg.sender, 0).unwrap(); diff --git a/services/status/src/main.rs b/services/status/src/main.rs index 3aad08155..c064ebf3b 100644 --- a/services/status/src/main.rs +++ b/services/status/src/main.rs @@ -691,8 +691,12 @@ fn wrapped_main() -> ! { // spawn a thread to auto-mount the PDDB let _ = thread::spawn({ move || { + let xns = xous_names::XousNames::new().unwrap(); let tt = ticktimer_server::Ticktimer::new().unwrap(); - tt.sleep_ms(2000).unwrap(); // a brief pause, to allow the other startup bits to finish running + let gam = gam::Gam::new(&xns).unwrap(); + while !gam.trusted_init_done().unwrap() { + tt.sleep_ms(100).ok(); + } loop { let (no_retry_failure, count) = pddb::Pddb::new().try_mount(); if no_retry_failure { @@ -700,7 +704,6 @@ fn wrapped_main() -> ! { break; } else { // this indicates system was guttered due to a retry failure - let xns = xous_names::XousNames::new().unwrap(); let susres = susres::Susres::new_without_hook(&xns).unwrap(); let llio = llio::Llio::new(&xns); if ((llio.adc_vbus().unwrap() as u32) * 503) < 150_000 { diff --git a/services/test-spawn/Cargo.toml b/services/test-spawn/Cargo.toml index ab5bd1d99..bc8c60359 100644 --- a/services/test-spawn/Cargo.toml +++ b/services/test-spawn/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -xous = "0.9.21" +xous = "0.9.24" diff --git a/services/test-spawn/spawn/Cargo.toml b/services/test-spawn/spawn/Cargo.toml index dbd73c57c..ca812a2a0 100644 --- a/services/test-spawn/spawn/Cargo.toml +++ b/services/test-spawn/spawn/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -xous = "0.9.21" +xous = "0.9.24" diff --git a/services/trng/Cargo.toml b/services/trng/Cargo.toml index 5b13068db..b7d521705 100644 --- a/services/trng/Cargo.toml +++ b/services/trng/Cargo.toml @@ -7,18 +7,18 @@ description = "TRNG server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -xous-ipc = "0.9.21" +xous-ipc = "0.9.24" -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [target.'cfg(any(windows,unix))'.dependencies] rand = "0.8.5" diff --git a/services/tts/Cargo.toml b/services/tts/Cargo.toml index eb2d9a77e..2e9990afc 100644 --- a/services/tts/Cargo.toml +++ b/services/tts/Cargo.toml @@ -7,11 +7,11 @@ description = "Text to speech integration server" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} @@ -20,7 +20,7 @@ rkyv = {version = "0.4.3", default-features = false, features = ["const_generics xous-tts-backend = "0.1.4" codec = {path = "../codec"} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/usb-device-xous/Cargo.toml b/services/usb-device-xous/Cargo.toml index 2e8552ba2..038f66e63 100644 --- a/services/usb-device-xous/Cargo.toml +++ b/services/usb-device-xous/Cargo.toml @@ -7,23 +7,23 @@ description = "Xous USB device drivers" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -xous-ipc = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +xous-ipc = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" llio = {path="../llio"} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} modals = {path = "../modals"} keyboard = {path = "../keyboard"} bitfield = "0.13.2" vcell = "0.1.3" xous-semver = "0.1.2" -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } usbd-human-interface-device = "0.2.1" embedded-time = "0.12.1" # required by the keyboard interface diff --git a/services/usb-test/Cargo.toml b/services/usb-test/Cargo.toml index c4ef1a6b1..e879d35bc 100644 --- a/services/usb-test/Cargo.toml +++ b/services/usb-test/Cargo.toml @@ -7,18 +7,18 @@ description = "USB test & development stub" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" -log-server = { package = "xous-api-log", version = "0.1.15" } -ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.14" } -xous-names = { package = "xous-api-names", version = "0.9.16" } +xous = "0.9.24" +log-server = { package = "xous-api-log", version = "0.1.18" } +ticktimer-server = { package = "xous-api-ticktimer", version = "0.9.18" } +xous-names = { package = "xous-api-names", version = "0.9.20" } log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -susres = {package = "xous-api-susres", version = "0.9.14"} +susres = {package = "xous-api-susres", version = "0.9.18"} keyboard = {path = "../keyboard"} bitfield = "0.13.2" vcell = "0.1.3" -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } usbd-human-interface-device = "0.1.1" embedded-time = "0.12.1" # required by the keyboard interface diff --git a/services/xous-log/.vscode/settings.json b/services/xous-log/.vscode/settings.json deleted file mode 100644 index bc21aa68f..000000000 --- a/services/xous-log/.vscode/settings.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cSpell.words": [ - "TXFULL", - "Uart", - "asid", - "concat", - "ebreak", - "ebss", - "edata", - "eheap", - "estack", - "etext", - "getc", - "irqs", - "kernel", - "mcause", - "mext", - "msoft", - "mstatus", - "mtimer", - "pagetable", - "pending", - "processtable", - "putc", - "riscv", - "rt", - "satp", - "sbss", - "sdata", - "set", - "sheap", - "sidata", - "sstack", - "stext", - "syscalls", - "virt", - "vmim", - "vmip", - "xous" - ] -} \ No newline at end of file diff --git a/services/xous-log/Cargo.toml b/services/xous-log/Cargo.toml index 6df4bc9ad..bc4a43d06 100644 --- a/services/xous-log/Cargo.toml +++ b/services/xous-log/Cargo.toml @@ -3,21 +3,21 @@ authors = ["Sean Cross "] description = "Log output program" edition = "2018" name = "xous-log" -version = "0.1.12" +version = "0.1.15" license = "MIT OR Apache-2.0" repository = "https://github.com/betrusted-io/xous-core/" homepage = "https://betrusted.io/xous-book/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous-api-log = {package = "xous-api-log", version = "0.1.15"} -xous = "0.9.21" -xous-ipc = "0.9.21" +xous-api-log = {package = "xous-api-log", version = "0.1.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/xous-names/Cargo.toml b/services/xous-names/Cargo.toml index cbe010907..39425080a 100644 --- a/services/xous-names/Cargo.toml +++ b/services/xous-names/Cargo.toml @@ -3,23 +3,23 @@ authors = ["bunnie "] description = "Xous microkernel OS inter-process name resolution server" edition = "2018" name = "xous-names" -version = "0.9.20" +version = "0.9.24" license = "MIT OR Apache-2.0" repository = "https://github.com/betrusted-io/xous-core/" homepage = "https://betrusted.io/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous-api-names = "0.9.16" -log-server = {package = "xous-api-log", version = "0.1.15"} -xous = "0.9.21" -xous-ipc = "0.9.21" +xous-api-names = "0.9.20" +log-server = {package = "xous-api-log", version = "0.1.18"} +xous = "0.9.24" +xous-ipc = "0.9.24" num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} log = "0.4.14" rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [target.'cfg(any(windows,unix))'.dependencies] diff --git a/services/xous-names/src/main.rs b/services/xous-names/src/main.rs index 892b18098..25b2824a5 100644 --- a/services/xous-names/src/main.rs +++ b/services/xous-names/src/main.rs @@ -26,6 +26,9 @@ enum ConnectError { /// The message was not a mutable memory message InvalidMessageType = 4, + + /// The server does not currently exist, and a blocking request was made + ServerNotFound = 5, } #[derive(PartialEq)] @@ -464,7 +467,7 @@ fn main() -> ! { xous::return_scalar(msg.sender, 0).unwrap(); } }), - Some(api::Opcode::BlockingConnect) => { + Some(api::Opcode::BlockingConnect) | Some(api::Opcode::TryConnect) => { if !msg.body.is_blocking() { continue; } @@ -479,9 +482,13 @@ fn main() -> ! { respond_connect_success(msg, cid, disc) } Ok(ConnectSuccess::Wait) => { - // Push waiting connections here, which will prevent it from getting - // dropped and responded to. - waiting_connections.push(msg); + if msg.body.id() == api::Opcode::TryConnect as usize { + respond_connect_error(msg, ConnectError::ServerNotFound); + } else { + // Push waiting connections here, which will prevent it from getting + // dropped and responded to. + waiting_connections.push(msg); + } } } } diff --git a/services/xous-susres/Cargo.toml b/services/xous-susres/Cargo.toml index e6a4c38f1..d6fc48ecb 100644 --- a/services/xous-susres/Cargo.toml +++ b/services/xous-susres/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xous-susres" -version = "0.1.16" +version = "0.1.20" authors = ["bunnie "] edition = "2018" description = "Manager of suspend/resume operations implementation" @@ -10,11 +10,11 @@ homepage = "https://betrusted.io/xous-book/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous-api-susres = "0.9.14" -xous-names = { package = "xous-api-names", version = "0.9.16" } -log-server = { package = "xous-api-log", version = "0.1.15" } -xous = "0.9.21" -xous-ipc = "0.9.21" +xous-api-susres = "0.9.18" +xous-names = { package = "xous-api-names", version = "0.9.20" } +log-server = { package = "xous-api-log", version = "0.1.18" } +xous = "0.9.24" +xous-ipc = "0.9.24" log = "0.4.14" num-derive = {version = "0.3.3", default-features = false} @@ -22,7 +22,7 @@ num-traits = {version = "0.2.14", default-features = false} rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} -utralib = { version = "0.1.8", optional = true, default-features = false } +utralib = { version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/services/xous-ticktimer/Cargo.toml b/services/xous-ticktimer/Cargo.toml index a083c491f..c9fab0c0d 100644 --- a/services/xous-ticktimer/Cargo.toml +++ b/services/xous-ticktimer/Cargo.toml @@ -3,25 +3,25 @@ authors = ["bunnie "] description = "Provide high-resolution, non-rollover system time" edition = "2018" name = "xous-ticktimer" -version = "0.1.15" +version = "0.1.19" license = "MIT OR Apache-2.0" repository = "https://github.com/betrusted-io/xous-core/" homepage = "https://betrusted.io/xous-book/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous-api-ticktimer = "0.9.14" -xous = "0.9.21" -xous-ipc = "0.9.21" -xous-names = {package = "xous-api-names", version = "0.9.16"} -log-server = {package = "xous-api-log", version = "0.1.15"} -susres = {package = "xous-api-susres", version = "0.9.14"} +xous-api-ticktimer = "0.9.18" +xous = "0.9.24" +xous-ipc = "0.9.24" +xous-names = {package = "xous-api-names", version = "0.9.20"} +log-server = {package = "xous-api-log", version = "0.1.18"} +susres = {package = "xous-api-susres", version = "0.9.18"} log = "0.4.14" rkyv = {version = "0.4.3", default-features = false, features = ["const_generics"]} num-derive = {version = "0.3.3", default-features = false} num-traits = {version = "0.2.14", default-features = false} xous-semver = "0.1.2" -utralib = {version = "0.1.8", optional = true, default-features = false } +utralib = {version = "0.1.9", optional = true, default-features = false } [features] precursor = ["utralib/precursor", "susres/precursor"] diff --git a/svd2utra/Cargo.toml b/svd2utra/Cargo.toml index 3261598a4..cb0e59256 100644 --- a/svd2utra/Cargo.toml +++ b/svd2utra/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "svd2utra" -version = "0.1.6" +version = "0.1.7" authors = ["Sean Cross ", "bunnie "] description = "SVD to UTRA library generator" edition = "2018" diff --git a/tools/Cargo.toml b/tools/Cargo.toml index 4a04eb0b3..249f692d2 100644 --- a/tools/Cargo.toml +++ b/tools/Cargo.toml @@ -17,7 +17,7 @@ ring = "0.16.20" env_logger = "0.7.1" log = "0.4.14" pem = "0.8.3" -svd2utra = "0.1.6" +svd2utra = "0.1.7" xmas-elf = "0.7.0" xous-semver = "0.1.2" diff --git a/tools/README.md b/tools/README.md index d0cdcbcb9..6af2f534c 100644 --- a/tools/README.md +++ b/tools/README.md @@ -74,6 +74,10 @@ Found Xous Args Size at offset 8, setting total_words to 208 $ ``` +## Internationalization Helper + +For more about `i18n_helper.py` please see the locales [README](../locales/README.md#internationalization-helper) + ## Testing _TBD_ diff --git a/tools/backalyzer.py b/tools/backalyzer.py index 17c6169b5..243074392 100755 --- a/tools/backalyzer.py +++ b/tools/backalyzer.py @@ -30,13 +30,6 @@ def bytes_to_semverstr(b): else: return "v{}.{}.{}-{}".format(maj, min, rev, extra) -def get_key(index, keyrom, length): - ret = [] - for offset in range(length // 4): - word = int.from_bytes(keyrom[(index + offset) * 4: (index + offset) * 4 + 4], 'big') - ret += list(word.to_bytes(4, 'little')) - return ret - def main(): global MBBB_PAGES FSCB_PAGES = 16 @@ -44,7 +37,7 @@ def main(): KEY_PAGES = 1 global PAGE_SIZE global VPAGE_SIZE - MAX_DICTS = 16384 + MAX_DICTS = 16383 # this is for an older set of CI tests from the pddbg.py script, that are not set up for this implementation set_ci_tests_flag(False) @@ -249,101 +242,11 @@ def main(): exit(1) keyrom = pt_data[i:i+1024] - user_key_enc = get_key(40, keyrom, 32) - pepper = get_key(248, keyrom, 16) - pepper[0] = pepper[0] ^ 1 # encodes the "boot" password type into the pepper - - # acquire and massage the password so that we can decrypt the encrypted user key - boot_pw = args.pin - boot_pw_array = [0] * 73 - pw_len = 0 - for b in bytes(boot_pw.encode('utf-8')): - boot_pw_array[pw_len] = b - pw_len += 1 - pw_len += 1 # null terminate, so even the null password is one character long - bcrypter = bcrypt.BCrypt() - # logging.debug("{}".format(boot_pw_array[:pw_len])) - logging.debug("user_key_enc: {}".format(list(user_key_enc))) - logging.debug("private_key_enc: {}".format(list(get_key(8, keyrom, 32)))) - logging.debug("salt: {}".format(list(pepper))) - hashed_pw = bcrypter.crypt_raw(boot_pw_array[:pw_len], pepper, 7) - logging.debug("hashed_pw: {}".format(list(hashed_pw))) - hasher = SHA512.new(truncate="256") - hasher.update(hashed_pw) - user_pw = hasher.digest() - - user_key = [] - for (a, b) in zip(user_key_enc, user_pw): - user_key += [a ^ b] - logging.debug("user_key: {}".format(user_key)) - - rollback_limit = 255 - int.from_bytes(keyrom[254 * 4 : 254 * 4 + 4], 'little') - logging.info("rollback limit: {}".format(rollback_limit)) - for i in range(rollback_limit): - hasher = SHA512.new(truncate="256") - hasher.update(bytes(user_key)) - user_key = hasher.digest() - - logging.debug("hashed_key: {}".format(list(user_key))) - - pddb = backup[4096:] - else: - dna_int = 0 - user_key = bytes([0] * 32) - pddb = backup + keys = extract_keys(keyrom, backup[4096:], args.pin, basis_credentials=basis_credentials) + pddb = backup[4096:] pddb_len = len(pddb) pddb_size_pages = pddb_len // PAGE_SIZE - logging.info("Database size: 0x{:x}".format(pddb_len)) - - pt_len = pddb_size_pages * 16 - static_crypto_data = pddb[pt_len:pt_len + 0x1000] - scd_ver = int.from_bytes(static_crypto_data[:4], 'little') - if scd_ver != 2: - logging.error("Static crypto data has wrong version {}", 2) - exit(1) - - wrapped_key_pt = static_crypto_data[4:4+40] - wrapped_key_data = static_crypto_data[4+40:4+40+40] - pddb_salt = static_crypto_data[4+40+40:] - - # extract the .System key - key_pt = aes_key_unwrap_with_padding(bytes(user_key), bytes(wrapped_key_pt)) - key_data = aes_key_unwrap_with_padding(bytes(user_key), bytes(wrapped_key_data)) - - logging.debug("key_pt {}".format(key_pt)) - logging.debug("key_data {}".format(key_data)) - keys = {} - keys[SYSTEM_BASIS] = [key_pt, key_data] - - # extract the secret basis keys - for name, pw in basis_credentials.items(): - bname_copy = [0]*64 - plaintext_pw = [0]*73 - i = 0 - for c in list(name.encode('utf-8')): - bname_copy[i] = c - i += 1 - pw_len = 0 - for c in list(pw.encode('utf-8')): - plaintext_pw[pw_len] = c - pw_len += 1 - pw_len += 1 # null terminate - # print(bname_copy) - # print(plaintext_pw) - hasher = SHA512.new(truncate="256") - hasher.update(pddb_salt[32:]) - hasher.update(bytes(bname_copy)) - hasher.update(bytes(plaintext_pw)) - derived_salt = hasher.digest() - - bcrypter = bcrypt.BCrypt() - hashed_pw = bcrypter.crypt_raw(plaintext_pw[:pw_len], derived_salt[:16], 7) - hkdf = HKDF(algorithm=hashes.SHA256(), length=32, salt=pddb_salt[:32], info=b"pddb page table key") - pt_key = hkdf.derive(hashed_pw) - hkdf = HKDF(algorithm=hashes.SHA256(), length=32, salt=pddb_salt[:32], info=b"pddb data key") - data_key = hkdf.derive(hashed_pw) - keys[name] = [pt_key, data_key] # data_aad = SYSTEM_BASIS + PDDB_VERSION + dna diff --git a/tools/i18n_helper.py b/tools/i18n_helper.py new file mode 100755 index 000000000..76202e266 --- /dev/null +++ b/tools/i18n_helper.py @@ -0,0 +1,235 @@ +#! /usr/bin/env python3 + +import argparse +import json +import sys +import os +import os.path +import pwd +import re + +class Main(object): + + def __init__(self): + parser = argparse.ArgumentParser(description="Xous i18n Helper") + parser.add_argument('-v', '--verbose', + help='Prints details of each action', + action='store_true', required=False) + parser.add_argument('-l', '--list-languages', + help='Lists current translations', + action='store_true', required=False) + parser.add_argument('-i', '--list-i18n-files', + help='Lists i18n files', + action='store_true', required=False) + parser.add_argument('-m', '--missing', + help='Shows missing translations', + action='store_true', required=False) + parser.add_argument('-o', '--show-ok', + help='Shows OK translations', + action='store_true', required=False) + parser.add_argument('-n', '--new-lang', + help='Add support for a new lang', + required=False) + parser.add_argument('-f', '--from-lang', + help='Copy this existing lang for the new lang', + required=False) + self.args = parser.parse_args() + self.args.program = sys.argv[0] + if self.args.program[0] != '/': + self.args.program = os.path.join(os.getcwd(), self.args.program) + self.args.pdir = os.path.normpath(os.path.dirname(self.args.program)) + self.args.xousdir = os.path.normpath(os.path.dirname(self.args.pdir)) + self.args.program = os.path.basename(self.args.program) + self.errfile = sys.stderr + # if end of string matches ' *EN*' (or some other lang) + self.temp_regex = re.compile('^.* \*[a-zA-Z]{2}\*$') + self.mt_regex = re.compile('^.* \*MT\*$') + + def out(self, *objects): + print(*objects) + + def err(self, *objects): + print(*objects, file=self.errfile) + + def verr(self, *objects): + if self.args.verbose: + self.err(*objects) + + def get_languages(self): + self.verr('-- get languages --') + # services/root-keys/locales/i18n.json + root_keys = os.path.join(self.args.xousdir, 'services', 'root-keys', 'locales', 'i18n.json') + if not os.path.exists(root_keys): + self.err('cannot find: %s' % root_keys); + return 1 + # read keys in "rootkeys.backup_key": + essential = 'rootkeys.backup_key' + f = open(root_keys,) + obj = json.load(f) + self.languages = [] + if essential in obj: + for key in obj[essential].keys(): + self.languages.append(key) + f.close() + return 0 + + def list_languages(self): + if self.get_languages() != 0: + return 1 + self.verr('-- list languages --') + for lang in self.languages: + self.out(lang) + return 0 + + def get_i18n_files(self): + self.verr('-- get i18n files --') + self.i18n_files = [] + topdirs = ['apps', 'services'] + for top in topdirs: + topdir = os.path.join(self.args.xousdir, top) + if os.path.exists(topdir): + if top == 'apps': + manifest = os.path.join(topdir, 'manifest.json') + if os.path.exists(manifest): + self.i18n_files.append(manifest[len(self.args.xousdir)+1:]) + for thing in os.listdir(topdir): + thingdir = os.path.join(topdir, thing) + if os.path.isdir(thingdir): + i18n_path = os.path.join(thingdir, 'locales', 'i18n.json') + if os.path.exists(i18n_path): + self.i18n_files.append(i18n_path[len(self.args.xousdir)+1:]) + return 0 + + def list_i18n_files(self): + if self.get_i18n_files() != 0: + return 1 + self.verr('-- list i18n files --') + for pathname in self.i18n_files: + self.out(pathname) + return 0 + + # keys for + # manifest APP, menu_name, appmenu.APP + # other TAG + def show_missing(self, i18n, is_manifest): + i18n_path = os.path.join(self.args.xousdir, i18n) + f = open(i18n_path,) + obj = json.load(f) + f.close() + jqpath = None + translation = None + for tag in obj.keys(): + if is_manifest: + appmenu = 'appmenu.' + tag + jqpath = tag + '.menu_name.' + appmenu + translation = obj[tag]['menu_name'][appmenu] + else: + jqpath = tag + translation = obj[tag] + for lang in self.languages: + lang_path = jqpath + '.' + lang + status = 'OK' + if lang in translation: + t = translation[lang] + # to print translation + # print('%s\t%s\t%s' % (i18n, lang_path, t)) + if t == '🔇': + status = 'MISSING' + elif self.mt_regex.fullmatch(t): + status = 'MACHINE_TRANSLATION' + elif self.temp_regex.fullmatch(t): + status = 'TEMPORARY' + else: + status = 'ABSENT' + if self.args.show_ok or status != 'OK': + print('%s\t%s\t%s' % (i18n, lang_path, status)) + return 0 + + def missing(self): + if self.get_languages() != 0: + return 1 + if self.get_i18n_files() != 0: + return 1 + self.verr('-- missing --') + for i18n in self.i18n_files: + is_manifest = os.path.basename(i18n) == 'manifest.json' + if self.show_missing(i18n, is_manifest) != 0: + return 1 + return 0 + + # keys for + # manifest APP, menu_name, appmenu.APP + # other TAG + def add_new_lang(self, i18n, is_manifest): + i18n_path = os.path.join(self.args.xousdir, i18n) + i18n_path_orig = i18n_path + '.orig' + if not os.path.exists(i18n_path_orig): + os.rename(i18n_path, i18n_path_orig) + self.verr('adding "%s" to %s' % (self.args.new_lang, i18n)) + orig_file = open(i18n_path_orig,) + obj = json.load(orig_file) + orig_file.close() + new_file = open(i18n_path,'w') + translation = None + for tag in obj.keys(): + if is_manifest: + appmenu = 'appmenu.' + tag + translation = obj[tag]['menu_name'][appmenu] + else: + translation = obj[tag] + t_from = translation[self.args.from_lang] + t_new = t_from + if t_from != '🔇': + t_new += self.from_hint + translation[self.args.new_lang] = t_new + json.dump(obj, new_file, ensure_ascii=False, check_circular=False, + sort_keys=True, indent=4) + new_file.close() + return 0 + + def new_lang(self): + if self.get_i18n_files() != 0: + return 1 + self.from_hint = ' *%s*' % self.args.from_lang.upper() + self.verr('-- adding new lang "%s" from "%s" by appending "%s" --' % (self.args.new_lang, self.args.from_lang, self.from_hint)) + for i18n in self.i18n_files: + is_manifest = os.path.basename(i18n) == 'manifest.json' + if self.add_new_lang(i18n, is_manifest) != 0: + return 1 + return 0 + + def run(self): + rc = 0 + if self.args.verbose: + self.err('verbose mode') + self.err('xous dir: "%s"' % self.args.xousdir) + self.err('program dir: "%s"' % self.args.pdir) + self.err('program: "%s"' % self.args.program) + self.err('show-ok: "%s"' % self.args.show_ok) + if self.args.list_languages: + rc = self.list_languages() + elif self.args.list_i18n_files: + rc = self.list_i18n_files() + elif self.args.missing: + rc = self.missing() + elif self.args.new_lang: + if not self.args.from_lang: + self.err('error: you must specify both --from-lang en --to-lang fr') + rc = 1 + else: + self.get_languages() + if not self.args.from_lang in self.languages: + self.err('error: --from-lang %s is not one of the existing langs: %s' % (self.args.from_lang, self.languages)) + rc = 1 + elif self.args.new_lang in self.languages: + self.err('error: --new-lang %s must not be one of the existing langs: %s' % (self.args.from_lang, self.languages)) + rc = 1 + elif not re.fullmatch('^[a-z-]{2,6}$', self.args.new_lang): + self.err('error: --new-lang %s is not valid lang' % self.args.new_lang) + rc = 1 + else: + rc = self.new_lang() + return rc + +if __name__ == "__main__": + sys.exit(Main().run()) diff --git a/tools/pddbcommon.py b/tools/pddbcommon.py index bf0c401aa..d28fe519e 100644 --- a/tools/pddbcommon.py +++ b/tools/pddbcommon.py @@ -3,6 +3,10 @@ from rfc8452 import AES_GCM_SIV from Crypto.Hash import SHA512 import binascii +import bcrypt +from cryptography.hazmat.primitives.keywrap import aes_key_unwrap_with_padding +from cryptography.hazmat.primitives import hashes +from cryptography.hazmat.primitives.kdf.hkdf import HKDF import logging @@ -273,12 +277,13 @@ def __init__(self, index, v2p, disk, key, name, dna=DNA): dict_header_vaddr = self.DICT_VSTRIDE * (index + 1) self.index = index self.vaddr = dict_header_vaddr + self.num_keys = 0 if dict_header_vaddr in v2p: self.valid = True pp = v2p[dict_header_vaddr] self.keys = {} try: - logging.debug('dict decrypt @ pp {:x}, nonce: {}'.format(pp, disk[pp:pp+12].hex())) + logging.debug('dict decrypt @ pp {:x} va {:x}, nonce: {}'.format(pp, dict_header_vaddr, disk[pp:pp+12].hex())) cipher = AES_GCM_SIV(key, disk[pp:pp+12]) pt_data = cipher.decrypt(disk[pp+12:pp+PAGE_SIZE], basis_aad(name, dna=dna)) # print('raw pt_data: {}'.format(pt_data[:127].hex())) @@ -298,7 +303,11 @@ def __init__(self, index, v2p, disk, key, name, dna=DNA): logging.info("decrypt dict '{}' with {} keys and {} free_key_index".format(self.name, self.num_keys, self.free_key_index)) logging.debug("dict header len: {}".format(i-4)) # subtract 4 because of the journal except ValueError: - logging.error("basisdicts: couldn't decrypt vpage @ {:x} ppage @ {:x}".format(dict_header_vaddr, v2p[dict_header_vaddr])) + logging.error("\n") # make some whitespace so this stands out in the logs + logging.error("**** basisdicts: encountered an invalid dict root record. Data loss may have occurred!") + logging.error("**** couldn't decrypt vpage @ {:x} ppage @ {:x} in basis {}, aad {}".format(dict_header_vaddr, v2p[dict_header_vaddr], name, basis_aad(name, dna=dna).hex())) + logging.error("****** partial dump: {}...{} len {}\n".format(disk[pp:pp + 48].hex(), disk[pp + 4048:pp + 4096].hex(), len(disk[pp:pp + 4096]))) + self.valid = False if self.num_keys > 0: keys_found = 0 @@ -704,17 +713,23 @@ def decode_fscb(img, keys, FSCB_LEN_PAGES=2, dna=DNA): fscb_start = None pg = 0 for page in pages: + logging.debug("FSCB page {}: {}".format(pg, page[:40].hex())) if bytearray(page[:32]) == bytearray([0xff] * 32): + logging.debug(" ...page is blank") # page is blank pass elif bytearray(page[:16]) == bytearray([0xff] * 16): + logging.debug(" ...page is spaceupdate") space_update.append(page[16:]) else: if fscb_start == None: + logging.debug(" ...page is start of FSCB") fscb_start = pg + else: + logging.debug(" ...page is more FSCB data") pg += 1 - if fscb_start: + if fscb_start is not None: logging.debug("Found FSCB at {:x}".format(fscb_start)) fscb_enc = img[fscb_start * 4096 : (fscb_start + FSCB_LEN_PAGES) * 4096] # print("data: {}".format(fscb_enc.hex())) @@ -744,3 +759,111 @@ def decode_fscb(img, keys, FSCB_LEN_PAGES=2, dna=DNA): spaceupdate_count += 1 logging.info("Total SpaceUpdate entries found: {}".format(spaceupdate_count)) return fscb + + +# # # code to extract system basis given a keybox +def get_key(index, keyrom, length): + ret = [] + for offset in range(length // 4): + word = int.from_bytes(keyrom[(index + offset) * 4: (index + offset) * 4 + 4], 'big') + ret += list(word.to_bytes(4, 'little')) + return ret + +# Arguments: +# - keyrom is the binary image of the key box, in plaintext +# - pddb is the PDDB binary image, starting from the beginning of the PDDB itself (no backup headers, etc.) +# - boot_pw is the boot pin +# - basis_credentials is a list of the secret Bases +# Returns: +# - A dictionary of keys, by Basis name +def extract_keys(keyrom, pddb, boot_pw, basis_credentials={}): + user_key_enc = get_key(40, keyrom, 32) + pepper = get_key(248, keyrom, 16) + pepper[0] = pepper[0] ^ 1 # encodes the "boot" password type into the pepper + + # acquire and massage the password so that we can decrypt the encrypted user key + boot_pw_array = [0] * 73 + pw_len = 0 + for b in bytes(boot_pw.encode('utf-8')): + boot_pw_array[pw_len] = b + pw_len += 1 + pw_len += 1 # null terminate, so even the null password is one character long + bcrypter = bcrypt.BCrypt() + # logging.debug("{}".format(boot_pw_array[:pw_len])) + logging.debug("user_key_enc: {}".format(list(user_key_enc))) + logging.debug("private_key_enc: {}".format(list(get_key(8, keyrom, 32)))) + logging.debug("salt: {}".format(list(pepper))) + hashed_pw = bcrypter.crypt_raw(boot_pw_array[:pw_len], pepper, 7) + logging.debug("hashed_pw: {}".format(list(hashed_pw))) + hasher = SHA512.new(truncate="256") + hasher.update(hashed_pw) + user_pw = hasher.digest() + + user_key = [] + for (a, b) in zip(user_key_enc, user_pw): + user_key += [a ^ b] + logging.debug("user_key: {}".format(user_key)) + + rollback_limit = 255 - int.from_bytes(keyrom[254 * 4 : 254 * 4 + 4], 'little') + logging.info("rollback limit: {}".format(rollback_limit)) + for i in range(rollback_limit): + hasher = SHA512.new(truncate="256") + hasher.update(bytes(user_key)) + user_key = hasher.digest() + + logging.debug("hashed_key: {}".format(list(user_key))) + + pddb_len = len(pddb) + pddb_size_pages = pddb_len // PAGE_SIZE + logging.info("Database size: 0x{:x}".format(pddb_len)) + + pt_len = pddb_size_pages * 16 + static_crypto_data = pddb[pt_len:pt_len + 0x1000] + scd_ver = int.from_bytes(static_crypto_data[:4], 'little') + if scd_ver != 2: + logging.error("Static crypto data has wrong version {}", 2) + exit(1) + + wrapped_key_pt = static_crypto_data[4:4+40] + wrapped_key_data = static_crypto_data[4+40:4+40+40] + pddb_salt = static_crypto_data[4+40+40:] + + # extract the .System key + key_pt = aes_key_unwrap_with_padding(bytes(user_key), bytes(wrapped_key_pt)) + key_data = aes_key_unwrap_with_padding(bytes(user_key), bytes(wrapped_key_data)) + + logging.debug("key_pt {}".format(key_pt)) + logging.debug("key_data {}".format(key_data)) + keys = {} + keys[SYSTEM_BASIS] = [key_pt, key_data] + + # extract the secret basis keys + for name, pw in basis_credentials.items(): + bname_copy = [0]*64 + plaintext_pw = [0]*73 + i = 0 + for c in list(name.encode('utf-8')): + bname_copy[i] = c + i += 1 + pw_len = 0 + for c in list(pw.encode('utf-8')): + plaintext_pw[pw_len] = c + pw_len += 1 + pw_len += 1 # null terminate + # print(bname_copy) + # print(plaintext_pw) + hasher = SHA512.new(truncate="256") + hasher.update(pddb_salt[32:]) + hasher.update(bytes(bname_copy)) + hasher.update(bytes(plaintext_pw)) + derived_salt = hasher.digest() + + bcrypter = bcrypt.BCrypt() + hashed_pw = bcrypter.crypt_raw(plaintext_pw[:pw_len], derived_salt[:16], 7) + hkdf = HKDF(algorithm=hashes.SHA256(), length=32, salt=pddb_salt[:32], info=b"pddb page table key") + pt_key = hkdf.derive(hashed_pw) + hkdf = HKDF(algorithm=hashes.SHA256(), length=32, salt=pddb_salt[:32], info=b"pddb data key") + data_key = hkdf.derive(hashed_pw) + keys[name] = [pt_key, data_key] + + return keys diff --git a/tools/pddbdbg.py b/tools/pddbdbg.py index 5f56febc0..4daebe20a 100755 --- a/tools/pddbdbg.py +++ b/tools/pddbdbg.py @@ -16,39 +16,82 @@ def main(): parser.add_argument( "--dump", required=False, help="Only dump the image, skip the automated CI checks", action="store_true" ) + parser.add_argument( + "--renode", required=False, help="Override flex-size settings and read a Renode bin file", action="store_true" + ) + parser.add_argument( + "--smalldb", required=False, help="Override default size of PDDB and set it to 4MiB (for images built to that size only)", action="store_true" + ) + parser.add_argument( + "--basis", type=str, help="Extra Bases to unlock, as `name:pass`. Each additional basis requires another --basis separator. Note that : is not legal to use in a Basis name.", action="append", nargs="+" + ) + parser.add_argument( + "-p", "--pin", help="Unlock PIN", type=str, default='a' + ) + parser.add_argument( + "--ci", help="Run in CI test mode. Requires all keys to have a specific checksum structure for automated checking.", action="store_true" + ) args = parser.parse_args() - if args.name == None: - keyfile = './tools/pddb-images/pddb.key' - imagefile = './tools/pddb-images/pddb.bin' - else: - keyfile = './tools/pddb-images/{}.key'.format(args.name) - imagefile = './tools/pddb-images/{}.bin'.format(args.name) - - if args.dump: - DO_CI_TESTS = False - numeric_level = getattr(logging, args.loglevel.upper(), None) + if args.dump: + numeric_level = getattr(logging, 'DEBUG', None) + else: + numeric_level = getattr(logging, args.loglevel.upper(), None) if not isinstance(numeric_level, int): raise ValueError('Invalid log level: %s' % args.loglevel) logging.basicConfig(level=numeric_level) - keys = {} - with open(keyfile, 'rb') as key_f: - raw_key = key_f.read() - num_keys = int.from_bytes(raw_key[:4], 'little') - for i in range(num_keys): - name_all = raw_key[4 + i*128 : 4 + i*128 + 64] - name_bytes = bytearray(b'') - for b in name_all: - if b != 0: - name_bytes.append(b) + set_ci_tests_flag(args.ci) + + if args.renode is True: + keyfile = "./emulation/renode-keybox.bin" + imagefile = "./tools/pddb-images/renode.bin" + basis_credentials = {} + if args.basis: + for pair in args.basis: + credpair = pair[0].split(':', 1) + if len(credpair) != 2: + logging.error("Basis credential pair with name {} has a formatting problem, aborting!".format(credpair[0])) + exit(1) + basis_credentials[credpair[0]] = credpair[1] + + with open(keyfile, 'rb') as key_f: + keyrom = key_f.read() + with open(imagefile, 'rb') as img_f: + raw_img = img_f.read() + if args.smalldb: + raw_img = raw_img[0x01D80000:0x1D8_0000 + 1024 * 1024 * 4] else: - break - name = name_bytes.decode('utf8', errors='ignore') - key_data = raw_key[4 + i*128 + 64 : 4 + i*128 + 96] - key_pt = raw_key[4 + i*128 + 96 : 4 + i*128 + 128] - keys[name] = [key_pt, key_data] + raw_img = raw_img[0x01D80000:0x07F80000] + keys = extract_keys(keyrom, raw_img, args.pin, basis_credentials) + else: + if args.name == None: + keyfile = './tools/pddb-images/pddb.key' + imagefile = './tools/pddb-images/pddb.bin' + else: + keyfile = './tools/pddb-images/{}.key'.format(args.name) + imagefile = './tools/pddb-images/{}.bin'.format(args.name) + + if args.dump: + DO_CI_TESTS = False + + keys = {} + with open(keyfile, 'rb') as key_f: + raw_key = key_f.read() + num_keys = int.from_bytes(raw_key[:4], 'little') + for i in range(num_keys): + name_all = raw_key[4 + i*128 : 4 + i*128 + 64] + name_bytes = bytearray(b'') + for b in name_all: + if b != 0: + name_bytes.append(b) + else: + break + name = name_bytes.decode('utf8', errors='ignore') + key_data = raw_key[4 + i*128 + 64 : 4 + i*128 + 96] + key_pt = raw_key[4 + i*128 + 96 : 4 + i*128 + 128] + keys[name] = [key_pt.hex(), key_data.hex()] logging.info("Found basis keys (pt, data):") logging.info(str(keys)) @@ -60,10 +103,15 @@ def main(): KEY_PAGES = 1 global PAGE_SIZE global VPAGE_SIZE - MAX_DICTS = 16384 + MAX_DICTS = 16383 with open(imagefile, 'rb') as img_f: raw_img = img_f.read() + if args.renode: + if args.smalldb: + raw_img = raw_img[0x01D80000:0x1D8_0000 + 1024 * 1024 * 4] + else: + raw_img = raw_img[0x01D80000:0x07F80000] pddb_len = len(raw_img) pddb_size_pages = pddb_len // PAGE_SIZE logging.info("Disk size: 0x{:x}".format(pddb_len)) @@ -136,7 +184,7 @@ def main(): #logging.info("listing {} keys".format(len(d2.keys))) #for key in d2.keys: # logging.info("{}".format(key)) - if args.dump == False: + if args.ci == True: logging.info("CI checks:") for bdict in basis_dicts.values(): bdict.ci_check() diff --git a/tools/perflib/Cargo.toml b/tools/perflib/Cargo.toml index c3f16d2de..d026f23c2 100644 --- a/tools/perflib/Cargo.toml +++ b/tools/perflib/Cargo.toml @@ -7,9 +7,9 @@ description = "Performance counter tooling" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" +xous = "0.9.24" log = "0.4.14" -utralib = { version = "0.1.8", default-features = false } +utralib = { version = "0.1.9", default-features = false } [features] precursor = ["utralib/precursor"] diff --git a/tools/src/elf.rs b/tools/src/elf.rs index b9dd01320..000749394 100644 --- a/tools/src/elf.rs +++ b/tools/src/elf.rs @@ -209,7 +209,7 @@ pub fn process_program(b: &[u8]) -> Result { s.address() ); continue; - } else if text_offset == 0 && s.size() != 0 { + } else if text_offset == 0 && (s.address() != 0 || s.size() != 0) { text_offset = s.address() as u32; text_size += s.size() as u32; } else { diff --git a/tools/updater/precursorupdater/precursorupdater.py b/tools/updater/precursorupdater/precursorupdater.py index 8770f156c..486b2cae9 100755 --- a/tools/updater/precursorupdater/precursorupdater.py +++ b/tools/updater/precursorupdater/precursorupdater.py @@ -125,7 +125,7 @@ def main(): "-b", "--bleeding-edge", required=False, help="Update to bleeding-edge CI build", action='store_true' ) parser.add_argument( - "-l", "--language", help="Select Xous language [en|ja|zh|en-tts]", required=False, type=str, default="en" + "-l", "--language", help="Select Xous language [en|ja|zh|fr|en-tts]", required=False, type=str, default="en" ) parser.add_argument( "--factory-reset", required=False, help="Delete passwords and do a factory reset", action='store_true' @@ -156,6 +156,7 @@ def main(): "en-tts", "ja", "zh", + "fr", } language = args.language.lower() if language not in VALID_LANGUAGES: diff --git a/tools/updater/setup.py b/tools/updater/setup.py index fd539fc5b..5b6805005 100644 --- a/tools/updater/setup.py +++ b/tools/updater/setup.py @@ -7,7 +7,7 @@ setup( name="precursorupdater", - version="0.0.8", + version="0.0.9", author="bunnie", description="Precursor USB Updater", long_description=long_description, diff --git a/utralib/Cargo.toml b/utralib/Cargo.toml index bd389a10a..bb1c194a1 100644 --- a/utralib/Cargo.toml +++ b/utralib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "utralib" -version = "0.1.8" +version = "0.1.9" authors = ["Sean Cross ", "bunnie "] edition = "2018" license = "MIT OR Apache-2.0" @@ -12,7 +12,7 @@ homepage = "https://betrusted.io/xous-book/" [dependencies] [build-dependencies] -svd2utra = "0.1.6" +svd2utra = "0.1.7" # UTRA pre-generated version tracker [features] diff --git a/utralib/src/generated/precursor_6156e49.rs b/utralib/src/generated/precursor_6156e49.rs deleted file mode 100644 index 0ca4cdc94..000000000 --- a/utralib/src/generated/precursor_6156e49.rs +++ /dev/null @@ -1,6094 +0,0 @@ - -#![allow(dead_code)] -use core::convert::TryInto; -use core::sync::atomic::AtomicPtr; - -#[derive(Debug, Copy, Clone)] -pub struct Register { - /// Offset of this register within this CSR - offset: usize, - /// Mask of SVD-specified bits for the register - mask: usize, -} -impl Register { - pub const fn new(offset: usize, mask: usize) -> Register { - Register { offset, mask } - } -} -#[derive(Debug, Copy, Clone)] -pub struct Field { - /// A bitmask we use to AND to the value, unshifted. - /// E.g. for a width of `3` bits, this mask would be 0b111. - mask: usize, - /// Offset of the first bit in this field - offset: usize, - /// A copy of the register address that this field - /// is a member of. Ideally this is optimized out by the - /// compiler. - register: Register, -} -impl Field { - /// Define a new CSR field with the given width at a specified - /// offset from the start of the register. - pub const fn new(width: usize, offset: usize, register: Register) -> Field { - // Asserts don't work in const fn yet. - // assert!(width != 0, "field width cannot be 0"); - // assert!((width + offset) < 32, "field with and offset must fit within a 32-bit value"); - // It would be lovely if we could call `usize::pow()` in a const fn. - let mask = match width { - 0 => 0, - 1 => 1, - 2 => 3, - 3 => 7, - 4 => 15, - 5 => 31, - 6 => 63, - 7 => 127, - 8 => 255, - 9 => 511, - 10 => 1023, - 11 => 2047, - 12 => 4095, - 13 => 8191, - 14 => 16383, - 15 => 32767, - 16 => 65535, - 17 => 131071, - 18 => 262143, - 19 => 524287, - 20 => 1048575, - 21 => 2097151, - 22 => 4194303, - 23 => 8388607, - 24 => 16777215, - 25 => 33554431, - 26 => 67108863, - 27 => 134217727, - 28 => 268435455, - 29 => 536870911, - 30 => 1073741823, - 31 => 2147483647, - 32 => 4294967295, - _ => 0, - }; - Field { - mask, - offset, - register, - } - } -} -#[derive(Debug, Copy, Clone)] -pub struct CSR { - pub base: *mut T, -} -impl CSR -where - T: core::convert::TryFrom + core::convert::TryInto + core::default::Default, -{ - pub fn new(base: *mut T) -> Self { - CSR { base } - } - /// Read the contents of this register - pub fn r(&self, reg: Register) -> T { - // prevent re-ordering - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base) }; - unsafe { usize_base.add(reg.offset).read_volatile() } - .try_into() - .unwrap_or_default() - } - /// Read a field from this CSR - pub fn rf(&self, field: Field) -> T { - // prevent re-ordering - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base) }; - ((unsafe { usize_base.add(field.register.offset).read_volatile() } >> field.offset) - & field.mask) - .try_into() - .unwrap_or_default() - } - /// Read-modify-write a given field in this CSR - pub fn rmwf(&mut self, field: Field, value: T) { - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base) }; - let value_as_usize: usize = value.try_into().unwrap_or_default() << field.offset; - let previous = - unsafe { usize_base.add(field.register.offset).read_volatile() } & !(field.mask << field.offset); - unsafe { - usize_base - .add(field.register.offset) - .write_volatile(previous | value_as_usize) - }; - // prevent re-ordering - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - } - /// Write a given field without reading it first - pub fn wfo(&mut self, field: Field, value: T) { - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base) }; - let value_as_usize: usize = (value.try_into().unwrap_or_default() & field.mask) << field.offset; - unsafe { - usize_base - .add(field.register.offset) - .write_volatile(value_as_usize) - }; - // Ensure the compiler doesn't re-order the write. - // We use `SeqCst`, because `Acquire` only prevents later accesses from being reordered before - // *reads*, but this method only *writes* to the locations. - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - } - /// Write the entire contents of a register without reading it first - pub fn wo(&mut self, reg: Register, value: T) { - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base) }; - let value_as_usize: usize = value.try_into().unwrap_or_default(); - unsafe { usize_base.add(reg.offset).write_volatile(value_as_usize) }; - // Ensure the compiler doesn't re-order the write. - // We use `SeqCst`, because `Acquire` only prevents later accesses from being reordered before - // *reads*, but this method only *writes* to the locations. - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - } - /// Zero a field from a provided value - pub fn zf(&self, field: Field, value: T) -> T { - let value_as_usize: usize = value.try_into().unwrap_or_default(); - (value_as_usize & !(field.mask << field.offset)) - .try_into() - .unwrap_or_default() - } - /// Shift & mask a value to its final field position - pub fn ms(&self, field: Field, value: T) -> T { - let value_as_usize: usize = value.try_into().unwrap_or_default(); - ((value_as_usize & field.mask) << field.offset) - .try_into() - .unwrap_or_default() - } -} - -#[derive(Debug)] -pub struct AtomicCsr { - pub base: AtomicPtr, -} -impl AtomicCsr -where - T: core::convert::TryFrom + core::convert::TryInto + core::default::Default, -{ - pub fn new(base: *mut T) -> Self { - AtomicCsr { - base: AtomicPtr::new(base) - } - } - /// In reality, we should wrap this in an `Arc` so we can be truly safe across a multi-core - /// implementation, but for our single-core system this is fine. The reason we don't do it - /// immediately is that UTRA also needs to work in a `no_std` environment, where `Arc` - /// does not exist, and so additional config flags would need to be introduced to not break - /// that compability issue. If migrating to multicore, this technical debt would have to be - /// addressed. - pub fn clone(&self) -> Self { - AtomicCsr { - base: AtomicPtr::new(self.base.load(core::sync::atomic::Ordering::SeqCst)) - } - } - /// Read the contents of this register - pub fn r(&self, reg: Register) -> T { - // prevent re-ordering - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base.load(core::sync::atomic::Ordering::SeqCst)) }; - unsafe { usize_base.add(reg.offset).read_volatile() } - .try_into() - .unwrap_or_default() - } - /// Read a field from this CSR - pub fn rf(&self, field: Field) -> T { - // prevent re-ordering - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base.load(core::sync::atomic::Ordering::SeqCst)) }; - ((unsafe { usize_base.add(field.register.offset).read_volatile() } >> field.offset) - & field.mask) - .try_into() - .unwrap_or_default() - } - /// Read-modify-write a given field in this CSR - pub fn rmwf(&self, field: Field, value: T) { - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base.load(core::sync::atomic::Ordering::SeqCst)) }; - let value_as_usize: usize = value.try_into().unwrap_or_default() << field.offset; - let previous = - unsafe { usize_base.add(field.register.offset).read_volatile() } & !(field.mask << field.offset); - unsafe { - usize_base - .add(field.register.offset) - .write_volatile(previous | value_as_usize) - }; - // prevent re-ordering - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - } - /// Write a given field without reading it first - pub fn wfo(&self, field: Field, value: T) { - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base.load(core::sync::atomic::Ordering::SeqCst)) }; - let value_as_usize: usize = (value.try_into().unwrap_or_default() & field.mask) << field.offset; - unsafe { - usize_base - .add(field.register.offset) - .write_volatile(value_as_usize) - }; - // Ensure the compiler doesn't re-order the write. - // We use `SeqCst`, because `Acquire` only prevents later accesses from being reordered before - // *reads*, but this method only *writes* to the locations. - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - } - /// Write the entire contents of a register without reading it first - pub fn wo(&self, reg: Register, value: T) { - let usize_base: *mut usize = unsafe { core::mem::transmute(self.base.load(core::sync::atomic::Ordering::SeqCst)) }; - let value_as_usize: usize = value.try_into().unwrap_or_default(); - unsafe { usize_base.add(reg.offset).write_volatile(value_as_usize) }; - // Ensure the compiler doesn't re-order the write. - // We use `SeqCst`, because `Acquire` only prevents later accesses from being reordered before - // *reads*, but this method only *writes* to the locations. - core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::SeqCst); - } - /// Zero a field from a provided value - pub fn zf(&self, field: Field, value: T) -> T { - let value_as_usize: usize = value.try_into().unwrap_or_default(); - (value_as_usize & !(field.mask << field.offset)) - .try_into() - .unwrap_or_default() - } - /// Shift & mask a value to its final field position - pub fn ms(&self, field: Field, value: T) -> T { - let value_as_usize: usize = value.try_into().unwrap_or_default(); - ((value_as_usize & field.mask) << field.offset) - .try_into() - .unwrap_or_default() - } -} -// Physical base addresses of memory regions -pub const HW_ROM_MEM: usize = 0x80000000; -pub const HW_ROM_MEM_LEN: usize = 65536; -pub const HW_VEXRISCV_DEBUG_MEM: usize = 0xefff0000; -pub const HW_VEXRISCV_DEBUG_MEM_LEN: usize = 256; -pub const HW_SRAM_EXT_MEM: usize = 0x40000000; -pub const HW_SRAM_EXT_MEM_LEN: usize = 16777216; -pub const HW_MEMLCD_MEM: usize = 0xb0000000; -pub const HW_MEMLCD_MEM_LEN: usize = 23584; -pub const HW_SPIFLASH_MEM: usize = 0x20000000; -pub const HW_SPIFLASH_MEM_LEN: usize = 134217728; -pub const HW_AUDIO_MEM: usize = 0xe0000000; -pub const HW_AUDIO_MEM_LEN: usize = 4; -pub const HW_SHA512_MEM: usize = 0xe0002000; -pub const HW_SHA512_MEM_LEN: usize = 4; -pub const HW_ENGINE_MEM: usize = 0xe0020000; -pub const HW_ENGINE_MEM_LEN: usize = 131072; -pub const HW_USBDEV_MEM: usize = 0xe0040000; -pub const HW_USBDEV_MEM_LEN: usize = 65536; -pub const HW_CSR_MEM: usize = 0xf0000000; -pub const HW_CSR_MEM_LEN: usize = 262144; - -// Physical base addresses of registers -pub const HW_REBOOT_BASE : usize = 0xf0000000; -pub const HW_TIMER0_BASE : usize = 0xf0001000; -pub const HW_CRG_BASE : usize = 0xf0002000; -pub const HW_GPIO_BASE : usize = 0xf0003000; -pub const HW_UART_BASE : usize = 0xf0005000; -pub const HW_CONSOLE_BASE : usize = 0xf0007000; -pub const HW_APP_UART_BASE : usize = 0xf0009000; -pub const HW_INFO_BASE : usize = 0xf000a000; -pub const HW_SRAM_EXT_BASE : usize = 0xf000b000; -pub const HW_MEMLCD_BASE : usize = 0xf000c000; -pub const HW_COM_BASE : usize = 0xf000d000; -pub const HW_I2C_BASE : usize = 0xf000e000; -pub const HW_BTEVENTS_BASE : usize = 0xf000f000; -pub const HW_MESSIBLE_BASE : usize = 0xf0010000; -pub const HW_MESSIBLE2_BASE : usize = 0xf0011000; -pub const HW_TICKTIMER_BASE : usize = 0xf0012000; -pub const HW_SUSRES_BASE : usize = 0xf0013000; -pub const HW_POWER_BASE : usize = 0xf0014000; -pub const HW_SPINOR_SOFT_INT_BASE : usize = 0xf0015000; -pub const HW_SPINOR_BASE : usize = 0xf0016000; -pub const HW_KEYBOARD_BASE : usize = 0xf0017000; -pub const HW_KEYINJECT_BASE : usize = 0xf0018000; -pub const HW_SEED_BASE : usize = 0xf0019000; -pub const HW_KEYROM_BASE : usize = 0xf001a000; -pub const HW_AUDIO_BASE : usize = 0xf001b000; -pub const HW_TRNG_KERNEL_BASE : usize = 0xf001c000; -pub const HW_TRNG_SERVER_BASE : usize = 0xf001d000; -pub const HW_TRNG_BASE : usize = 0xf001e000; -pub const HW_SHA512_BASE : usize = 0xf001f000; -pub const HW_ENGINE_BASE : usize = 0xf0020000; -pub const HW_JTAG_BASE : usize = 0xf0021000; -pub const HW_WDT_BASE : usize = 0xf0022000; -pub const HW_USBDEV_BASE : usize = 0xf0023000; -pub const HW_D11CTIME_BASE : usize = 0xf0024000; -pub const HW_WFI_BASE : usize = 0xf0025000; -pub const HW_IDENTIFIER_MEM_BASE : usize = 0xf0026000; - - -pub mod utra { - - pub mod reboot { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum RebootOffset { - SocReset = 0, - Addr = 4, - CpuReset = 8, - } - pub const REBOOT_NUMREGS: usize = 3; - - pub const SOC_RESET: crate::Register = crate::Register::new(0, 0xff); - pub const SOC_RESET_SOC_RESET: crate::Field = crate::Field::new(8, 0, SOC_RESET); - - pub const ADDR: crate::Register = crate::Register::new(1, 0xffffffff); - pub const ADDR_ADDR: crate::Field = crate::Field::new(32, 0, ADDR); - - pub const CPU_RESET: crate::Register = crate::Register::new(2, 0x1); - pub const CPU_RESET_CPU_RESET: crate::Field = crate::Field::new(1, 0, CPU_RESET); - - pub const HW_REBOOT_BASE: usize = 0xf0000000; - } - - pub mod timer0 { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum Timer0Offset { - Load = 0, - Reload = 4, - En = 8, - EvStatus = 12, - EvPending = 16, - EvEnable = 20, - } - pub const TIMER0_NUMREGS: usize = 6; - - pub const LOAD: crate::Register = crate::Register::new(0, 0xffffffff); - pub const LOAD_LOAD: crate::Field = crate::Field::new(32, 0, LOAD); - - pub const RELOAD: crate::Register = crate::Register::new(1, 0xffffffff); - pub const RELOAD_RELOAD: crate::Field = crate::Field::new(32, 0, RELOAD); - - pub const EN: crate::Register = crate::Register::new(2, 0x1); - pub const EN_EN: crate::Field = crate::Field::new(1, 0, EN); - - pub const EV_STATUS: crate::Register = crate::Register::new(3, 0x1); - pub const EV_STATUS_ZERO: crate::Field = crate::Field::new(1, 0, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(4, 0x1); - pub const EV_PENDING_ZERO: crate::Field = crate::Field::new(1, 0, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(5, 0x1); - pub const EV_ENABLE_ZERO: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - - pub const TIMER0_IRQ: usize = 0; - pub const HW_TIMER0_BASE: usize = 0xf0001000; - } - - pub mod crg { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum CrgOffset { - MmcmDrpReset = 0, - MmcmDrpLocked = 4, - MmcmDrpRead = 8, - MmcmDrpWrite = 12, - MmcmDrpDrdy = 16, - MmcmDrpAdr = 20, - MmcmDrpDatW = 24, - MmcmDrpDatR = 28, - } - pub const CRG_NUMREGS: usize = 8; - - pub const MMCM_DRP_RESET: crate::Register = crate::Register::new(0, 0x1); - pub const MMCM_DRP_RESET_MMCM_DRP_RESET: crate::Field = crate::Field::new(1, 0, MMCM_DRP_RESET); - - pub const MMCM_DRP_LOCKED: crate::Register = crate::Register::new(1, 0x1); - pub const MMCM_DRP_LOCKED_MMCM_DRP_LOCKED: crate::Field = crate::Field::new(1, 0, MMCM_DRP_LOCKED); - - pub const MMCM_DRP_READ: crate::Register = crate::Register::new(2, 0x1); - pub const MMCM_DRP_READ_MMCM_DRP_READ: crate::Field = crate::Field::new(1, 0, MMCM_DRP_READ); - - pub const MMCM_DRP_WRITE: crate::Register = crate::Register::new(3, 0x1); - pub const MMCM_DRP_WRITE_MMCM_DRP_WRITE: crate::Field = crate::Field::new(1, 0, MMCM_DRP_WRITE); - - pub const MMCM_DRP_DRDY: crate::Register = crate::Register::new(4, 0x1); - pub const MMCM_DRP_DRDY_MMCM_DRP_DRDY: crate::Field = crate::Field::new(1, 0, MMCM_DRP_DRDY); - - pub const MMCM_DRP_ADR: crate::Register = crate::Register::new(5, 0x7f); - pub const MMCM_DRP_ADR_MMCM_DRP_ADR: crate::Field = crate::Field::new(7, 0, MMCM_DRP_ADR); - - pub const MMCM_DRP_DAT_W: crate::Register = crate::Register::new(6, 0xffff); - pub const MMCM_DRP_DAT_W_MMCM_DRP_DAT_W: crate::Field = crate::Field::new(16, 0, MMCM_DRP_DAT_W); - - pub const MMCM_DRP_DAT_R: crate::Register = crate::Register::new(7, 0xffff); - pub const MMCM_DRP_DAT_R_MMCM_DRP_DAT_R: crate::Field = crate::Field::new(16, 0, MMCM_DRP_DAT_R); - - pub const HW_CRG_BASE: usize = 0xf0002000; - } - - pub mod gpio { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum GpioOffset { - Output = 0, - Input = 4, - Drive = 8, - Intena = 12, - Intpol = 16, - Uartsel = 20, - Debug = 24, - EvStatus = 28, - EvPending = 32, - EvEnable = 36, - } - pub const GPIO_NUMREGS: usize = 10; - - pub const OUTPUT: crate::Register = crate::Register::new(0, 0xff); - pub const OUTPUT_OUTPUT: crate::Field = crate::Field::new(8, 0, OUTPUT); - - pub const INPUT: crate::Register = crate::Register::new(1, 0xff); - pub const INPUT_INPUT: crate::Field = crate::Field::new(8, 0, INPUT); - - pub const DRIVE: crate::Register = crate::Register::new(2, 0xff); - pub const DRIVE_DRIVE: crate::Field = crate::Field::new(8, 0, DRIVE); - - pub const INTENA: crate::Register = crate::Register::new(3, 0xff); - pub const INTENA_INTENA: crate::Field = crate::Field::new(8, 0, INTENA); - - pub const INTPOL: crate::Register = crate::Register::new(4, 0xff); - pub const INTPOL_INTPOL: crate::Field = crate::Field::new(8, 0, INTPOL); - - pub const UARTSEL: crate::Register = crate::Register::new(5, 0x3); - pub const UARTSEL_UARTSEL: crate::Field = crate::Field::new(2, 0, UARTSEL); - - pub const DEBUG: crate::Register = crate::Register::new(6, 0x3); - pub const DEBUG_WFI: crate::Field = crate::Field::new(1, 0, DEBUG); - pub const DEBUG_WAKEUP: crate::Field = crate::Field::new(1, 1, DEBUG); - - pub const EV_STATUS: crate::Register = crate::Register::new(7, 0xff); - pub const EV_STATUS_EVENT0: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_EVENT1: crate::Field = crate::Field::new(1, 1, EV_STATUS); - pub const EV_STATUS_EVENT2: crate::Field = crate::Field::new(1, 2, EV_STATUS); - pub const EV_STATUS_EVENT3: crate::Field = crate::Field::new(1, 3, EV_STATUS); - pub const EV_STATUS_EVENT4: crate::Field = crate::Field::new(1, 4, EV_STATUS); - pub const EV_STATUS_EVENT5: crate::Field = crate::Field::new(1, 5, EV_STATUS); - pub const EV_STATUS_EVENT6: crate::Field = crate::Field::new(1, 6, EV_STATUS); - pub const EV_STATUS_EVENT7: crate::Field = crate::Field::new(1, 7, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(8, 0xff); - pub const EV_PENDING_EVENT0: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_EVENT1: crate::Field = crate::Field::new(1, 1, EV_PENDING); - pub const EV_PENDING_EVENT2: crate::Field = crate::Field::new(1, 2, EV_PENDING); - pub const EV_PENDING_EVENT3: crate::Field = crate::Field::new(1, 3, EV_PENDING); - pub const EV_PENDING_EVENT4: crate::Field = crate::Field::new(1, 4, EV_PENDING); - pub const EV_PENDING_EVENT5: crate::Field = crate::Field::new(1, 5, EV_PENDING); - pub const EV_PENDING_EVENT6: crate::Field = crate::Field::new(1, 6, EV_PENDING); - pub const EV_PENDING_EVENT7: crate::Field = crate::Field::new(1, 7, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(9, 0xff); - pub const EV_ENABLE_EVENT0: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_EVENT1: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - pub const EV_ENABLE_EVENT2: crate::Field = crate::Field::new(1, 2, EV_ENABLE); - pub const EV_ENABLE_EVENT3: crate::Field = crate::Field::new(1, 3, EV_ENABLE); - pub const EV_ENABLE_EVENT4: crate::Field = crate::Field::new(1, 4, EV_ENABLE); - pub const EV_ENABLE_EVENT5: crate::Field = crate::Field::new(1, 5, EV_ENABLE); - pub const EV_ENABLE_EVENT6: crate::Field = crate::Field::new(1, 6, EV_ENABLE); - pub const EV_ENABLE_EVENT7: crate::Field = crate::Field::new(1, 7, EV_ENABLE); - - pub const GPIO_IRQ: usize = 1; - pub const HW_GPIO_BASE: usize = 0xf0003000; - } - - pub mod uart { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum UartOffset { - Rxtx = 0, - Txfull = 4, - Rxempty = 8, - EvStatus = 12, - EvPending = 16, - EvEnable = 20, - Txempty = 24, - Rxfull = 28, - } - pub const UART_NUMREGS: usize = 8; - - pub const RXTX: crate::Register = crate::Register::new(0, 0xff); - pub const RXTX_RXTX: crate::Field = crate::Field::new(8, 0, RXTX); - - pub const TXFULL: crate::Register = crate::Register::new(1, 0x1); - pub const TXFULL_TXFULL: crate::Field = crate::Field::new(1, 0, TXFULL); - - pub const RXEMPTY: crate::Register = crate::Register::new(2, 0x1); - pub const RXEMPTY_RXEMPTY: crate::Field = crate::Field::new(1, 0, RXEMPTY); - - pub const EV_STATUS: crate::Register = crate::Register::new(3, 0x3); - pub const EV_STATUS_TX: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_RX: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(4, 0x3); - pub const EV_PENDING_TX: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_RX: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(5, 0x3); - pub const EV_ENABLE_TX: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_RX: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const TXEMPTY: crate::Register = crate::Register::new(6, 0x1); - pub const TXEMPTY_TXEMPTY: crate::Field = crate::Field::new(1, 0, TXEMPTY); - - pub const RXFULL: crate::Register = crate::Register::new(7, 0x1); - pub const RXFULL_RXFULL: crate::Field = crate::Field::new(1, 0, RXFULL); - - pub const UART_IRQ: usize = 2; - pub const HW_UART_BASE: usize = 0xf0005000; - } - - pub mod console { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum ConsoleOffset { - Rxtx = 0, - Txfull = 4, - Rxempty = 8, - EvStatus = 12, - EvPending = 16, - EvEnable = 20, - Txempty = 24, - Rxfull = 28, - } - pub const CONSOLE_NUMREGS: usize = 8; - - pub const RXTX: crate::Register = crate::Register::new(0, 0xff); - pub const RXTX_RXTX: crate::Field = crate::Field::new(8, 0, RXTX); - - pub const TXFULL: crate::Register = crate::Register::new(1, 0x1); - pub const TXFULL_TXFULL: crate::Field = crate::Field::new(1, 0, TXFULL); - - pub const RXEMPTY: crate::Register = crate::Register::new(2, 0x1); - pub const RXEMPTY_RXEMPTY: crate::Field = crate::Field::new(1, 0, RXEMPTY); - - pub const EV_STATUS: crate::Register = crate::Register::new(3, 0x3); - pub const EV_STATUS_TX: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_RX: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(4, 0x3); - pub const EV_PENDING_TX: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_RX: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(5, 0x3); - pub const EV_ENABLE_TX: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_RX: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const TXEMPTY: crate::Register = crate::Register::new(6, 0x1); - pub const TXEMPTY_TXEMPTY: crate::Field = crate::Field::new(1, 0, TXEMPTY); - - pub const RXFULL: crate::Register = crate::Register::new(7, 0x1); - pub const RXFULL_RXFULL: crate::Field = crate::Field::new(1, 0, RXFULL); - - pub const CONSOLE_IRQ: usize = 3; - pub const HW_CONSOLE_BASE: usize = 0xf0007000; - } - - pub mod app_uart { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum AppUartOffset { - Rxtx = 0, - Txfull = 4, - Rxempty = 8, - EvStatus = 12, - EvPending = 16, - EvEnable = 20, - Txempty = 24, - Rxfull = 28, - } - pub const APP_UART_NUMREGS: usize = 8; - - pub const RXTX: crate::Register = crate::Register::new(0, 0xff); - pub const RXTX_RXTX: crate::Field = crate::Field::new(8, 0, RXTX); - - pub const TXFULL: crate::Register = crate::Register::new(1, 0x1); - pub const TXFULL_TXFULL: crate::Field = crate::Field::new(1, 0, TXFULL); - - pub const RXEMPTY: crate::Register = crate::Register::new(2, 0x1); - pub const RXEMPTY_RXEMPTY: crate::Field = crate::Field::new(1, 0, RXEMPTY); - - pub const EV_STATUS: crate::Register = crate::Register::new(3, 0x3); - pub const EV_STATUS_TX: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_RX: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(4, 0x3); - pub const EV_PENDING_TX: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_RX: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(5, 0x3); - pub const EV_ENABLE_TX: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_RX: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const TXEMPTY: crate::Register = crate::Register::new(6, 0x1); - pub const TXEMPTY_TXEMPTY: crate::Field = crate::Field::new(1, 0, TXEMPTY); - - pub const RXFULL: crate::Register = crate::Register::new(7, 0x1); - pub const RXFULL_RXFULL: crate::Field = crate::Field::new(1, 0, RXFULL); - - pub const APP_UART_IRQ: usize = 4; - pub const HW_APP_UART_BASE: usize = 0xf0009000; - } - - pub mod info { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum InfoOffset { - DnaId1 = 0, - DnaId0 = 4, - GitMajor = 8, - GitMinor = 12, - GitRevision = 16, - GitGitrev = 20, - GitGitextra = 24, - GitDirty = 28, - PlatformPlatform1 = 32, - PlatformPlatform0 = 36, - PlatformTarget1 = 40, - PlatformTarget0 = 44, - } - pub const INFO_NUMREGS: usize = 12; - - pub const DNA_ID1: crate::Register = crate::Register::new(0, 0xffffffff); - pub const DNA_ID1_DNA_ID: crate::Field = crate::Field::new(32, 0, DNA_ID1); - - pub const DNA_ID0: crate::Register = crate::Register::new(1, 0xffffffff); - pub const DNA_ID0_DNA_ID: crate::Field = crate::Field::new(32, 0, DNA_ID0); - - pub const GIT_MAJOR: crate::Register = crate::Register::new(2, 0xff); - pub const GIT_MAJOR_GIT_MAJOR: crate::Field = crate::Field::new(8, 0, GIT_MAJOR); - - pub const GIT_MINOR: crate::Register = crate::Register::new(3, 0xff); - pub const GIT_MINOR_GIT_MINOR: crate::Field = crate::Field::new(8, 0, GIT_MINOR); - - pub const GIT_REVISION: crate::Register = crate::Register::new(4, 0xff); - pub const GIT_REVISION_GIT_REVISION: crate::Field = crate::Field::new(8, 0, GIT_REVISION); - - pub const GIT_GITREV: crate::Register = crate::Register::new(5, 0xffffffff); - pub const GIT_GITREV_GIT_GITREV: crate::Field = crate::Field::new(32, 0, GIT_GITREV); - - pub const GIT_GITEXTRA: crate::Register = crate::Register::new(6, 0x3ff); - pub const GIT_GITEXTRA_GIT_GITEXTRA: crate::Field = crate::Field::new(10, 0, GIT_GITEXTRA); - - pub const GIT_DIRTY: crate::Register = crate::Register::new(7, 0x1); - pub const GIT_DIRTY_DIRTY: crate::Field = crate::Field::new(1, 0, GIT_DIRTY); - - pub const PLATFORM_PLATFORM1: crate::Register = crate::Register::new(8, 0xffffffff); - pub const PLATFORM_PLATFORM1_PLATFORM_PLATFORM: crate::Field = crate::Field::new(32, 0, PLATFORM_PLATFORM1); - - pub const PLATFORM_PLATFORM0: crate::Register = crate::Register::new(9, 0xffffffff); - pub const PLATFORM_PLATFORM0_PLATFORM_PLATFORM: crate::Field = crate::Field::new(32, 0, PLATFORM_PLATFORM0); - - pub const PLATFORM_TARGET1: crate::Register = crate::Register::new(10, 0xffffffff); - pub const PLATFORM_TARGET1_PLATFORM_TARGET: crate::Field = crate::Field::new(32, 0, PLATFORM_TARGET1); - - pub const PLATFORM_TARGET0: crate::Register = crate::Register::new(11, 0xffffffff); - pub const PLATFORM_TARGET0_PLATFORM_TARGET: crate::Field = crate::Field::new(32, 0, PLATFORM_TARGET0); - - pub const HW_INFO_BASE: usize = 0xf000a000; - } - - pub mod sram_ext { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum SramExtOffset { - ConfigStatus = 0, - ReadConfig = 4, - } - pub const SRAM_EXT_NUMREGS: usize = 2; - - pub const CONFIG_STATUS: crate::Register = crate::Register::new(0, 0xffffffff); - pub const CONFIG_STATUS_MODE: crate::Field = crate::Field::new(32, 0, CONFIG_STATUS); - - pub const READ_CONFIG: crate::Register = crate::Register::new(1, 0x1); - pub const READ_CONFIG_TRIGGER: crate::Field = crate::Field::new(1, 0, READ_CONFIG); - - pub const HW_SRAM_EXT_BASE: usize = 0xf000b000; - } - - pub mod memlcd { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum MemlcdOffset { - Command = 0, - Busy = 4, - Prescaler = 8, - EvStatus = 12, - EvPending = 16, - EvEnable = 20, - Devboot = 24, - Devstatus = 28, - } - pub const MEMLCD_NUMREGS: usize = 8; - - pub const COMMAND: crate::Register = crate::Register::new(0, 0x3); - pub const COMMAND_UPDATEDIRTY: crate::Field = crate::Field::new(1, 0, COMMAND); - pub const COMMAND_UPDATEALL: crate::Field = crate::Field::new(1, 1, COMMAND); - - pub const BUSY: crate::Register = crate::Register::new(1, 0x1); - pub const BUSY_BUSY: crate::Field = crate::Field::new(1, 0, BUSY); - - pub const PRESCALER: crate::Register = crate::Register::new(2, 0xff); - pub const PRESCALER_PRESCALER: crate::Field = crate::Field::new(8, 0, PRESCALER); - - pub const EV_STATUS: crate::Register = crate::Register::new(3, 0x1); - pub const EV_STATUS_DONE: crate::Field = crate::Field::new(1, 0, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(4, 0x1); - pub const EV_PENDING_DONE: crate::Field = crate::Field::new(1, 0, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(5, 0x1); - pub const EV_ENABLE_DONE: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - - pub const DEVBOOT: crate::Register = crate::Register::new(6, 0x1); - pub const DEVBOOT_DEVBOOT: crate::Field = crate::Field::new(1, 0, DEVBOOT); - - pub const DEVSTATUS: crate::Register = crate::Register::new(7, 0x1); - pub const DEVSTATUS_DEVSTATUS: crate::Field = crate::Field::new(1, 0, DEVSTATUS); - - pub const HW_MEMLCD_BASE: usize = 0xf000c000; - } - - pub mod com { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum ComOffset { - Tx = 0, - Rx = 4, - Control = 8, - Status = 12, - EvStatus = 16, - EvPending = 20, - EvEnable = 24, - } - pub const COM_NUMREGS: usize = 7; - - pub const TX: crate::Register = crate::Register::new(0, 0xffff); - pub const TX_TX: crate::Field = crate::Field::new(16, 0, TX); - - pub const RX: crate::Register = crate::Register::new(1, 0xffff); - pub const RX_RX: crate::Field = crate::Field::new(16, 0, RX); - - pub const CONTROL: crate::Register = crate::Register::new(2, 0x3); - pub const CONTROL_INTENA: crate::Field = crate::Field::new(1, 0, CONTROL); - pub const CONTROL_AUTOHOLD: crate::Field = crate::Field::new(1, 1, CONTROL); - - pub const STATUS: crate::Register = crate::Register::new(3, 0x3); - pub const STATUS_TIP: crate::Field = crate::Field::new(1, 0, STATUS); - pub const STATUS_HOLD: crate::Field = crate::Field::new(1, 1, STATUS); - - pub const EV_STATUS: crate::Register = crate::Register::new(4, 0x3); - pub const EV_STATUS_SPI_INT: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_SPI_HOLD: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(5, 0x3); - pub const EV_PENDING_SPI_INT: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_SPI_HOLD: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(6, 0x3); - pub const EV_ENABLE_SPI_INT: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_SPI_HOLD: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const COM_IRQ: usize = 5; - pub const HW_COM_BASE: usize = 0xf000d000; - } - - pub mod i2c { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum I2COffset { - Prescale = 0, - Control = 4, - Txr = 8, - Rxr = 12, - Command = 16, - Status = 20, - CoreReset = 24, - EvStatus = 28, - EvPending = 32, - EvEnable = 36, - } - pub const I2C_NUMREGS: usize = 10; - - pub const PRESCALE: crate::Register = crate::Register::new(0, 0xffff); - pub const PRESCALE_PRESCALE: crate::Field = crate::Field::new(16, 0, PRESCALE); - - pub const CONTROL: crate::Register = crate::Register::new(1, 0xff); - pub const CONTROL_RESVD: crate::Field = crate::Field::new(6, 0, CONTROL); - pub const CONTROL_IEN: crate::Field = crate::Field::new(1, 6, CONTROL); - pub const CONTROL_EN: crate::Field = crate::Field::new(1, 7, CONTROL); - - pub const TXR: crate::Register = crate::Register::new(2, 0xff); - pub const TXR_TXR: crate::Field = crate::Field::new(8, 0, TXR); - - pub const RXR: crate::Register = crate::Register::new(3, 0xff); - pub const RXR_RXR: crate::Field = crate::Field::new(8, 0, RXR); - - pub const COMMAND: crate::Register = crate::Register::new(4, 0xff); - pub const COMMAND_IACK: crate::Field = crate::Field::new(1, 0, COMMAND); - pub const COMMAND_RESVD: crate::Field = crate::Field::new(2, 1, COMMAND); - pub const COMMAND_ACK: crate::Field = crate::Field::new(1, 3, COMMAND); - pub const COMMAND_WR: crate::Field = crate::Field::new(1, 4, COMMAND); - pub const COMMAND_RD: crate::Field = crate::Field::new(1, 5, COMMAND); - pub const COMMAND_STO: crate::Field = crate::Field::new(1, 6, COMMAND); - pub const COMMAND_STA: crate::Field = crate::Field::new(1, 7, COMMAND); - - pub const STATUS: crate::Register = crate::Register::new(5, 0xff); - pub const STATUS_IF: crate::Field = crate::Field::new(1, 0, STATUS); - pub const STATUS_TIP: crate::Field = crate::Field::new(1, 1, STATUS); - pub const STATUS_RESVD: crate::Field = crate::Field::new(3, 2, STATUS); - pub const STATUS_ARBLOST: crate::Field = crate::Field::new(1, 5, STATUS); - pub const STATUS_BUSY: crate::Field = crate::Field::new(1, 6, STATUS); - pub const STATUS_RXACK: crate::Field = crate::Field::new(1, 7, STATUS); - - pub const CORE_RESET: crate::Register = crate::Register::new(6, 0x1); - pub const CORE_RESET_RESET: crate::Field = crate::Field::new(1, 0, CORE_RESET); - - pub const EV_STATUS: crate::Register = crate::Register::new(7, 0x3); - pub const EV_STATUS_I2C_INT: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_TXRX_DONE: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(8, 0x3); - pub const EV_PENDING_I2C_INT: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_TXRX_DONE: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(9, 0x3); - pub const EV_ENABLE_I2C_INT: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_TXRX_DONE: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const I2C_IRQ: usize = 6; - pub const HW_I2C_BASE: usize = 0xf000e000; - } - - pub mod btevents { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum BteventsOffset { - EvStatus = 0, - EvPending = 4, - EvEnable = 8, - } - pub const BTEVENTS_NUMREGS: usize = 3; - - pub const EV_STATUS: crate::Register = crate::Register::new(0, 0x3); - pub const EV_STATUS_COM_INT: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_RTC_INT: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(1, 0x3); - pub const EV_PENDING_COM_INT: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_RTC_INT: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(2, 0x3); - pub const EV_ENABLE_COM_INT: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_RTC_INT: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const BTEVENTS_IRQ: usize = 7; - pub const HW_BTEVENTS_BASE: usize = 0xf000f000; - } - - pub mod messible { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum MessibleOffset { - In = 0, - Out = 4, - Status = 8, - } - pub const MESSIBLE_NUMREGS: usize = 3; - - pub const IN: crate::Register = crate::Register::new(0, 0xff); - pub const IN_IN: crate::Field = crate::Field::new(8, 0, IN); - - pub const OUT: crate::Register = crate::Register::new(1, 0xff); - pub const OUT_OUT: crate::Field = crate::Field::new(8, 0, OUT); - - pub const STATUS: crate::Register = crate::Register::new(2, 0x3); - pub const STATUS_FULL: crate::Field = crate::Field::new(1, 0, STATUS); - pub const STATUS_HAVE: crate::Field = crate::Field::new(1, 1, STATUS); - - pub const HW_MESSIBLE_BASE: usize = 0xf0010000; - } - - pub mod messible2 { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum Messible2Offset { - In = 0, - Out = 4, - Status = 8, - } - pub const MESSIBLE2_NUMREGS: usize = 3; - - pub const IN: crate::Register = crate::Register::new(0, 0xff); - pub const IN_IN: crate::Field = crate::Field::new(8, 0, IN); - - pub const OUT: crate::Register = crate::Register::new(1, 0xff); - pub const OUT_OUT: crate::Field = crate::Field::new(8, 0, OUT); - - pub const STATUS: crate::Register = crate::Register::new(2, 0x3); - pub const STATUS_FULL: crate::Field = crate::Field::new(1, 0, STATUS); - pub const STATUS_HAVE: crate::Field = crate::Field::new(1, 1, STATUS); - - pub const HW_MESSIBLE2_BASE: usize = 0xf0011000; - } - - pub mod ticktimer { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum TicktimerOffset { - Control = 0, - Time1 = 4, - Time0 = 8, - MsleepTarget1 = 12, - MsleepTarget0 = 16, - EvStatus = 20, - EvPending = 24, - EvEnable = 28, - } - pub const TICKTIMER_NUMREGS: usize = 8; - - pub const CONTROL: crate::Register = crate::Register::new(0, 0x1); - pub const CONTROL_RESET: crate::Field = crate::Field::new(1, 0, CONTROL); - - pub const TIME1: crate::Register = crate::Register::new(1, 0xffffffff); - pub const TIME1_TIME: crate::Field = crate::Field::new(32, 0, TIME1); - - pub const TIME0: crate::Register = crate::Register::new(2, 0xffffffff); - pub const TIME0_TIME: crate::Field = crate::Field::new(32, 0, TIME0); - - pub const MSLEEP_TARGET1: crate::Register = crate::Register::new(3, 0xffffffff); - pub const MSLEEP_TARGET1_MSLEEP_TARGET: crate::Field = crate::Field::new(32, 0, MSLEEP_TARGET1); - - pub const MSLEEP_TARGET0: crate::Register = crate::Register::new(4, 0xffffffff); - pub const MSLEEP_TARGET0_MSLEEP_TARGET: crate::Field = crate::Field::new(32, 0, MSLEEP_TARGET0); - - pub const EV_STATUS: crate::Register = crate::Register::new(5, 0x1); - pub const EV_STATUS_ALARM: crate::Field = crate::Field::new(1, 0, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(6, 0x1); - pub const EV_PENDING_ALARM: crate::Field = crate::Field::new(1, 0, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(7, 0x1); - pub const EV_ENABLE_ALARM: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - - pub const TICKTIMER_IRQ: usize = 8; - pub const HW_TICKTIMER_BASE: usize = 0xf0012000; - } - - pub mod susres { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum SusresOffset { - Control = 0, - ResumeTime1 = 4, - ResumeTime0 = 8, - Time1 = 12, - Time0 = 16, - Status = 20, - State = 24, - Powerdown = 28, - Wfi = 32, - Interrupt = 36, - EvStatus = 40, - EvPending = 44, - EvEnable = 48, - } - pub const SUSRES_NUMREGS: usize = 13; - - pub const CONTROL: crate::Register = crate::Register::new(0, 0x3); - pub const CONTROL_PAUSE: crate::Field = crate::Field::new(1, 0, CONTROL); - pub const CONTROL_LOAD: crate::Field = crate::Field::new(1, 1, CONTROL); - - pub const RESUME_TIME1: crate::Register = crate::Register::new(1, 0xffffffff); - pub const RESUME_TIME1_RESUME_TIME: crate::Field = crate::Field::new(32, 0, RESUME_TIME1); - - pub const RESUME_TIME0: crate::Register = crate::Register::new(2, 0xffffffff); - pub const RESUME_TIME0_RESUME_TIME: crate::Field = crate::Field::new(32, 0, RESUME_TIME0); - - pub const TIME1: crate::Register = crate::Register::new(3, 0xffffffff); - pub const TIME1_TIME: crate::Field = crate::Field::new(32, 0, TIME1); - - pub const TIME0: crate::Register = crate::Register::new(4, 0xffffffff); - pub const TIME0_TIME: crate::Field = crate::Field::new(32, 0, TIME0); - - pub const STATUS: crate::Register = crate::Register::new(5, 0x1); - pub const STATUS_PAUSED: crate::Field = crate::Field::new(1, 0, STATUS); - - pub const STATE: crate::Register = crate::Register::new(6, 0x3); - pub const STATE_RESUME: crate::Field = crate::Field::new(1, 0, STATE); - pub const STATE_WAS_FORCED: crate::Field = crate::Field::new(1, 1, STATE); - - pub const POWERDOWN: crate::Register = crate::Register::new(7, 0x1); - pub const POWERDOWN_POWERDOWN: crate::Field = crate::Field::new(1, 0, POWERDOWN); - - pub const WFI: crate::Register = crate::Register::new(8, 0x1); - pub const WFI_OVERRIDE: crate::Field = crate::Field::new(1, 0, WFI); - - pub const INTERRUPT: crate::Register = crate::Register::new(9, 0x1); - pub const INTERRUPT_INTERRUPT: crate::Field = crate::Field::new(1, 0, INTERRUPT); - - pub const EV_STATUS: crate::Register = crate::Register::new(10, 0x1); - pub const EV_STATUS_SOFT_INT: crate::Field = crate::Field::new(1, 0, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(11, 0x1); - pub const EV_PENDING_SOFT_INT: crate::Field = crate::Field::new(1, 0, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(12, 0x1); - pub const EV_ENABLE_SOFT_INT: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - - pub const SUSRES_IRQ: usize = 9; - pub const HW_SUSRES_BASE: usize = 0xf0013000; - } - - pub mod power { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum PowerOffset { - Power = 0, - ClkStatus = 4, - WakeupSource = 8, - ActivityRate = 12, - SamplingPeriod = 16, - Vibe = 20, - EvStatus = 24, - EvPending = 28, - EvEnable = 32, - } - pub const POWER_NUMREGS: usize = 9; - - pub const POWER: crate::Register = crate::Register::new(0, 0xfff); - pub const POWER_AUDIO: crate::Field = crate::Field::new(1, 0, POWER); - pub const POWER_SELF: crate::Field = crate::Field::new(1, 1, POWER); - pub const POWER_EC_SNOOP: crate::Field = crate::Field::new(1, 2, POWER); - pub const POWER_STATE: crate::Field = crate::Field::new(2, 3, POWER); - pub const POWER_RESET_EC: crate::Field = crate::Field::new(1, 5, POWER); - pub const POWER_UP5K_ON: crate::Field = crate::Field::new(1, 6, POWER); - pub const POWER_BOOSTMODE: crate::Field = crate::Field::new(1, 7, POWER); - pub const POWER_SELFDESTRUCT: crate::Field = crate::Field::new(1, 8, POWER); - pub const POWER_CRYPTO_ON: crate::Field = crate::Field::new(1, 9, POWER); - pub const POWER_IGNORE_LOCKED: crate::Field = crate::Field::new(1, 10, POWER); - pub const POWER_DISABLE_WFI: crate::Field = crate::Field::new(1, 11, POWER); - - pub const CLK_STATUS: crate::Register = crate::Register::new(1, 0xf); - pub const CLK_STATUS_CRYPTO_ON: crate::Field = crate::Field::new(1, 0, CLK_STATUS); - pub const CLK_STATUS_SHA_ON: crate::Field = crate::Field::new(1, 1, CLK_STATUS); - pub const CLK_STATUS_ENGINE_ON: crate::Field = crate::Field::new(1, 2, CLK_STATUS); - pub const CLK_STATUS_BTPOWER_ON: crate::Field = crate::Field::new(1, 3, CLK_STATUS); - - pub const WAKEUP_SOURCE: crate::Register = crate::Register::new(2, 0xff); - pub const WAKEUP_SOURCE_KBD: crate::Field = crate::Field::new(1, 0, WAKEUP_SOURCE); - pub const WAKEUP_SOURCE_TICKTIMER: crate::Field = crate::Field::new(1, 1, WAKEUP_SOURCE); - pub const WAKEUP_SOURCE_TIMER0: crate::Field = crate::Field::new(1, 2, WAKEUP_SOURCE); - pub const WAKEUP_SOURCE_USB: crate::Field = crate::Field::new(1, 3, WAKEUP_SOURCE); - pub const WAKEUP_SOURCE_AUDIO: crate::Field = crate::Field::new(1, 4, WAKEUP_SOURCE); - pub const WAKEUP_SOURCE_COM: crate::Field = crate::Field::new(1, 5, WAKEUP_SOURCE); - pub const WAKEUP_SOURCE_RTC: crate::Field = crate::Field::new(1, 6, WAKEUP_SOURCE); - pub const WAKEUP_SOURCE_CONSOLE: crate::Field = crate::Field::new(1, 7, WAKEUP_SOURCE); - - pub const ACTIVITY_RATE: crate::Register = crate::Register::new(3, 0x7fffffff); - pub const ACTIVITY_RATE_COUNTS_AWAKE: crate::Field = crate::Field::new(31, 0, ACTIVITY_RATE); - - pub const SAMPLING_PERIOD: crate::Register = crate::Register::new(4, 0xffffffff); - pub const SAMPLING_PERIOD_SAMPLE_PERIOD: crate::Field = crate::Field::new(31, 0, SAMPLING_PERIOD); - pub const SAMPLING_PERIOD_KILL_SAMPLER: crate::Field = crate::Field::new(1, 31, SAMPLING_PERIOD); - - pub const VIBE: crate::Register = crate::Register::new(5, 0x1); - pub const VIBE_VIBE: crate::Field = crate::Field::new(1, 0, VIBE); - - pub const EV_STATUS: crate::Register = crate::Register::new(6, 0x3); - pub const EV_STATUS_USB_ATTACH: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_ACTIVITY_UPDATE: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(7, 0x3); - pub const EV_PENDING_USB_ATTACH: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_ACTIVITY_UPDATE: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(8, 0x3); - pub const EV_ENABLE_USB_ATTACH: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_ACTIVITY_UPDATE: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const POWER_IRQ: usize = 10; - pub const HW_POWER_BASE: usize = 0xf0014000; - } - - pub mod spinor_soft_int { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum SpinorSoftIntOffset { - EvStatus = 0, - EvPending = 4, - EvEnable = 8, - Softint = 12, - } - pub const SPINOR_SOFT_INT_NUMREGS: usize = 4; - - pub const EV_STATUS: crate::Register = crate::Register::new(0, 0x1); - pub const EV_STATUS_SPINOR_INT: crate::Field = crate::Field::new(1, 0, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(1, 0x1); - pub const EV_PENDING_SPINOR_INT: crate::Field = crate::Field::new(1, 0, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(2, 0x1); - pub const EV_ENABLE_SPINOR_INT: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - - pub const SOFTINT: crate::Register = crate::Register::new(3, 0x1); - pub const SOFTINT_SOFTINT: crate::Field = crate::Field::new(1, 0, SOFTINT); - - pub const SPINOR_SOFT_INT_IRQ: usize = 11; - pub const HW_SPINOR_SOFT_INT_BASE: usize = 0xf0015000; - } - - pub mod spinor { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum SpinorOffset { - Config = 0, - DelayConfig = 4, - DelayStatus = 8, - Command = 12, - CmdArg = 16, - CmdRbkData = 20, - Status = 24, - Wdata = 28, - EvStatus = 32, - EvPending = 36, - EvEnable = 40, - EccAddress = 44, - EccStatus = 48, - } - pub const SPINOR_NUMREGS: usize = 13; - - pub const CONFIG: crate::Register = crate::Register::new(0, 0x1f); - pub const CONFIG_DUMMY: crate::Field = crate::Field::new(5, 0, CONFIG); - - pub const DELAY_CONFIG: crate::Register = crate::Register::new(1, 0x3f); - pub const DELAY_CONFIG_D: crate::Field = crate::Field::new(5, 0, DELAY_CONFIG); - pub const DELAY_CONFIG_LOAD: crate::Field = crate::Field::new(1, 5, DELAY_CONFIG); - - pub const DELAY_STATUS: crate::Register = crate::Register::new(2, 0x1f); - pub const DELAY_STATUS_Q: crate::Field = crate::Field::new(5, 0, DELAY_STATUS); - - pub const COMMAND: crate::Register = crate::Register::new(3, 0x1ffffff); - pub const COMMAND_WAKEUP: crate::Field = crate::Field::new(1, 0, COMMAND); - pub const COMMAND_EXEC_CMD: crate::Field = crate::Field::new(1, 1, COMMAND); - pub const COMMAND_CMD_CODE: crate::Field = crate::Field::new(8, 2, COMMAND); - pub const COMMAND_HAS_ARG: crate::Field = crate::Field::new(1, 10, COMMAND); - pub const COMMAND_DUMMY_CYCLES: crate::Field = crate::Field::new(5, 11, COMMAND); - pub const COMMAND_DATA_WORDS: crate::Field = crate::Field::new(8, 16, COMMAND); - pub const COMMAND_LOCK_READS: crate::Field = crate::Field::new(1, 24, COMMAND); - - pub const CMD_ARG: crate::Register = crate::Register::new(4, 0xffffffff); - pub const CMD_ARG_CMD_ARG: crate::Field = crate::Field::new(32, 0, CMD_ARG); - - pub const CMD_RBK_DATA: crate::Register = crate::Register::new(5, 0xffffffff); - pub const CMD_RBK_DATA_CMD_RBK_DATA: crate::Field = crate::Field::new(32, 0, CMD_RBK_DATA); - - pub const STATUS: crate::Register = crate::Register::new(6, 0x1); - pub const STATUS_WIP: crate::Field = crate::Field::new(1, 0, STATUS); - - pub const WDATA: crate::Register = crate::Register::new(7, 0xffff); - pub const WDATA_WDATA: crate::Field = crate::Field::new(16, 0, WDATA); - - pub const EV_STATUS: crate::Register = crate::Register::new(8, 0x1); - pub const EV_STATUS_ECC_ERROR: crate::Field = crate::Field::new(1, 0, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(9, 0x1); - pub const EV_PENDING_ECC_ERROR: crate::Field = crate::Field::new(1, 0, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(10, 0x1); - pub const EV_ENABLE_ECC_ERROR: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - - pub const ECC_ADDRESS: crate::Register = crate::Register::new(11, 0xffffffff); - pub const ECC_ADDRESS_ECC_ADDRESS: crate::Field = crate::Field::new(32, 0, ECC_ADDRESS); - - pub const ECC_STATUS: crate::Register = crate::Register::new(12, 0x3); - pub const ECC_STATUS_ECC_ERROR: crate::Field = crate::Field::new(1, 0, ECC_STATUS); - pub const ECC_STATUS_ECC_OVERFLOW: crate::Field = crate::Field::new(1, 1, ECC_STATUS); - - pub const SPINOR_IRQ: usize = 12; - pub const HW_SPINOR_BASE: usize = 0xf0016000; - } - - pub mod keyboard { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum KeyboardOffset { - UartChar = 0, - Row0Dat = 4, - Row1Dat = 8, - Row2Dat = 12, - Row3Dat = 16, - Row4Dat = 20, - Row5Dat = 24, - Row6Dat = 28, - Row7Dat = 32, - Row8Dat = 36, - EvStatus = 40, - EvPending = 44, - EvEnable = 48, - } - pub const KEYBOARD_NUMREGS: usize = 13; - - pub const UART_CHAR: crate::Register = crate::Register::new(0, 0x1ff); - pub const UART_CHAR_CHAR: crate::Field = crate::Field::new(8, 0, UART_CHAR); - pub const UART_CHAR_STB: crate::Field = crate::Field::new(1, 8, UART_CHAR); - - pub const ROW0DAT: crate::Register = crate::Register::new(1, 0x3ff); - pub const ROW0DAT_ROW0DAT: crate::Field = crate::Field::new(10, 0, ROW0DAT); - - pub const ROW1DAT: crate::Register = crate::Register::new(2, 0x3ff); - pub const ROW1DAT_ROW1DAT: crate::Field = crate::Field::new(10, 0, ROW1DAT); - - pub const ROW2DAT: crate::Register = crate::Register::new(3, 0x3ff); - pub const ROW2DAT_ROW2DAT: crate::Field = crate::Field::new(10, 0, ROW2DAT); - - pub const ROW3DAT: crate::Register = crate::Register::new(4, 0x3ff); - pub const ROW3DAT_ROW3DAT: crate::Field = crate::Field::new(10, 0, ROW3DAT); - - pub const ROW4DAT: crate::Register = crate::Register::new(5, 0x3ff); - pub const ROW4DAT_ROW4DAT: crate::Field = crate::Field::new(10, 0, ROW4DAT); - - pub const ROW5DAT: crate::Register = crate::Register::new(6, 0x3ff); - pub const ROW5DAT_ROW5DAT: crate::Field = crate::Field::new(10, 0, ROW5DAT); - - pub const ROW6DAT: crate::Register = crate::Register::new(7, 0x3ff); - pub const ROW6DAT_ROW6DAT: crate::Field = crate::Field::new(10, 0, ROW6DAT); - - pub const ROW7DAT: crate::Register = crate::Register::new(8, 0x3ff); - pub const ROW7DAT_ROW7DAT: crate::Field = crate::Field::new(10, 0, ROW7DAT); - - pub const ROW8DAT: crate::Register = crate::Register::new(9, 0x3ff); - pub const ROW8DAT_ROW8DAT: crate::Field = crate::Field::new(10, 0, ROW8DAT); - - pub const EV_STATUS: crate::Register = crate::Register::new(10, 0x3); - pub const EV_STATUS_KEYPRESSED: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_INJECT: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(11, 0x3); - pub const EV_PENDING_KEYPRESSED: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_INJECT: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(12, 0x3); - pub const EV_ENABLE_KEYPRESSED: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_INJECT: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const KEYBOARD_IRQ: usize = 13; - pub const HW_KEYBOARD_BASE: usize = 0xf0017000; - } - - pub mod keyinject { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum KeyinjectOffset { - UartChar = 0, - Disable = 4, - } - pub const KEYINJECT_NUMREGS: usize = 2; - - pub const UART_CHAR: crate::Register = crate::Register::new(0, 0xff); - pub const UART_CHAR_CHAR: crate::Field = crate::Field::new(8, 0, UART_CHAR); - - pub const DISABLE: crate::Register = crate::Register::new(1, 0x1); - pub const DISABLE_DISABLE: crate::Field = crate::Field::new(1, 0, DISABLE); - - pub const HW_KEYINJECT_BASE: usize = 0xf0018000; - } - - pub mod seed { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum SeedOffset { - Seed1 = 0, - Seed0 = 4, - } - pub const SEED_NUMREGS: usize = 2; - - pub const SEED1: crate::Register = crate::Register::new(0, 0xffffffff); - pub const SEED1_SEED: crate::Field = crate::Field::new(32, 0, SEED1); - - pub const SEED0: crate::Register = crate::Register::new(1, 0xffffffff); - pub const SEED0_SEED: crate::Field = crate::Field::new(32, 0, SEED0); - - pub const HW_SEED_BASE: usize = 0xf0019000; - } - - pub mod keyrom { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum KeyromOffset { - Address = 0, - Data = 4, - Lockaddr = 8, - Lockstat = 12, - } - pub const KEYROM_NUMREGS: usize = 4; - - pub const ADDRESS: crate::Register = crate::Register::new(0, 0xff); - pub const ADDRESS_ADDRESS: crate::Field = crate::Field::new(8, 0, ADDRESS); - - pub const DATA: crate::Register = crate::Register::new(1, 0xffffffff); - pub const DATA_DATA: crate::Field = crate::Field::new(32, 0, DATA); - - pub const LOCKADDR: crate::Register = crate::Register::new(2, 0xff); - pub const LOCKADDR_LOCKADDR: crate::Field = crate::Field::new(8, 0, LOCKADDR); - - pub const LOCKSTAT: crate::Register = crate::Register::new(3, 0x1); - pub const LOCKSTAT_LOCKSTAT: crate::Field = crate::Field::new(1, 0, LOCKSTAT); - - pub const HW_KEYROM_BASE: usize = 0xf001a000; - } - - pub mod audio { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum AudioOffset { - EvStatus = 0, - EvPending = 4, - EvEnable = 8, - RxCtl = 12, - RxStat = 16, - RxConf = 20, - TxCtl = 24, - TxStat = 28, - TxConf = 32, - } - pub const AUDIO_NUMREGS: usize = 9; - - pub const EV_STATUS: crate::Register = crate::Register::new(0, 0xf); - pub const EV_STATUS_RX_READY: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_RX_ERROR: crate::Field = crate::Field::new(1, 1, EV_STATUS); - pub const EV_STATUS_TX_READY: crate::Field = crate::Field::new(1, 2, EV_STATUS); - pub const EV_STATUS_TX_ERROR: crate::Field = crate::Field::new(1, 3, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(1, 0xf); - pub const EV_PENDING_RX_READY: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_RX_ERROR: crate::Field = crate::Field::new(1, 1, EV_PENDING); - pub const EV_PENDING_TX_READY: crate::Field = crate::Field::new(1, 2, EV_PENDING); - pub const EV_PENDING_TX_ERROR: crate::Field = crate::Field::new(1, 3, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(2, 0xf); - pub const EV_ENABLE_RX_READY: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_RX_ERROR: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - pub const EV_ENABLE_TX_READY: crate::Field = crate::Field::new(1, 2, EV_ENABLE); - pub const EV_ENABLE_TX_ERROR: crate::Field = crate::Field::new(1, 3, EV_ENABLE); - - pub const RX_CTL: crate::Register = crate::Register::new(3, 0x3); - pub const RX_CTL_ENABLE: crate::Field = crate::Field::new(1, 0, RX_CTL); - pub const RX_CTL_RESET: crate::Field = crate::Field::new(1, 1, RX_CTL); - - pub const RX_STAT: crate::Register = crate::Register::new(4, 0xffffffff); - pub const RX_STAT_OVERFLOW: crate::Field = crate::Field::new(1, 0, RX_STAT); - pub const RX_STAT_UNDERFLOW: crate::Field = crate::Field::new(1, 1, RX_STAT); - pub const RX_STAT_DATAREADY: crate::Field = crate::Field::new(1, 2, RX_STAT); - pub const RX_STAT_EMPTY: crate::Field = crate::Field::new(1, 3, RX_STAT); - pub const RX_STAT_WRCOUNT: crate::Field = crate::Field::new(9, 4, RX_STAT); - pub const RX_STAT_RDCOUNT: crate::Field = crate::Field::new(9, 13, RX_STAT); - pub const RX_STAT_FIFO_DEPTH: crate::Field = crate::Field::new(9, 22, RX_STAT); - pub const RX_STAT_CONCATENATE_CHANNELS: crate::Field = crate::Field::new(1, 31, RX_STAT); - - pub const RX_CONF: crate::Register = crate::Register::new(5, 0xffffffff); - pub const RX_CONF_FORMAT: crate::Field = crate::Field::new(2, 0, RX_CONF); - pub const RX_CONF_SAMPLE_WIDTH: crate::Field = crate::Field::new(6, 2, RX_CONF); - pub const RX_CONF_LRCK_FREQ: crate::Field = crate::Field::new(24, 8, RX_CONF); - - pub const TX_CTL: crate::Register = crate::Register::new(6, 0x3); - pub const TX_CTL_ENABLE: crate::Field = crate::Field::new(1, 0, TX_CTL); - pub const TX_CTL_RESET: crate::Field = crate::Field::new(1, 1, TX_CTL); - - pub const TX_STAT: crate::Register = crate::Register::new(7, 0x1ffffff); - pub const TX_STAT_OVERFLOW: crate::Field = crate::Field::new(1, 0, TX_STAT); - pub const TX_STAT_UNDERFLOW: crate::Field = crate::Field::new(1, 1, TX_STAT); - pub const TX_STAT_FREE: crate::Field = crate::Field::new(1, 2, TX_STAT); - pub const TX_STAT_ALMOSTFULL: crate::Field = crate::Field::new(1, 3, TX_STAT); - pub const TX_STAT_FULL: crate::Field = crate::Field::new(1, 4, TX_STAT); - pub const TX_STAT_EMPTY: crate::Field = crate::Field::new(1, 5, TX_STAT); - pub const TX_STAT_WRCOUNT: crate::Field = crate::Field::new(9, 6, TX_STAT); - pub const TX_STAT_RDCOUNT: crate::Field = crate::Field::new(9, 15, TX_STAT); - pub const TX_STAT_CONCATENATE_CHANNELS: crate::Field = crate::Field::new(1, 24, TX_STAT); - - pub const TX_CONF: crate::Register = crate::Register::new(8, 0xffffffff); - pub const TX_CONF_FORMAT: crate::Field = crate::Field::new(2, 0, TX_CONF); - pub const TX_CONF_SAMPLE_WIDTH: crate::Field = crate::Field::new(6, 2, TX_CONF); - pub const TX_CONF_LRCK_FREQ: crate::Field = crate::Field::new(24, 8, TX_CONF); - - pub const AUDIO_IRQ: usize = 14; - pub const HW_AUDIO_BASE: usize = 0xf001b000; - } - - pub mod trng_kernel { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum TrngKernelOffset { - Status = 0, - Data = 4, - Urandom = 8, - UrandomValid = 12, - EvStatus = 16, - EvPending = 20, - EvEnable = 24, - } - pub const TRNG_KERNEL_NUMREGS: usize = 7; - - pub const STATUS: crate::Register = crate::Register::new(0, 0x3fffff); - pub const STATUS_READY: crate::Field = crate::Field::new(1, 0, STATUS); - pub const STATUS_AVAIL: crate::Field = crate::Field::new(1, 1, STATUS); - pub const STATUS_RDCOUNT: crate::Field = crate::Field::new(10, 2, STATUS); - pub const STATUS_WRCOUNT: crate::Field = crate::Field::new(10, 12, STATUS); - - pub const DATA: crate::Register = crate::Register::new(1, 0xffffffff); - pub const DATA_DATA: crate::Field = crate::Field::new(32, 0, DATA); - - pub const URANDOM: crate::Register = crate::Register::new(2, 0xffffffff); - pub const URANDOM_URANDOM: crate::Field = crate::Field::new(32, 0, URANDOM); - - pub const URANDOM_VALID: crate::Register = crate::Register::new(3, 0x1); - pub const URANDOM_VALID_URANDOM_VALID: crate::Field = crate::Field::new(1, 0, URANDOM_VALID); - - pub const EV_STATUS: crate::Register = crate::Register::new(4, 0x3); - pub const EV_STATUS_AVAIL: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_ERROR: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(5, 0x3); - pub const EV_PENDING_AVAIL: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_ERROR: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(6, 0x3); - pub const EV_ENABLE_AVAIL: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_ERROR: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const TRNG_KERNEL_IRQ: usize = 15; - pub const HW_TRNG_KERNEL_BASE: usize = 0xf001c000; - } - - pub mod trng_server { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum TrngServerOffset { - Control = 0, - Data = 4, - Status = 8, - AvConfig = 12, - RoConfig = 16, - AvNist = 20, - RoNist = 24, - Underruns = 28, - NistErrors = 32, - NistRoStat0 = 36, - NistRoStat1 = 40, - NistRoStat2 = 44, - NistRoStat3 = 48, - NistAvStat0 = 52, - NistAvStat1 = 56, - RoRunslimit1 = 60, - RoRunslimit2 = 64, - RoRunslimit3 = 68, - RoRunslimit4 = 72, - RoRun0Ctrl = 76, - RoRun0Fresh = 80, - RoRun0Count1 = 84, - RoRun0Count2 = 88, - RoRun0Count3 = 92, - RoRun0Count4 = 96, - RoRun1Ctrl = 100, - RoRun1Fresh = 104, - RoRun1Count1 = 108, - RoRun1Count2 = 112, - RoRun1Count3 = 116, - RoRun1Count4 = 120, - RoRun2Ctrl = 124, - RoRun2Fresh = 128, - RoRun2Count1 = 132, - RoRun2Count2 = 136, - RoRun2Count3 = 140, - RoRun2Count4 = 144, - RoRun3Ctrl = 148, - RoRun3Fresh = 152, - RoRun3Count1 = 156, - RoRun3Count2 = 160, - RoRun3Count3 = 164, - RoRun3Count4 = 168, - AvExcursion0Ctrl = 172, - AvExcursion0Stat = 176, - AvExcursion0LastErr = 180, - AvExcursion1Ctrl = 184, - AvExcursion1Stat = 188, - AvExcursion1LastErr = 192, - Ready = 196, - EvStatus = 200, - EvPending = 204, - EvEnable = 208, - Chacha = 212, - Seed = 216, - Urandom = 220, - UrandomValid = 224, - Test = 228, - } - pub const TRNG_SERVER_NUMREGS: usize = 58; - - pub const CONTROL: crate::Register = crate::Register::new(0, 0x1f); - pub const CONTROL_ENABLE: crate::Field = crate::Field::new(1, 0, CONTROL); - pub const CONTROL_RO_DIS: crate::Field = crate::Field::new(1, 1, CONTROL); - pub const CONTROL_AV_DIS: crate::Field = crate::Field::new(1, 2, CONTROL); - pub const CONTROL_POWERSAVE: crate::Field = crate::Field::new(1, 3, CONTROL); - pub const CONTROL_CLR_ERR: crate::Field = crate::Field::new(1, 4, CONTROL); - - pub const DATA: crate::Register = crate::Register::new(1, 0xffffffff); - pub const DATA_DATA: crate::Field = crate::Field::new(32, 0, DATA); - - pub const STATUS: crate::Register = crate::Register::new(2, 0x7fffff); - pub const STATUS_AVAIL: crate::Field = crate::Field::new(1, 0, STATUS); - pub const STATUS_RDCOUNT: crate::Field = crate::Field::new(10, 1, STATUS); - pub const STATUS_WRCOUNT: crate::Field = crate::Field::new(10, 11, STATUS); - pub const STATUS_FULL: crate::Field = crate::Field::new(1, 21, STATUS); - pub const STATUS_CHACHA_READY: crate::Field = crate::Field::new(1, 22, STATUS); - - pub const AV_CONFIG: crate::Register = crate::Register::new(3, 0x3fffffff); - pub const AV_CONFIG_POWERDELAY: crate::Field = crate::Field::new(20, 0, AV_CONFIG); - pub const AV_CONFIG_SAMPLES: crate::Field = crate::Field::new(8, 20, AV_CONFIG); - pub const AV_CONFIG_TEST: crate::Field = crate::Field::new(1, 28, AV_CONFIG); - pub const AV_CONFIG_REQUIRED: crate::Field = crate::Field::new(1, 29, AV_CONFIG); - - pub const RO_CONFIG: crate::Register = crate::Register::new(4, 0xffffffff); - pub const RO_CONFIG_GANG: crate::Field = crate::Field::new(1, 0, RO_CONFIG); - pub const RO_CONFIG_DWELL: crate::Field = crate::Field::new(12, 1, RO_CONFIG); - pub const RO_CONFIG_DELAY: crate::Field = crate::Field::new(10, 13, RO_CONFIG); - pub const RO_CONFIG_FUZZ: crate::Field = crate::Field::new(1, 23, RO_CONFIG); - pub const RO_CONFIG_OVERSAMPLING: crate::Field = crate::Field::new(8, 24, RO_CONFIG); - - pub const AV_NIST: crate::Register = crate::Register::new(5, 0xffff); - pub const AV_NIST_REPCOUNT_CUTOFF: crate::Field = crate::Field::new(7, 0, AV_NIST); - pub const AV_NIST_ADAPTIVE_CUTOFF: crate::Field = crate::Field::new(9, 7, AV_NIST); - - pub const RO_NIST: crate::Register = crate::Register::new(6, 0x1ffff); - pub const RO_NIST_REPCOUNT_CUTOFF: crate::Field = crate::Field::new(7, 0, RO_NIST); - pub const RO_NIST_ADAPTIVE_CUTOFF: crate::Field = crate::Field::new(10, 7, RO_NIST); - - pub const UNDERRUNS: crate::Register = crate::Register::new(7, 0xfffff); - pub const UNDERRUNS_SERVER_UNDERRUN: crate::Field = crate::Field::new(10, 0, UNDERRUNS); - pub const UNDERRUNS_KERNEL_UNDERRUN: crate::Field = crate::Field::new(10, 10, UNDERRUNS); - - pub const NIST_ERRORS: crate::Register = crate::Register::new(8, 0xffff); - pub const NIST_ERRORS_AV_REPCOUNT: crate::Field = crate::Field::new(2, 0, NIST_ERRORS); - pub const NIST_ERRORS_AV_ADAPTIVE: crate::Field = crate::Field::new(2, 2, NIST_ERRORS); - pub const NIST_ERRORS_RO_REPCOUNT: crate::Field = crate::Field::new(4, 4, NIST_ERRORS); - pub const NIST_ERRORS_RO_ADAPTIVE: crate::Field = crate::Field::new(4, 8, NIST_ERRORS); - pub const NIST_ERRORS_RO_MINIRUNS: crate::Field = crate::Field::new(4, 12, NIST_ERRORS); - - pub const NIST_RO_STAT0: crate::Register = crate::Register::new(9, 0x3ffff); - pub const NIST_RO_STAT0_ADAP_B: crate::Field = crate::Field::new(10, 0, NIST_RO_STAT0); - pub const NIST_RO_STAT0_FRESH: crate::Field = crate::Field::new(1, 10, NIST_RO_STAT0); - pub const NIST_RO_STAT0_REP_B: crate::Field = crate::Field::new(7, 11, NIST_RO_STAT0); - - pub const NIST_RO_STAT1: crate::Register = crate::Register::new(10, 0x3ffff); - pub const NIST_RO_STAT1_ADAP_B: crate::Field = crate::Field::new(10, 0, NIST_RO_STAT1); - pub const NIST_RO_STAT1_FRESH: crate::Field = crate::Field::new(1, 10, NIST_RO_STAT1); - pub const NIST_RO_STAT1_REP_B: crate::Field = crate::Field::new(7, 11, NIST_RO_STAT1); - - pub const NIST_RO_STAT2: crate::Register = crate::Register::new(11, 0x3ffff); - pub const NIST_RO_STAT2_ADAP_B: crate::Field = crate::Field::new(10, 0, NIST_RO_STAT2); - pub const NIST_RO_STAT2_FRESH: crate::Field = crate::Field::new(1, 10, NIST_RO_STAT2); - pub const NIST_RO_STAT2_REP_B: crate::Field = crate::Field::new(7, 11, NIST_RO_STAT2); - - pub const NIST_RO_STAT3: crate::Register = crate::Register::new(12, 0x3ffff); - pub const NIST_RO_STAT3_ADAP_B: crate::Field = crate::Field::new(10, 0, NIST_RO_STAT3); - pub const NIST_RO_STAT3_FRESH: crate::Field = crate::Field::new(1, 10, NIST_RO_STAT3); - pub const NIST_RO_STAT3_REP_B: crate::Field = crate::Field::new(7, 11, NIST_RO_STAT3); - - pub const NIST_AV_STAT0: crate::Register = crate::Register::new(13, 0x3ffff); - pub const NIST_AV_STAT0_ADAP_B: crate::Field = crate::Field::new(10, 0, NIST_AV_STAT0); - pub const NIST_AV_STAT0_FRESH: crate::Field = crate::Field::new(1, 10, NIST_AV_STAT0); - pub const NIST_AV_STAT0_REP_B: crate::Field = crate::Field::new(7, 11, NIST_AV_STAT0); - - pub const NIST_AV_STAT1: crate::Register = crate::Register::new(14, 0x3ffff); - pub const NIST_AV_STAT1_ADAP_B: crate::Field = crate::Field::new(10, 0, NIST_AV_STAT1); - pub const NIST_AV_STAT1_FRESH: crate::Field = crate::Field::new(1, 10, NIST_AV_STAT1); - pub const NIST_AV_STAT1_REP_B: crate::Field = crate::Field::new(7, 11, NIST_AV_STAT1); - - pub const RO_RUNSLIMIT1: crate::Register = crate::Register::new(15, 0x3fffff); - pub const RO_RUNSLIMIT1_MIN: crate::Field = crate::Field::new(11, 0, RO_RUNSLIMIT1); - pub const RO_RUNSLIMIT1_MAX: crate::Field = crate::Field::new(11, 11, RO_RUNSLIMIT1); - - pub const RO_RUNSLIMIT2: crate::Register = crate::Register::new(16, 0x3fffff); - pub const RO_RUNSLIMIT2_MIN: crate::Field = crate::Field::new(11, 0, RO_RUNSLIMIT2); - pub const RO_RUNSLIMIT2_MAX: crate::Field = crate::Field::new(11, 11, RO_RUNSLIMIT2); - - pub const RO_RUNSLIMIT3: crate::Register = crate::Register::new(17, 0x3fffff); - pub const RO_RUNSLIMIT3_MIN: crate::Field = crate::Field::new(11, 0, RO_RUNSLIMIT3); - pub const RO_RUNSLIMIT3_MAX: crate::Field = crate::Field::new(11, 11, RO_RUNSLIMIT3); - - pub const RO_RUNSLIMIT4: crate::Register = crate::Register::new(18, 0x3fffff); - pub const RO_RUNSLIMIT4_MIN: crate::Field = crate::Field::new(11, 0, RO_RUNSLIMIT4); - pub const RO_RUNSLIMIT4_MAX: crate::Field = crate::Field::new(11, 11, RO_RUNSLIMIT4); - - pub const RO_RUN0_CTRL: crate::Register = crate::Register::new(19, 0x7ff); - pub const RO_RUN0_CTRL_WINDOW: crate::Field = crate::Field::new(11, 0, RO_RUN0_CTRL); - - pub const RO_RUN0_FRESH: crate::Register = crate::Register::new(20, 0xf); - pub const RO_RUN0_FRESH_RO_RUN0_FRESH: crate::Field = crate::Field::new(4, 0, RO_RUN0_FRESH); - - pub const RO_RUN0_COUNT1: crate::Register = crate::Register::new(21, 0x7ff); - pub const RO_RUN0_COUNT1_RO_RUN0_COUNT1: crate::Field = crate::Field::new(11, 0, RO_RUN0_COUNT1); - - pub const RO_RUN0_COUNT2: crate::Register = crate::Register::new(22, 0x7ff); - pub const RO_RUN0_COUNT2_RO_RUN0_COUNT2: crate::Field = crate::Field::new(11, 0, RO_RUN0_COUNT2); - - pub const RO_RUN0_COUNT3: crate::Register = crate::Register::new(23, 0x7ff); - pub const RO_RUN0_COUNT3_RO_RUN0_COUNT3: crate::Field = crate::Field::new(11, 0, RO_RUN0_COUNT3); - - pub const RO_RUN0_COUNT4: crate::Register = crate::Register::new(24, 0x7ff); - pub const RO_RUN0_COUNT4_RO_RUN0_COUNT4: crate::Field = crate::Field::new(11, 0, RO_RUN0_COUNT4); - - pub const RO_RUN1_CTRL: crate::Register = crate::Register::new(25, 0x7ff); - pub const RO_RUN1_CTRL_WINDOW: crate::Field = crate::Field::new(11, 0, RO_RUN1_CTRL); - - pub const RO_RUN1_FRESH: crate::Register = crate::Register::new(26, 0xf); - pub const RO_RUN1_FRESH_RO_RUN1_FRESH: crate::Field = crate::Field::new(4, 0, RO_RUN1_FRESH); - - pub const RO_RUN1_COUNT1: crate::Register = crate::Register::new(27, 0x7ff); - pub const RO_RUN1_COUNT1_RO_RUN1_COUNT1: crate::Field = crate::Field::new(11, 0, RO_RUN1_COUNT1); - - pub const RO_RUN1_COUNT2: crate::Register = crate::Register::new(28, 0x7ff); - pub const RO_RUN1_COUNT2_RO_RUN1_COUNT2: crate::Field = crate::Field::new(11, 0, RO_RUN1_COUNT2); - - pub const RO_RUN1_COUNT3: crate::Register = crate::Register::new(29, 0x7ff); - pub const RO_RUN1_COUNT3_RO_RUN1_COUNT3: crate::Field = crate::Field::new(11, 0, RO_RUN1_COUNT3); - - pub const RO_RUN1_COUNT4: crate::Register = crate::Register::new(30, 0x7ff); - pub const RO_RUN1_COUNT4_RO_RUN1_COUNT4: crate::Field = crate::Field::new(11, 0, RO_RUN1_COUNT4); - - pub const RO_RUN2_CTRL: crate::Register = crate::Register::new(31, 0x7ff); - pub const RO_RUN2_CTRL_WINDOW: crate::Field = crate::Field::new(11, 0, RO_RUN2_CTRL); - - pub const RO_RUN2_FRESH: crate::Register = crate::Register::new(32, 0xf); - pub const RO_RUN2_FRESH_RO_RUN2_FRESH: crate::Field = crate::Field::new(4, 0, RO_RUN2_FRESH); - - pub const RO_RUN2_COUNT1: crate::Register = crate::Register::new(33, 0x7ff); - pub const RO_RUN2_COUNT1_RO_RUN2_COUNT1: crate::Field = crate::Field::new(11, 0, RO_RUN2_COUNT1); - - pub const RO_RUN2_COUNT2: crate::Register = crate::Register::new(34, 0x7ff); - pub const RO_RUN2_COUNT2_RO_RUN2_COUNT2: crate::Field = crate::Field::new(11, 0, RO_RUN2_COUNT2); - - pub const RO_RUN2_COUNT3: crate::Register = crate::Register::new(35, 0x7ff); - pub const RO_RUN2_COUNT3_RO_RUN2_COUNT3: crate::Field = crate::Field::new(11, 0, RO_RUN2_COUNT3); - - pub const RO_RUN2_COUNT4: crate::Register = crate::Register::new(36, 0x7ff); - pub const RO_RUN2_COUNT4_RO_RUN2_COUNT4: crate::Field = crate::Field::new(11, 0, RO_RUN2_COUNT4); - - pub const RO_RUN3_CTRL: crate::Register = crate::Register::new(37, 0x7ff); - pub const RO_RUN3_CTRL_WINDOW: crate::Field = crate::Field::new(11, 0, RO_RUN3_CTRL); - - pub const RO_RUN3_FRESH: crate::Register = crate::Register::new(38, 0xf); - pub const RO_RUN3_FRESH_RO_RUN3_FRESH: crate::Field = crate::Field::new(4, 0, RO_RUN3_FRESH); - - pub const RO_RUN3_COUNT1: crate::Register = crate::Register::new(39, 0x7ff); - pub const RO_RUN3_COUNT1_RO_RUN3_COUNT1: crate::Field = crate::Field::new(11, 0, RO_RUN3_COUNT1); - - pub const RO_RUN3_COUNT2: crate::Register = crate::Register::new(40, 0x7ff); - pub const RO_RUN3_COUNT2_RO_RUN3_COUNT2: crate::Field = crate::Field::new(11, 0, RO_RUN3_COUNT2); - - pub const RO_RUN3_COUNT3: crate::Register = crate::Register::new(41, 0x7ff); - pub const RO_RUN3_COUNT3_RO_RUN3_COUNT3: crate::Field = crate::Field::new(11, 0, RO_RUN3_COUNT3); - - pub const RO_RUN3_COUNT4: crate::Register = crate::Register::new(42, 0x7ff); - pub const RO_RUN3_COUNT4_RO_RUN3_COUNT4: crate::Field = crate::Field::new(11, 0, RO_RUN3_COUNT4); - - pub const AV_EXCURSION0_CTRL: crate::Register = crate::Register::new(43, 0xffffffff); - pub const AV_EXCURSION0_CTRL_CUTOFF: crate::Field = crate::Field::new(12, 0, AV_EXCURSION0_CTRL); - pub const AV_EXCURSION0_CTRL_RESET: crate::Field = crate::Field::new(1, 12, AV_EXCURSION0_CTRL); - pub const AV_EXCURSION0_CTRL_WINDOW: crate::Field = crate::Field::new(19, 13, AV_EXCURSION0_CTRL); - - pub const AV_EXCURSION0_STAT: crate::Register = crate::Register::new(44, 0xffffff); - pub const AV_EXCURSION0_STAT_MIN: crate::Field = crate::Field::new(12, 0, AV_EXCURSION0_STAT); - pub const AV_EXCURSION0_STAT_MAX: crate::Field = crate::Field::new(12, 12, AV_EXCURSION0_STAT); - - pub const AV_EXCURSION0_LAST_ERR: crate::Register = crate::Register::new(45, 0xffffff); - pub const AV_EXCURSION0_LAST_ERR_MIN: crate::Field = crate::Field::new(12, 0, AV_EXCURSION0_LAST_ERR); - pub const AV_EXCURSION0_LAST_ERR_MAX: crate::Field = crate::Field::new(12, 12, AV_EXCURSION0_LAST_ERR); - - pub const AV_EXCURSION1_CTRL: crate::Register = crate::Register::new(46, 0xffffffff); - pub const AV_EXCURSION1_CTRL_CUTOFF: crate::Field = crate::Field::new(12, 0, AV_EXCURSION1_CTRL); - pub const AV_EXCURSION1_CTRL_RESET: crate::Field = crate::Field::new(1, 12, AV_EXCURSION1_CTRL); - pub const AV_EXCURSION1_CTRL_WINDOW: crate::Field = crate::Field::new(19, 13, AV_EXCURSION1_CTRL); - - pub const AV_EXCURSION1_STAT: crate::Register = crate::Register::new(47, 0xffffff); - pub const AV_EXCURSION1_STAT_MIN: crate::Field = crate::Field::new(12, 0, AV_EXCURSION1_STAT); - pub const AV_EXCURSION1_STAT_MAX: crate::Field = crate::Field::new(12, 12, AV_EXCURSION1_STAT); - - pub const AV_EXCURSION1_LAST_ERR: crate::Register = crate::Register::new(48, 0xffffff); - pub const AV_EXCURSION1_LAST_ERR_MIN: crate::Field = crate::Field::new(12, 0, AV_EXCURSION1_LAST_ERR); - pub const AV_EXCURSION1_LAST_ERR_MAX: crate::Field = crate::Field::new(12, 12, AV_EXCURSION1_LAST_ERR); - - pub const READY: crate::Register = crate::Register::new(49, 0xff); - pub const READY_AV_EXCURSION: crate::Field = crate::Field::new(2, 0, READY); - pub const READY_AV_ADAPROP: crate::Field = crate::Field::new(2, 2, READY); - pub const READY_RO_ADAPROP: crate::Field = crate::Field::new(4, 4, READY); - - pub const EV_STATUS: crate::Register = crate::Register::new(50, 0x1f); - pub const EV_STATUS_AVAIL: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_ERROR: crate::Field = crate::Field::new(1, 1, EV_STATUS); - pub const EV_STATUS_HEALTH: crate::Field = crate::Field::new(1, 2, EV_STATUS); - pub const EV_STATUS_EXCURSION0: crate::Field = crate::Field::new(1, 3, EV_STATUS); - pub const EV_STATUS_EXCURSION1: crate::Field = crate::Field::new(1, 4, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(51, 0x1f); - pub const EV_PENDING_AVAIL: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_ERROR: crate::Field = crate::Field::new(1, 1, EV_PENDING); - pub const EV_PENDING_HEALTH: crate::Field = crate::Field::new(1, 2, EV_PENDING); - pub const EV_PENDING_EXCURSION0: crate::Field = crate::Field::new(1, 3, EV_PENDING); - pub const EV_PENDING_EXCURSION1: crate::Field = crate::Field::new(1, 4, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(52, 0x1f); - pub const EV_ENABLE_AVAIL: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_ERROR: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - pub const EV_ENABLE_HEALTH: crate::Field = crate::Field::new(1, 2, EV_ENABLE); - pub const EV_ENABLE_EXCURSION0: crate::Field = crate::Field::new(1, 3, EV_ENABLE); - pub const EV_ENABLE_EXCURSION1: crate::Field = crate::Field::new(1, 4, EV_ENABLE); - - pub const CHACHA: crate::Register = crate::Register::new(53, 0x1fffffff); - pub const CHACHA_RESEED_INTERVAL: crate::Field = crate::Field::new(12, 0, CHACHA); - pub const CHACHA_SELFMIX_INTERVAL: crate::Field = crate::Field::new(16, 12, CHACHA); - pub const CHACHA_SELFMIX_ENA: crate::Field = crate::Field::new(1, 28, CHACHA); - - pub const SEED: crate::Register = crate::Register::new(54, 0xffffffff); - pub const SEED_SEED: crate::Field = crate::Field::new(32, 0, SEED); - - pub const URANDOM: crate::Register = crate::Register::new(55, 0xffffffff); - pub const URANDOM_URANDOM: crate::Field = crate::Field::new(32, 0, URANDOM); - - pub const URANDOM_VALID: crate::Register = crate::Register::new(56, 0x1); - pub const URANDOM_VALID_URANDOM_VALID: crate::Field = crate::Field::new(1, 0, URANDOM_VALID); - - pub const TEST: crate::Register = crate::Register::new(57, 0x1); - pub const TEST_SIMULTANEOUS: crate::Field = crate::Field::new(1, 0, TEST); - - pub const TRNG_SERVER_IRQ: usize = 16; - pub const HW_TRNG_SERVER_BASE: usize = 0xf001d000; - } - - pub mod trng { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum TrngOffset { - XadcTemperature = 0, - XadcVccint = 4, - XadcVccaux = 8, - XadcVccbram = 12, - XadcVbus = 16, - XadcUsbP = 20, - XadcUsbN = 24, - XadcNoise0 = 28, - XadcNoise1 = 32, - XadcEoc = 36, - XadcEos = 40, - XadcGpio5 = 44, - XadcGpio2 = 48, - XadcDrpEnable = 52, - XadcDrpRead = 56, - XadcDrpWrite = 60, - XadcDrpDrdy = 64, - XadcDrpAdr = 68, - XadcDrpDatW = 72, - XadcDrpDatR = 76, - } - pub const TRNG_NUMREGS: usize = 20; - - pub const XADC_TEMPERATURE: crate::Register = crate::Register::new(0, 0xfff); - pub const XADC_TEMPERATURE_XADC_TEMPERATURE: crate::Field = crate::Field::new(12, 0, XADC_TEMPERATURE); - - pub const XADC_VCCINT: crate::Register = crate::Register::new(1, 0xfff); - pub const XADC_VCCINT_XADC_VCCINT: crate::Field = crate::Field::new(12, 0, XADC_VCCINT); - - pub const XADC_VCCAUX: crate::Register = crate::Register::new(2, 0xfff); - pub const XADC_VCCAUX_XADC_VCCAUX: crate::Field = crate::Field::new(12, 0, XADC_VCCAUX); - - pub const XADC_VCCBRAM: crate::Register = crate::Register::new(3, 0xfff); - pub const XADC_VCCBRAM_XADC_VCCBRAM: crate::Field = crate::Field::new(12, 0, XADC_VCCBRAM); - - pub const XADC_VBUS: crate::Register = crate::Register::new(4, 0xfff); - pub const XADC_VBUS_XADC_VBUS: crate::Field = crate::Field::new(12, 0, XADC_VBUS); - - pub const XADC_USB_P: crate::Register = crate::Register::new(5, 0xfff); - pub const XADC_USB_P_XADC_USB_P: crate::Field = crate::Field::new(12, 0, XADC_USB_P); - - pub const XADC_USB_N: crate::Register = crate::Register::new(6, 0xfff); - pub const XADC_USB_N_XADC_USB_N: crate::Field = crate::Field::new(12, 0, XADC_USB_N); - - pub const XADC_NOISE0: crate::Register = crate::Register::new(7, 0xfff); - pub const XADC_NOISE0_XADC_NOISE0: crate::Field = crate::Field::new(12, 0, XADC_NOISE0); - - pub const XADC_NOISE1: crate::Register = crate::Register::new(8, 0xfff); - pub const XADC_NOISE1_XADC_NOISE1: crate::Field = crate::Field::new(12, 0, XADC_NOISE1); - - pub const XADC_EOC: crate::Register = crate::Register::new(9, 0x1); - pub const XADC_EOC_XADC_EOC: crate::Field = crate::Field::new(1, 0, XADC_EOC); - - pub const XADC_EOS: crate::Register = crate::Register::new(10, 0x1); - pub const XADC_EOS_XADC_EOS: crate::Field = crate::Field::new(1, 0, XADC_EOS); - - pub const XADC_GPIO5: crate::Register = crate::Register::new(11, 0xfff); - pub const XADC_GPIO5_XADC_GPIO5: crate::Field = crate::Field::new(12, 0, XADC_GPIO5); - - pub const XADC_GPIO2: crate::Register = crate::Register::new(12, 0xfff); - pub const XADC_GPIO2_XADC_GPIO2: crate::Field = crate::Field::new(12, 0, XADC_GPIO2); - - pub const XADC_DRP_ENABLE: crate::Register = crate::Register::new(13, 0x1); - pub const XADC_DRP_ENABLE_XADC_DRP_ENABLE: crate::Field = crate::Field::new(1, 0, XADC_DRP_ENABLE); - - pub const XADC_DRP_READ: crate::Register = crate::Register::new(14, 0x1); - pub const XADC_DRP_READ_XADC_DRP_READ: crate::Field = crate::Field::new(1, 0, XADC_DRP_READ); - - pub const XADC_DRP_WRITE: crate::Register = crate::Register::new(15, 0x1); - pub const XADC_DRP_WRITE_XADC_DRP_WRITE: crate::Field = crate::Field::new(1, 0, XADC_DRP_WRITE); - - pub const XADC_DRP_DRDY: crate::Register = crate::Register::new(16, 0x1); - pub const XADC_DRP_DRDY_XADC_DRP_DRDY: crate::Field = crate::Field::new(1, 0, XADC_DRP_DRDY); - - pub const XADC_DRP_ADR: crate::Register = crate::Register::new(17, 0x7f); - pub const XADC_DRP_ADR_XADC_DRP_ADR: crate::Field = crate::Field::new(7, 0, XADC_DRP_ADR); - - pub const XADC_DRP_DAT_W: crate::Register = crate::Register::new(18, 0xffff); - pub const XADC_DRP_DAT_W_XADC_DRP_DAT_W: crate::Field = crate::Field::new(16, 0, XADC_DRP_DAT_W); - - pub const XADC_DRP_DAT_R: crate::Register = crate::Register::new(19, 0xffff); - pub const XADC_DRP_DAT_R_XADC_DRP_DAT_R: crate::Field = crate::Field::new(16, 0, XADC_DRP_DAT_R); - - pub const HW_TRNG_BASE: usize = 0xf001e000; - } - - pub mod sha512 { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum Sha512Offset { - Power = 0, - Config = 4, - Command = 8, - Digest01 = 12, - Digest00 = 16, - Digest11 = 20, - Digest10 = 24, - Digest21 = 28, - Digest20 = 32, - Digest31 = 36, - Digest30 = 40, - Digest41 = 44, - Digest40 = 48, - Digest51 = 52, - Digest50 = 56, - Digest61 = 60, - Digest60 = 64, - Digest71 = 68, - Digest70 = 72, - MsgLength1 = 76, - MsgLength0 = 80, - EvStatus = 84, - EvPending = 88, - EvEnable = 92, - Fifo = 96, - } - pub const SHA512_NUMREGS: usize = 25; - - pub const POWER: crate::Register = crate::Register::new(0, 0x1); - pub const POWER_ON: crate::Field = crate::Field::new(1, 0, POWER); - - pub const CONFIG: crate::Register = crate::Register::new(1, 0x1f); - pub const CONFIG_SHA_EN: crate::Field = crate::Field::new(1, 0, CONFIG); - pub const CONFIG_ENDIAN_SWAP: crate::Field = crate::Field::new(1, 1, CONFIG); - pub const CONFIG_DIGEST_SWAP: crate::Field = crate::Field::new(1, 2, CONFIG); - pub const CONFIG_SELECT_256: crate::Field = crate::Field::new(1, 3, CONFIG); - pub const CONFIG_RESET: crate::Field = crate::Field::new(1, 4, CONFIG); - - pub const COMMAND: crate::Register = crate::Register::new(2, 0x3); - pub const COMMAND_HASH_START: crate::Field = crate::Field::new(1, 0, COMMAND); - pub const COMMAND_HASH_PROCESS: crate::Field = crate::Field::new(1, 1, COMMAND); - - pub const DIGEST01: crate::Register = crate::Register::new(3, 0xffffffff); - pub const DIGEST01_DIGEST0: crate::Field = crate::Field::new(32, 0, DIGEST01); - - pub const DIGEST00: crate::Register = crate::Register::new(4, 0xffffffff); - pub const DIGEST00_DIGEST0: crate::Field = crate::Field::new(32, 0, DIGEST00); - - pub const DIGEST11: crate::Register = crate::Register::new(5, 0xffffffff); - pub const DIGEST11_DIGEST1: crate::Field = crate::Field::new(32, 0, DIGEST11); - - pub const DIGEST10: crate::Register = crate::Register::new(6, 0xffffffff); - pub const DIGEST10_DIGEST1: crate::Field = crate::Field::new(32, 0, DIGEST10); - - pub const DIGEST21: crate::Register = crate::Register::new(7, 0xffffffff); - pub const DIGEST21_DIGEST2: crate::Field = crate::Field::new(32, 0, DIGEST21); - - pub const DIGEST20: crate::Register = crate::Register::new(8, 0xffffffff); - pub const DIGEST20_DIGEST2: crate::Field = crate::Field::new(32, 0, DIGEST20); - - pub const DIGEST31: crate::Register = crate::Register::new(9, 0xffffffff); - pub const DIGEST31_DIGEST3: crate::Field = crate::Field::new(32, 0, DIGEST31); - - pub const DIGEST30: crate::Register = crate::Register::new(10, 0xffffffff); - pub const DIGEST30_DIGEST3: crate::Field = crate::Field::new(32, 0, DIGEST30); - - pub const DIGEST41: crate::Register = crate::Register::new(11, 0xffffffff); - pub const DIGEST41_DIGEST4: crate::Field = crate::Field::new(32, 0, DIGEST41); - - pub const DIGEST40: crate::Register = crate::Register::new(12, 0xffffffff); - pub const DIGEST40_DIGEST4: crate::Field = crate::Field::new(32, 0, DIGEST40); - - pub const DIGEST51: crate::Register = crate::Register::new(13, 0xffffffff); - pub const DIGEST51_DIGEST5: crate::Field = crate::Field::new(32, 0, DIGEST51); - - pub const DIGEST50: crate::Register = crate::Register::new(14, 0xffffffff); - pub const DIGEST50_DIGEST5: crate::Field = crate::Field::new(32, 0, DIGEST50); - - pub const DIGEST61: crate::Register = crate::Register::new(15, 0xffffffff); - pub const DIGEST61_DIGEST6: crate::Field = crate::Field::new(32, 0, DIGEST61); - - pub const DIGEST60: crate::Register = crate::Register::new(16, 0xffffffff); - pub const DIGEST60_DIGEST6: crate::Field = crate::Field::new(32, 0, DIGEST60); - - pub const DIGEST71: crate::Register = crate::Register::new(17, 0xffffffff); - pub const DIGEST71_DIGEST7: crate::Field = crate::Field::new(32, 0, DIGEST71); - - pub const DIGEST70: crate::Register = crate::Register::new(18, 0xffffffff); - pub const DIGEST70_DIGEST7: crate::Field = crate::Field::new(32, 0, DIGEST70); - - pub const MSG_LENGTH1: crate::Register = crate::Register::new(19, 0xffffffff); - pub const MSG_LENGTH1_MSG_LENGTH: crate::Field = crate::Field::new(32, 0, MSG_LENGTH1); - - pub const MSG_LENGTH0: crate::Register = crate::Register::new(20, 0xffffffff); - pub const MSG_LENGTH0_MSG_LENGTH: crate::Field = crate::Field::new(32, 0, MSG_LENGTH0); - - pub const EV_STATUS: crate::Register = crate::Register::new(21, 0x7); - pub const EV_STATUS_ERR_VALID: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_FIFO_FULL: crate::Field = crate::Field::new(1, 1, EV_STATUS); - pub const EV_STATUS_SHA512_DONE: crate::Field = crate::Field::new(1, 2, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(22, 0x7); - pub const EV_PENDING_ERR_VALID: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_FIFO_FULL: crate::Field = crate::Field::new(1, 1, EV_PENDING); - pub const EV_PENDING_SHA512_DONE: crate::Field = crate::Field::new(1, 2, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(23, 0x7); - pub const EV_ENABLE_ERR_VALID: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_FIFO_FULL: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - pub const EV_ENABLE_SHA512_DONE: crate::Field = crate::Field::new(1, 2, EV_ENABLE); - - pub const FIFO: crate::Register = crate::Register::new(24, 0xffffff); - pub const FIFO_RESET_STATUS: crate::Field = crate::Field::new(1, 0, FIFO); - pub const FIFO_READ_COUNT: crate::Field = crate::Field::new(9, 1, FIFO); - pub const FIFO_WRITE_COUNT: crate::Field = crate::Field::new(9, 10, FIFO); - pub const FIFO_READ_ERROR: crate::Field = crate::Field::new(1, 19, FIFO); - pub const FIFO_WRITE_ERROR: crate::Field = crate::Field::new(1, 20, FIFO); - pub const FIFO_ALMOST_FULL: crate::Field = crate::Field::new(1, 21, FIFO); - pub const FIFO_ALMOST_EMPTY: crate::Field = crate::Field::new(1, 22, FIFO); - pub const FIFO_RUNNING: crate::Field = crate::Field::new(1, 23, FIFO); - - pub const SHA512_IRQ: usize = 17; - pub const HW_SHA512_BASE: usize = 0xf001f000; - } - - pub mod engine { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum EngineOffset { - Window = 0, - Mpstart = 4, - Mplen = 8, - Control = 12, - Mpresume = 16, - Power = 20, - Status = 24, - EvStatus = 28, - EvPending = 32, - EvEnable = 36, - Instruction = 40, - } - pub const ENGINE_NUMREGS: usize = 11; - - pub const WINDOW: crate::Register = crate::Register::new(0, 0xf); - pub const WINDOW_WINDOW: crate::Field = crate::Field::new(4, 0, WINDOW); - - pub const MPSTART: crate::Register = crate::Register::new(1, 0x3ff); - pub const MPSTART_MPSTART: crate::Field = crate::Field::new(10, 0, MPSTART); - - pub const MPLEN: crate::Register = crate::Register::new(2, 0x3ff); - pub const MPLEN_MPLEN: crate::Field = crate::Field::new(10, 0, MPLEN); - - pub const CONTROL: crate::Register = crate::Register::new(3, 0x1); - pub const CONTROL_GO: crate::Field = crate::Field::new(1, 0, CONTROL); - - pub const MPRESUME: crate::Register = crate::Register::new(4, 0x3ff); - pub const MPRESUME_MPRESUME: crate::Field = crate::Field::new(10, 0, MPRESUME); - - pub const POWER: crate::Register = crate::Register::new(5, 0x3); - pub const POWER_ON: crate::Field = crate::Field::new(1, 0, POWER); - pub const POWER_PAUSE_REQ: crate::Field = crate::Field::new(1, 1, POWER); - - pub const STATUS: crate::Register = crate::Register::new(6, 0xfff); - pub const STATUS_RUNNING: crate::Field = crate::Field::new(1, 0, STATUS); - pub const STATUS_MPC: crate::Field = crate::Field::new(10, 1, STATUS); - pub const STATUS_PAUSE_GNT: crate::Field = crate::Field::new(1, 11, STATUS); - - pub const EV_STATUS: crate::Register = crate::Register::new(7, 0x3); - pub const EV_STATUS_FINISHED: crate::Field = crate::Field::new(1, 0, EV_STATUS); - pub const EV_STATUS_ILLEGAL_OPCODE: crate::Field = crate::Field::new(1, 1, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(8, 0x3); - pub const EV_PENDING_FINISHED: crate::Field = crate::Field::new(1, 0, EV_PENDING); - pub const EV_PENDING_ILLEGAL_OPCODE: crate::Field = crate::Field::new(1, 1, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(9, 0x3); - pub const EV_ENABLE_FINISHED: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - pub const EV_ENABLE_ILLEGAL_OPCODE: crate::Field = crate::Field::new(1, 1, EV_ENABLE); - - pub const INSTRUCTION: crate::Register = crate::Register::new(10, 0xffffffff); - pub const INSTRUCTION_OPCODE: crate::Field = crate::Field::new(6, 0, INSTRUCTION); - pub const INSTRUCTION_RA: crate::Field = crate::Field::new(5, 6, INSTRUCTION); - pub const INSTRUCTION_CA: crate::Field = crate::Field::new(1, 11, INSTRUCTION); - pub const INSTRUCTION_RB: crate::Field = crate::Field::new(5, 12, INSTRUCTION); - pub const INSTRUCTION_CB: crate::Field = crate::Field::new(1, 17, INSTRUCTION); - pub const INSTRUCTION_WD: crate::Field = crate::Field::new(5, 18, INSTRUCTION); - pub const INSTRUCTION_IMMEDIATE: crate::Field = crate::Field::new(9, 23, INSTRUCTION); - - pub const ENGINE_IRQ: usize = 18; - pub const HW_ENGINE_BASE: usize = 0xf0020000; - } - - pub mod jtag { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum JtagOffset { - Next = 0, - Tdo = 4, - } - pub const JTAG_NUMREGS: usize = 2; - - pub const NEXT: crate::Register = crate::Register::new(0, 0x3); - pub const NEXT_TDI: crate::Field = crate::Field::new(1, 0, NEXT); - pub const NEXT_TMS: crate::Field = crate::Field::new(1, 1, NEXT); - - pub const TDO: crate::Register = crate::Register::new(1, 0x3); - pub const TDO_TDO: crate::Field = crate::Field::new(1, 0, TDO); - pub const TDO_READY: crate::Field = crate::Field::new(1, 1, TDO); - - pub const HW_JTAG_BASE: usize = 0xf0021000; - } - - pub mod wdt { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum WdtOffset { - Watchdog = 0, - Period = 4, - State = 8, - } - pub const WDT_NUMREGS: usize = 3; - - pub const WATCHDOG: crate::Register = crate::Register::new(0, 0x3); - pub const WATCHDOG_RESET_WDT: crate::Field = crate::Field::new(1, 0, WATCHDOG); - pub const WATCHDOG_ENABLE: crate::Field = crate::Field::new(1, 1, WATCHDOG); - - pub const PERIOD: crate::Register = crate::Register::new(1, 0xffffffff); - pub const PERIOD_PERIOD: crate::Field = crate::Field::new(32, 0, PERIOD); - - pub const STATE: crate::Register = crate::Register::new(2, 0xf); - pub const STATE_ENABLED: crate::Field = crate::Field::new(1, 0, STATE); - pub const STATE_ARMED1: crate::Field = crate::Field::new(1, 1, STATE); - pub const STATE_ARMED2: crate::Field = crate::Field::new(1, 2, STATE); - pub const STATE_DISARMED: crate::Field = crate::Field::new(1, 3, STATE); - - pub const HW_WDT_BASE: usize = 0xf0022000; - } - - pub mod usbdev { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum UsbdevOffset { - Usbdisable = 0, - Usbselect = 4, - EvStatus = 8, - EvPending = 12, - EvEnable = 16, - } - pub const USBDEV_NUMREGS: usize = 5; - - pub const USBDISABLE: crate::Register = crate::Register::new(0, 0x1); - pub const USBDISABLE_USBDISABLE: crate::Field = crate::Field::new(1, 0, USBDISABLE); - - pub const USBSELECT: crate::Register = crate::Register::new(1, 0x3); - pub const USBSELECT_SELECT_DEVICE: crate::Field = crate::Field::new(1, 0, USBSELECT); - pub const USBSELECT_FORCE_RESET: crate::Field = crate::Field::new(1, 1, USBSELECT); - - pub const EV_STATUS: crate::Register = crate::Register::new(2, 0x1); - pub const EV_STATUS_USB: crate::Field = crate::Field::new(1, 0, EV_STATUS); - - pub const EV_PENDING: crate::Register = crate::Register::new(3, 0x1); - pub const EV_PENDING_USB: crate::Field = crate::Field::new(1, 0, EV_PENDING); - - pub const EV_ENABLE: crate::Register = crate::Register::new(4, 0x1); - pub const EV_ENABLE_USB: crate::Field = crate::Field::new(1, 0, EV_ENABLE); - - pub const USBDEV_IRQ: usize = 19; - pub const HW_USBDEV_BASE: usize = 0xf0023000; - } - - pub mod d11ctime { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum D11CtimeOffset { - Control = 0, - Heartbeat = 4, - } - pub const D11CTIME_NUMREGS: usize = 2; - - pub const CONTROL: crate::Register = crate::Register::new(0, 0x7fff); - pub const CONTROL_COUNT: crate::Field = crate::Field::new(15, 0, CONTROL); - - pub const HEARTBEAT: crate::Register = crate::Register::new(1, 0x1); - pub const HEARTBEAT_BEAT: crate::Field = crate::Field::new(1, 0, HEARTBEAT); - - pub const HW_D11CTIME_BASE: usize = 0xf0024000; - } - - pub mod wfi { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum WfiOffset { - Wfi = 0, - IgnoreLocked = 4, - } - pub const WFI_NUMREGS: usize = 2; - - pub const WFI: crate::Register = crate::Register::new(0, 0x1); - pub const WFI_WFI: crate::Field = crate::Field::new(1, 0, WFI); - - pub const IGNORE_LOCKED: crate::Register = crate::Register::new(1, 0x1); - pub const IGNORE_LOCKED_IGNORE_LOCKED: crate::Field = crate::Field::new(1, 0, IGNORE_LOCKED); - - pub const HW_WFI_BASE: usize = 0xf0025000; - } - - pub mod identifier_mem { - // this enum is vestigal, and currently not used by anything - #[derive(Debug, Copy, Clone)] - pub enum IdentifierMemOffset { - IdentifierMem = 0, - } - pub const IDENTIFIER_MEM_NUMREGS: usize = 1; - - pub const IDENTIFIER_MEM: crate::Register = crate::Register::new(0, 0xff); - pub const IDENTIFIER_MEM_IDENTIFIER_MEM: crate::Field = crate::Field::new(8, 0, IDENTIFIER_MEM); - - pub const HW_IDENTIFIER_MEM_BASE: usize = 0xf0026000; - } -} - -// Litex auto-generated constants -pub const LITEX_CONFIG_CLOCK_FREQUENCY: usize = 100000000; -pub const LITEX_CONFIG_CPU_HAS_INTERRUPT: &str = "None"; -pub const LITEX_CONFIG_CPU_RESET_ADDR: usize = 2147483648; -pub const LITEX_CONFIG_CPU_HAS_DCACHE: &str = "None"; -pub const LITEX_CONFIG_CPU_HAS_ICACHE: &str = "None"; -pub const LITEX_CONFIG_CPU_TYPE_VEXRISCV: &str = "None"; -pub const LITEX_CONFIG_CPU_VARIANT_STANDARD: &str = "None"; -pub const LITEX_CONFIG_CPU_HUMAN_NAME: &str = "VexRiscv"; -pub const LITEX_CONFIG_CPU_NOP: &str = "nop"; -pub const LITEX_CONFIG_CSR_DATA_WIDTH: usize = 32; -pub const LITEX_CONFIG_CSR_ALIGNMENT: usize = 32; -pub const LITEX_CONFIG_BUS_STANDARD: &str = "WISHBONE"; -pub const LITEX_CONFIG_BUS_DATA_WIDTH: usize = 32; -pub const LITEX_CONFIG_BUS_ADDRESS_WIDTH: usize = 32; -pub const LITEX_APP_UART_INTERRUPT: usize = 4; -pub const LITEX_AUDIO_INTERRUPT: usize = 14; -pub const LITEX_BTEVENTS_INTERRUPT: usize = 7; -pub const LITEX_COM_INTERRUPT: usize = 5; -pub const LITEX_CONSOLE_INTERRUPT: usize = 3; -pub const LITEX_ENGINE_INTERRUPT: usize = 18; -pub const LITEX_GPIO_INTERRUPT: usize = 1; -pub const LITEX_I2C_INTERRUPT: usize = 6; -pub const LITEX_KEYBOARD_INTERRUPT: usize = 13; -pub const LITEX_POWER_INTERRUPT: usize = 10; -pub const LITEX_SHA512_INTERRUPT: usize = 17; -pub const LITEX_SPINOR_INTERRUPT: usize = 12; -pub const LITEX_SPINOR_SOFT_INT_INTERRUPT: usize = 11; -pub const LITEX_SUSRES_INTERRUPT: usize = 9; -pub const LITEX_TICKTIMER_INTERRUPT: usize = 8; -pub const LITEX_TIMER0_INTERRUPT: usize = 0; -pub const LITEX_TRNG_KERNEL_INTERRUPT: usize = 15; -pub const LITEX_TRNG_SERVER_INTERRUPT: usize = 16; -pub const LITEX_UART_INTERRUPT: usize = 2; -pub const LITEX_USBDEV_INTERRUPT: usize = 19; - - -#[cfg(test)] -mod tests { - - #[test] - #[ignore] - fn compile_check_reboot_csr() { - use super::*; let mut reboot_csr = CSR::new(HW_REBOOT_BASE as *mut u32); - - let foo = reboot_csr.r(utra::reboot::SOC_RESET); - reboot_csr.wo(utra::reboot::SOC_RESET, foo); - let bar = reboot_csr.rf(utra::reboot::SOC_RESET_SOC_RESET); - reboot_csr.rmwf(utra::reboot::SOC_RESET_SOC_RESET, bar); - let mut baz = reboot_csr.zf(utra::reboot::SOC_RESET_SOC_RESET, bar); - baz |= reboot_csr.ms(utra::reboot::SOC_RESET_SOC_RESET, 1); - reboot_csr.wfo(utra::reboot::SOC_RESET_SOC_RESET, baz); - - let foo = reboot_csr.r(utra::reboot::ADDR); - reboot_csr.wo(utra::reboot::ADDR, foo); - let bar = reboot_csr.rf(utra::reboot::ADDR_ADDR); - reboot_csr.rmwf(utra::reboot::ADDR_ADDR, bar); - let mut baz = reboot_csr.zf(utra::reboot::ADDR_ADDR, bar); - baz |= reboot_csr.ms(utra::reboot::ADDR_ADDR, 1); - reboot_csr.wfo(utra::reboot::ADDR_ADDR, baz); - - let foo = reboot_csr.r(utra::reboot::CPU_RESET); - reboot_csr.wo(utra::reboot::CPU_RESET, foo); - let bar = reboot_csr.rf(utra::reboot::CPU_RESET_CPU_RESET); - reboot_csr.rmwf(utra::reboot::CPU_RESET_CPU_RESET, bar); - let mut baz = reboot_csr.zf(utra::reboot::CPU_RESET_CPU_RESET, bar); - baz |= reboot_csr.ms(utra::reboot::CPU_RESET_CPU_RESET, 1); - reboot_csr.wfo(utra::reboot::CPU_RESET_CPU_RESET, baz); - } - - #[test] - #[ignore] - fn compile_check_timer0_csr() { - use super::*; let mut timer0_csr = CSR::new(HW_TIMER0_BASE as *mut u32); - - let foo = timer0_csr.r(utra::timer0::LOAD); - timer0_csr.wo(utra::timer0::LOAD, foo); - let bar = timer0_csr.rf(utra::timer0::LOAD_LOAD); - timer0_csr.rmwf(utra::timer0::LOAD_LOAD, bar); - let mut baz = timer0_csr.zf(utra::timer0::LOAD_LOAD, bar); - baz |= timer0_csr.ms(utra::timer0::LOAD_LOAD, 1); - timer0_csr.wfo(utra::timer0::LOAD_LOAD, baz); - - let foo = timer0_csr.r(utra::timer0::RELOAD); - timer0_csr.wo(utra::timer0::RELOAD, foo); - let bar = timer0_csr.rf(utra::timer0::RELOAD_RELOAD); - timer0_csr.rmwf(utra::timer0::RELOAD_RELOAD, bar); - let mut baz = timer0_csr.zf(utra::timer0::RELOAD_RELOAD, bar); - baz |= timer0_csr.ms(utra::timer0::RELOAD_RELOAD, 1); - timer0_csr.wfo(utra::timer0::RELOAD_RELOAD, baz); - - let foo = timer0_csr.r(utra::timer0::EN); - timer0_csr.wo(utra::timer0::EN, foo); - let bar = timer0_csr.rf(utra::timer0::EN_EN); - timer0_csr.rmwf(utra::timer0::EN_EN, bar); - let mut baz = timer0_csr.zf(utra::timer0::EN_EN, bar); - baz |= timer0_csr.ms(utra::timer0::EN_EN, 1); - timer0_csr.wfo(utra::timer0::EN_EN, baz); - - let foo = timer0_csr.r(utra::timer0::EV_STATUS); - timer0_csr.wo(utra::timer0::EV_STATUS, foo); - let bar = timer0_csr.rf(utra::timer0::EV_STATUS_ZERO); - timer0_csr.rmwf(utra::timer0::EV_STATUS_ZERO, bar); - let mut baz = timer0_csr.zf(utra::timer0::EV_STATUS_ZERO, bar); - baz |= timer0_csr.ms(utra::timer0::EV_STATUS_ZERO, 1); - timer0_csr.wfo(utra::timer0::EV_STATUS_ZERO, baz); - - let foo = timer0_csr.r(utra::timer0::EV_PENDING); - timer0_csr.wo(utra::timer0::EV_PENDING, foo); - let bar = timer0_csr.rf(utra::timer0::EV_PENDING_ZERO); - timer0_csr.rmwf(utra::timer0::EV_PENDING_ZERO, bar); - let mut baz = timer0_csr.zf(utra::timer0::EV_PENDING_ZERO, bar); - baz |= timer0_csr.ms(utra::timer0::EV_PENDING_ZERO, 1); - timer0_csr.wfo(utra::timer0::EV_PENDING_ZERO, baz); - - let foo = timer0_csr.r(utra::timer0::EV_ENABLE); - timer0_csr.wo(utra::timer0::EV_ENABLE, foo); - let bar = timer0_csr.rf(utra::timer0::EV_ENABLE_ZERO); - timer0_csr.rmwf(utra::timer0::EV_ENABLE_ZERO, bar); - let mut baz = timer0_csr.zf(utra::timer0::EV_ENABLE_ZERO, bar); - baz |= timer0_csr.ms(utra::timer0::EV_ENABLE_ZERO, 1); - timer0_csr.wfo(utra::timer0::EV_ENABLE_ZERO, baz); - } - - #[test] - #[ignore] - fn compile_check_crg_csr() { - use super::*; let mut crg_csr = CSR::new(HW_CRG_BASE as *mut u32); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_RESET); - crg_csr.wo(utra::crg::MMCM_DRP_RESET, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_RESET_MMCM_DRP_RESET); - crg_csr.rmwf(utra::crg::MMCM_DRP_RESET_MMCM_DRP_RESET, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_RESET_MMCM_DRP_RESET, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_RESET_MMCM_DRP_RESET, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_RESET_MMCM_DRP_RESET, baz); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_LOCKED); - crg_csr.wo(utra::crg::MMCM_DRP_LOCKED, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_LOCKED_MMCM_DRP_LOCKED); - crg_csr.rmwf(utra::crg::MMCM_DRP_LOCKED_MMCM_DRP_LOCKED, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_LOCKED_MMCM_DRP_LOCKED, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_LOCKED_MMCM_DRP_LOCKED, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_LOCKED_MMCM_DRP_LOCKED, baz); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_READ); - crg_csr.wo(utra::crg::MMCM_DRP_READ, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_READ_MMCM_DRP_READ); - crg_csr.rmwf(utra::crg::MMCM_DRP_READ_MMCM_DRP_READ, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_READ_MMCM_DRP_READ, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_READ_MMCM_DRP_READ, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_READ_MMCM_DRP_READ, baz); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_WRITE); - crg_csr.wo(utra::crg::MMCM_DRP_WRITE, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_WRITE_MMCM_DRP_WRITE); - crg_csr.rmwf(utra::crg::MMCM_DRP_WRITE_MMCM_DRP_WRITE, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_WRITE_MMCM_DRP_WRITE, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_WRITE_MMCM_DRP_WRITE, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_WRITE_MMCM_DRP_WRITE, baz); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_DRDY); - crg_csr.wo(utra::crg::MMCM_DRP_DRDY, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_DRDY_MMCM_DRP_DRDY); - crg_csr.rmwf(utra::crg::MMCM_DRP_DRDY_MMCM_DRP_DRDY, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_DRDY_MMCM_DRP_DRDY, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_DRDY_MMCM_DRP_DRDY, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_DRDY_MMCM_DRP_DRDY, baz); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_ADR); - crg_csr.wo(utra::crg::MMCM_DRP_ADR, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_ADR_MMCM_DRP_ADR); - crg_csr.rmwf(utra::crg::MMCM_DRP_ADR_MMCM_DRP_ADR, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_ADR_MMCM_DRP_ADR, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_ADR_MMCM_DRP_ADR, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_ADR_MMCM_DRP_ADR, baz); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_DAT_W); - crg_csr.wo(utra::crg::MMCM_DRP_DAT_W, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_DAT_W_MMCM_DRP_DAT_W); - crg_csr.rmwf(utra::crg::MMCM_DRP_DAT_W_MMCM_DRP_DAT_W, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_DAT_W_MMCM_DRP_DAT_W, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_DAT_W_MMCM_DRP_DAT_W, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_DAT_W_MMCM_DRP_DAT_W, baz); - - let foo = crg_csr.r(utra::crg::MMCM_DRP_DAT_R); - crg_csr.wo(utra::crg::MMCM_DRP_DAT_R, foo); - let bar = crg_csr.rf(utra::crg::MMCM_DRP_DAT_R_MMCM_DRP_DAT_R); - crg_csr.rmwf(utra::crg::MMCM_DRP_DAT_R_MMCM_DRP_DAT_R, bar); - let mut baz = crg_csr.zf(utra::crg::MMCM_DRP_DAT_R_MMCM_DRP_DAT_R, bar); - baz |= crg_csr.ms(utra::crg::MMCM_DRP_DAT_R_MMCM_DRP_DAT_R, 1); - crg_csr.wfo(utra::crg::MMCM_DRP_DAT_R_MMCM_DRP_DAT_R, baz); - } - - #[test] - #[ignore] - fn compile_check_gpio_csr() { - use super::*; let mut gpio_csr = CSR::new(HW_GPIO_BASE as *mut u32); - - let foo = gpio_csr.r(utra::gpio::OUTPUT); - gpio_csr.wo(utra::gpio::OUTPUT, foo); - let bar = gpio_csr.rf(utra::gpio::OUTPUT_OUTPUT); - gpio_csr.rmwf(utra::gpio::OUTPUT_OUTPUT, bar); - let mut baz = gpio_csr.zf(utra::gpio::OUTPUT_OUTPUT, bar); - baz |= gpio_csr.ms(utra::gpio::OUTPUT_OUTPUT, 1); - gpio_csr.wfo(utra::gpio::OUTPUT_OUTPUT, baz); - - let foo = gpio_csr.r(utra::gpio::INPUT); - gpio_csr.wo(utra::gpio::INPUT, foo); - let bar = gpio_csr.rf(utra::gpio::INPUT_INPUT); - gpio_csr.rmwf(utra::gpio::INPUT_INPUT, bar); - let mut baz = gpio_csr.zf(utra::gpio::INPUT_INPUT, bar); - baz |= gpio_csr.ms(utra::gpio::INPUT_INPUT, 1); - gpio_csr.wfo(utra::gpio::INPUT_INPUT, baz); - - let foo = gpio_csr.r(utra::gpio::DRIVE); - gpio_csr.wo(utra::gpio::DRIVE, foo); - let bar = gpio_csr.rf(utra::gpio::DRIVE_DRIVE); - gpio_csr.rmwf(utra::gpio::DRIVE_DRIVE, bar); - let mut baz = gpio_csr.zf(utra::gpio::DRIVE_DRIVE, bar); - baz |= gpio_csr.ms(utra::gpio::DRIVE_DRIVE, 1); - gpio_csr.wfo(utra::gpio::DRIVE_DRIVE, baz); - - let foo = gpio_csr.r(utra::gpio::INTENA); - gpio_csr.wo(utra::gpio::INTENA, foo); - let bar = gpio_csr.rf(utra::gpio::INTENA_INTENA); - gpio_csr.rmwf(utra::gpio::INTENA_INTENA, bar); - let mut baz = gpio_csr.zf(utra::gpio::INTENA_INTENA, bar); - baz |= gpio_csr.ms(utra::gpio::INTENA_INTENA, 1); - gpio_csr.wfo(utra::gpio::INTENA_INTENA, baz); - - let foo = gpio_csr.r(utra::gpio::INTPOL); - gpio_csr.wo(utra::gpio::INTPOL, foo); - let bar = gpio_csr.rf(utra::gpio::INTPOL_INTPOL); - gpio_csr.rmwf(utra::gpio::INTPOL_INTPOL, bar); - let mut baz = gpio_csr.zf(utra::gpio::INTPOL_INTPOL, bar); - baz |= gpio_csr.ms(utra::gpio::INTPOL_INTPOL, 1); - gpio_csr.wfo(utra::gpio::INTPOL_INTPOL, baz); - - let foo = gpio_csr.r(utra::gpio::UARTSEL); - gpio_csr.wo(utra::gpio::UARTSEL, foo); - let bar = gpio_csr.rf(utra::gpio::UARTSEL_UARTSEL); - gpio_csr.rmwf(utra::gpio::UARTSEL_UARTSEL, bar); - let mut baz = gpio_csr.zf(utra::gpio::UARTSEL_UARTSEL, bar); - baz |= gpio_csr.ms(utra::gpio::UARTSEL_UARTSEL, 1); - gpio_csr.wfo(utra::gpio::UARTSEL_UARTSEL, baz); - - let foo = gpio_csr.r(utra::gpio::DEBUG); - gpio_csr.wo(utra::gpio::DEBUG, foo); - let bar = gpio_csr.rf(utra::gpio::DEBUG_WFI); - gpio_csr.rmwf(utra::gpio::DEBUG_WFI, bar); - let mut baz = gpio_csr.zf(utra::gpio::DEBUG_WFI, bar); - baz |= gpio_csr.ms(utra::gpio::DEBUG_WFI, 1); - gpio_csr.wfo(utra::gpio::DEBUG_WFI, baz); - let bar = gpio_csr.rf(utra::gpio::DEBUG_WAKEUP); - gpio_csr.rmwf(utra::gpio::DEBUG_WAKEUP, bar); - let mut baz = gpio_csr.zf(utra::gpio::DEBUG_WAKEUP, bar); - baz |= gpio_csr.ms(utra::gpio::DEBUG_WAKEUP, 1); - gpio_csr.wfo(utra::gpio::DEBUG_WAKEUP, baz); - - let foo = gpio_csr.r(utra::gpio::EV_STATUS); - gpio_csr.wo(utra::gpio::EV_STATUS, foo); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT0); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT0, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT0, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT0, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT0, baz); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT1); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT1, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT1, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT1, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT1, baz); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT2); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT2, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT2, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT2, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT2, baz); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT3); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT3, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT3, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT3, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT3, baz); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT4); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT4, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT4, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT4, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT4, baz); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT5); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT5, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT5, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT5, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT5, baz); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT6); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT6, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT6, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT6, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT6, baz); - let bar = gpio_csr.rf(utra::gpio::EV_STATUS_EVENT7); - gpio_csr.rmwf(utra::gpio::EV_STATUS_EVENT7, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_STATUS_EVENT7, bar); - baz |= gpio_csr.ms(utra::gpio::EV_STATUS_EVENT7, 1); - gpio_csr.wfo(utra::gpio::EV_STATUS_EVENT7, baz); - - let foo = gpio_csr.r(utra::gpio::EV_PENDING); - gpio_csr.wo(utra::gpio::EV_PENDING, foo); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT0); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT0, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT0, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT0, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT0, baz); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT1); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT1, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT1, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT1, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT1, baz); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT2); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT2, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT2, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT2, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT2, baz); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT3); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT3, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT3, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT3, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT3, baz); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT4); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT4, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT4, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT4, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT4, baz); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT5); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT5, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT5, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT5, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT5, baz); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT6); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT6, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT6, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT6, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT6, baz); - let bar = gpio_csr.rf(utra::gpio::EV_PENDING_EVENT7); - gpio_csr.rmwf(utra::gpio::EV_PENDING_EVENT7, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_PENDING_EVENT7, bar); - baz |= gpio_csr.ms(utra::gpio::EV_PENDING_EVENT7, 1); - gpio_csr.wfo(utra::gpio::EV_PENDING_EVENT7, baz); - - let foo = gpio_csr.r(utra::gpio::EV_ENABLE); - gpio_csr.wo(utra::gpio::EV_ENABLE, foo); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT0); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT0, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT0, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT0, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT0, baz); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT1); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT1, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT1, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT1, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT1, baz); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT2); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT2, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT2, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT2, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT2, baz); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT3); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT3, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT3, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT3, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT3, baz); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT4); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT4, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT4, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT4, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT4, baz); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT5); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT5, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT5, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT5, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT5, baz); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT6); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT6, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT6, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT6, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT6, baz); - let bar = gpio_csr.rf(utra::gpio::EV_ENABLE_EVENT7); - gpio_csr.rmwf(utra::gpio::EV_ENABLE_EVENT7, bar); - let mut baz = gpio_csr.zf(utra::gpio::EV_ENABLE_EVENT7, bar); - baz |= gpio_csr.ms(utra::gpio::EV_ENABLE_EVENT7, 1); - gpio_csr.wfo(utra::gpio::EV_ENABLE_EVENT7, baz); - } - - #[test] - #[ignore] - fn compile_check_uart_csr() { - use super::*; let mut uart_csr = CSR::new(HW_UART_BASE as *mut u32); - - let foo = uart_csr.r(utra::uart::RXTX); - uart_csr.wo(utra::uart::RXTX, foo); - let bar = uart_csr.rf(utra::uart::RXTX_RXTX); - uart_csr.rmwf(utra::uart::RXTX_RXTX, bar); - let mut baz = uart_csr.zf(utra::uart::RXTX_RXTX, bar); - baz |= uart_csr.ms(utra::uart::RXTX_RXTX, 1); - uart_csr.wfo(utra::uart::RXTX_RXTX, baz); - - let foo = uart_csr.r(utra::uart::TXFULL); - uart_csr.wo(utra::uart::TXFULL, foo); - let bar = uart_csr.rf(utra::uart::TXFULL_TXFULL); - uart_csr.rmwf(utra::uart::TXFULL_TXFULL, bar); - let mut baz = uart_csr.zf(utra::uart::TXFULL_TXFULL, bar); - baz |= uart_csr.ms(utra::uart::TXFULL_TXFULL, 1); - uart_csr.wfo(utra::uart::TXFULL_TXFULL, baz); - - let foo = uart_csr.r(utra::uart::RXEMPTY); - uart_csr.wo(utra::uart::RXEMPTY, foo); - let bar = uart_csr.rf(utra::uart::RXEMPTY_RXEMPTY); - uart_csr.rmwf(utra::uart::RXEMPTY_RXEMPTY, bar); - let mut baz = uart_csr.zf(utra::uart::RXEMPTY_RXEMPTY, bar); - baz |= uart_csr.ms(utra::uart::RXEMPTY_RXEMPTY, 1); - uart_csr.wfo(utra::uart::RXEMPTY_RXEMPTY, baz); - - let foo = uart_csr.r(utra::uart::EV_STATUS); - uart_csr.wo(utra::uart::EV_STATUS, foo); - let bar = uart_csr.rf(utra::uart::EV_STATUS_TX); - uart_csr.rmwf(utra::uart::EV_STATUS_TX, bar); - let mut baz = uart_csr.zf(utra::uart::EV_STATUS_TX, bar); - baz |= uart_csr.ms(utra::uart::EV_STATUS_TX, 1); - uart_csr.wfo(utra::uart::EV_STATUS_TX, baz); - let bar = uart_csr.rf(utra::uart::EV_STATUS_RX); - uart_csr.rmwf(utra::uart::EV_STATUS_RX, bar); - let mut baz = uart_csr.zf(utra::uart::EV_STATUS_RX, bar); - baz |= uart_csr.ms(utra::uart::EV_STATUS_RX, 1); - uart_csr.wfo(utra::uart::EV_STATUS_RX, baz); - - let foo = uart_csr.r(utra::uart::EV_PENDING); - uart_csr.wo(utra::uart::EV_PENDING, foo); - let bar = uart_csr.rf(utra::uart::EV_PENDING_TX); - uart_csr.rmwf(utra::uart::EV_PENDING_TX, bar); - let mut baz = uart_csr.zf(utra::uart::EV_PENDING_TX, bar); - baz |= uart_csr.ms(utra::uart::EV_PENDING_TX, 1); - uart_csr.wfo(utra::uart::EV_PENDING_TX, baz); - let bar = uart_csr.rf(utra::uart::EV_PENDING_RX); - uart_csr.rmwf(utra::uart::EV_PENDING_RX, bar); - let mut baz = uart_csr.zf(utra::uart::EV_PENDING_RX, bar); - baz |= uart_csr.ms(utra::uart::EV_PENDING_RX, 1); - uart_csr.wfo(utra::uart::EV_PENDING_RX, baz); - - let foo = uart_csr.r(utra::uart::EV_ENABLE); - uart_csr.wo(utra::uart::EV_ENABLE, foo); - let bar = uart_csr.rf(utra::uart::EV_ENABLE_TX); - uart_csr.rmwf(utra::uart::EV_ENABLE_TX, bar); - let mut baz = uart_csr.zf(utra::uart::EV_ENABLE_TX, bar); - baz |= uart_csr.ms(utra::uart::EV_ENABLE_TX, 1); - uart_csr.wfo(utra::uart::EV_ENABLE_TX, baz); - let bar = uart_csr.rf(utra::uart::EV_ENABLE_RX); - uart_csr.rmwf(utra::uart::EV_ENABLE_RX, bar); - let mut baz = uart_csr.zf(utra::uart::EV_ENABLE_RX, bar); - baz |= uart_csr.ms(utra::uart::EV_ENABLE_RX, 1); - uart_csr.wfo(utra::uart::EV_ENABLE_RX, baz); - - let foo = uart_csr.r(utra::uart::TXEMPTY); - uart_csr.wo(utra::uart::TXEMPTY, foo); - let bar = uart_csr.rf(utra::uart::TXEMPTY_TXEMPTY); - uart_csr.rmwf(utra::uart::TXEMPTY_TXEMPTY, bar); - let mut baz = uart_csr.zf(utra::uart::TXEMPTY_TXEMPTY, bar); - baz |= uart_csr.ms(utra::uart::TXEMPTY_TXEMPTY, 1); - uart_csr.wfo(utra::uart::TXEMPTY_TXEMPTY, baz); - - let foo = uart_csr.r(utra::uart::RXFULL); - uart_csr.wo(utra::uart::RXFULL, foo); - let bar = uart_csr.rf(utra::uart::RXFULL_RXFULL); - uart_csr.rmwf(utra::uart::RXFULL_RXFULL, bar); - let mut baz = uart_csr.zf(utra::uart::RXFULL_RXFULL, bar); - baz |= uart_csr.ms(utra::uart::RXFULL_RXFULL, 1); - uart_csr.wfo(utra::uart::RXFULL_RXFULL, baz); - } - - #[test] - #[ignore] - fn compile_check_console_csr() { - use super::*; let mut console_csr = CSR::new(HW_CONSOLE_BASE as *mut u32); - - let foo = console_csr.r(utra::console::RXTX); - console_csr.wo(utra::console::RXTX, foo); - let bar = console_csr.rf(utra::console::RXTX_RXTX); - console_csr.rmwf(utra::console::RXTX_RXTX, bar); - let mut baz = console_csr.zf(utra::console::RXTX_RXTX, bar); - baz |= console_csr.ms(utra::console::RXTX_RXTX, 1); - console_csr.wfo(utra::console::RXTX_RXTX, baz); - - let foo = console_csr.r(utra::console::TXFULL); - console_csr.wo(utra::console::TXFULL, foo); - let bar = console_csr.rf(utra::console::TXFULL_TXFULL); - console_csr.rmwf(utra::console::TXFULL_TXFULL, bar); - let mut baz = console_csr.zf(utra::console::TXFULL_TXFULL, bar); - baz |= console_csr.ms(utra::console::TXFULL_TXFULL, 1); - console_csr.wfo(utra::console::TXFULL_TXFULL, baz); - - let foo = console_csr.r(utra::console::RXEMPTY); - console_csr.wo(utra::console::RXEMPTY, foo); - let bar = console_csr.rf(utra::console::RXEMPTY_RXEMPTY); - console_csr.rmwf(utra::console::RXEMPTY_RXEMPTY, bar); - let mut baz = console_csr.zf(utra::console::RXEMPTY_RXEMPTY, bar); - baz |= console_csr.ms(utra::console::RXEMPTY_RXEMPTY, 1); - console_csr.wfo(utra::console::RXEMPTY_RXEMPTY, baz); - - let foo = console_csr.r(utra::console::EV_STATUS); - console_csr.wo(utra::console::EV_STATUS, foo); - let bar = console_csr.rf(utra::console::EV_STATUS_TX); - console_csr.rmwf(utra::console::EV_STATUS_TX, bar); - let mut baz = console_csr.zf(utra::console::EV_STATUS_TX, bar); - baz |= console_csr.ms(utra::console::EV_STATUS_TX, 1); - console_csr.wfo(utra::console::EV_STATUS_TX, baz); - let bar = console_csr.rf(utra::console::EV_STATUS_RX); - console_csr.rmwf(utra::console::EV_STATUS_RX, bar); - let mut baz = console_csr.zf(utra::console::EV_STATUS_RX, bar); - baz |= console_csr.ms(utra::console::EV_STATUS_RX, 1); - console_csr.wfo(utra::console::EV_STATUS_RX, baz); - - let foo = console_csr.r(utra::console::EV_PENDING); - console_csr.wo(utra::console::EV_PENDING, foo); - let bar = console_csr.rf(utra::console::EV_PENDING_TX); - console_csr.rmwf(utra::console::EV_PENDING_TX, bar); - let mut baz = console_csr.zf(utra::console::EV_PENDING_TX, bar); - baz |= console_csr.ms(utra::console::EV_PENDING_TX, 1); - console_csr.wfo(utra::console::EV_PENDING_TX, baz); - let bar = console_csr.rf(utra::console::EV_PENDING_RX); - console_csr.rmwf(utra::console::EV_PENDING_RX, bar); - let mut baz = console_csr.zf(utra::console::EV_PENDING_RX, bar); - baz |= console_csr.ms(utra::console::EV_PENDING_RX, 1); - console_csr.wfo(utra::console::EV_PENDING_RX, baz); - - let foo = console_csr.r(utra::console::EV_ENABLE); - console_csr.wo(utra::console::EV_ENABLE, foo); - let bar = console_csr.rf(utra::console::EV_ENABLE_TX); - console_csr.rmwf(utra::console::EV_ENABLE_TX, bar); - let mut baz = console_csr.zf(utra::console::EV_ENABLE_TX, bar); - baz |= console_csr.ms(utra::console::EV_ENABLE_TX, 1); - console_csr.wfo(utra::console::EV_ENABLE_TX, baz); - let bar = console_csr.rf(utra::console::EV_ENABLE_RX); - console_csr.rmwf(utra::console::EV_ENABLE_RX, bar); - let mut baz = console_csr.zf(utra::console::EV_ENABLE_RX, bar); - baz |= console_csr.ms(utra::console::EV_ENABLE_RX, 1); - console_csr.wfo(utra::console::EV_ENABLE_RX, baz); - - let foo = console_csr.r(utra::console::TXEMPTY); - console_csr.wo(utra::console::TXEMPTY, foo); - let bar = console_csr.rf(utra::console::TXEMPTY_TXEMPTY); - console_csr.rmwf(utra::console::TXEMPTY_TXEMPTY, bar); - let mut baz = console_csr.zf(utra::console::TXEMPTY_TXEMPTY, bar); - baz |= console_csr.ms(utra::console::TXEMPTY_TXEMPTY, 1); - console_csr.wfo(utra::console::TXEMPTY_TXEMPTY, baz); - - let foo = console_csr.r(utra::console::RXFULL); - console_csr.wo(utra::console::RXFULL, foo); - let bar = console_csr.rf(utra::console::RXFULL_RXFULL); - console_csr.rmwf(utra::console::RXFULL_RXFULL, bar); - let mut baz = console_csr.zf(utra::console::RXFULL_RXFULL, bar); - baz |= console_csr.ms(utra::console::RXFULL_RXFULL, 1); - console_csr.wfo(utra::console::RXFULL_RXFULL, baz); - } - - #[test] - #[ignore] - fn compile_check_app_uart_csr() { - use super::*; let mut app_uart_csr = CSR::new(HW_APP_UART_BASE as *mut u32); - - let foo = app_uart_csr.r(utra::app_uart::RXTX); - app_uart_csr.wo(utra::app_uart::RXTX, foo); - let bar = app_uart_csr.rf(utra::app_uart::RXTX_RXTX); - app_uart_csr.rmwf(utra::app_uart::RXTX_RXTX, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::RXTX_RXTX, bar); - baz |= app_uart_csr.ms(utra::app_uart::RXTX_RXTX, 1); - app_uart_csr.wfo(utra::app_uart::RXTX_RXTX, baz); - - let foo = app_uart_csr.r(utra::app_uart::TXFULL); - app_uart_csr.wo(utra::app_uart::TXFULL, foo); - let bar = app_uart_csr.rf(utra::app_uart::TXFULL_TXFULL); - app_uart_csr.rmwf(utra::app_uart::TXFULL_TXFULL, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::TXFULL_TXFULL, bar); - baz |= app_uart_csr.ms(utra::app_uart::TXFULL_TXFULL, 1); - app_uart_csr.wfo(utra::app_uart::TXFULL_TXFULL, baz); - - let foo = app_uart_csr.r(utra::app_uart::RXEMPTY); - app_uart_csr.wo(utra::app_uart::RXEMPTY, foo); - let bar = app_uart_csr.rf(utra::app_uart::RXEMPTY_RXEMPTY); - app_uart_csr.rmwf(utra::app_uart::RXEMPTY_RXEMPTY, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::RXEMPTY_RXEMPTY, bar); - baz |= app_uart_csr.ms(utra::app_uart::RXEMPTY_RXEMPTY, 1); - app_uart_csr.wfo(utra::app_uart::RXEMPTY_RXEMPTY, baz); - - let foo = app_uart_csr.r(utra::app_uart::EV_STATUS); - app_uart_csr.wo(utra::app_uart::EV_STATUS, foo); - let bar = app_uart_csr.rf(utra::app_uart::EV_STATUS_TX); - app_uart_csr.rmwf(utra::app_uart::EV_STATUS_TX, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::EV_STATUS_TX, bar); - baz |= app_uart_csr.ms(utra::app_uart::EV_STATUS_TX, 1); - app_uart_csr.wfo(utra::app_uart::EV_STATUS_TX, baz); - let bar = app_uart_csr.rf(utra::app_uart::EV_STATUS_RX); - app_uart_csr.rmwf(utra::app_uart::EV_STATUS_RX, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::EV_STATUS_RX, bar); - baz |= app_uart_csr.ms(utra::app_uart::EV_STATUS_RX, 1); - app_uart_csr.wfo(utra::app_uart::EV_STATUS_RX, baz); - - let foo = app_uart_csr.r(utra::app_uart::EV_PENDING); - app_uart_csr.wo(utra::app_uart::EV_PENDING, foo); - let bar = app_uart_csr.rf(utra::app_uart::EV_PENDING_TX); - app_uart_csr.rmwf(utra::app_uart::EV_PENDING_TX, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::EV_PENDING_TX, bar); - baz |= app_uart_csr.ms(utra::app_uart::EV_PENDING_TX, 1); - app_uart_csr.wfo(utra::app_uart::EV_PENDING_TX, baz); - let bar = app_uart_csr.rf(utra::app_uart::EV_PENDING_RX); - app_uart_csr.rmwf(utra::app_uart::EV_PENDING_RX, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::EV_PENDING_RX, bar); - baz |= app_uart_csr.ms(utra::app_uart::EV_PENDING_RX, 1); - app_uart_csr.wfo(utra::app_uart::EV_PENDING_RX, baz); - - let foo = app_uart_csr.r(utra::app_uart::EV_ENABLE); - app_uart_csr.wo(utra::app_uart::EV_ENABLE, foo); - let bar = app_uart_csr.rf(utra::app_uart::EV_ENABLE_TX); - app_uart_csr.rmwf(utra::app_uart::EV_ENABLE_TX, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::EV_ENABLE_TX, bar); - baz |= app_uart_csr.ms(utra::app_uart::EV_ENABLE_TX, 1); - app_uart_csr.wfo(utra::app_uart::EV_ENABLE_TX, baz); - let bar = app_uart_csr.rf(utra::app_uart::EV_ENABLE_RX); - app_uart_csr.rmwf(utra::app_uart::EV_ENABLE_RX, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::EV_ENABLE_RX, bar); - baz |= app_uart_csr.ms(utra::app_uart::EV_ENABLE_RX, 1); - app_uart_csr.wfo(utra::app_uart::EV_ENABLE_RX, baz); - - let foo = app_uart_csr.r(utra::app_uart::TXEMPTY); - app_uart_csr.wo(utra::app_uart::TXEMPTY, foo); - let bar = app_uart_csr.rf(utra::app_uart::TXEMPTY_TXEMPTY); - app_uart_csr.rmwf(utra::app_uart::TXEMPTY_TXEMPTY, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::TXEMPTY_TXEMPTY, bar); - baz |= app_uart_csr.ms(utra::app_uart::TXEMPTY_TXEMPTY, 1); - app_uart_csr.wfo(utra::app_uart::TXEMPTY_TXEMPTY, baz); - - let foo = app_uart_csr.r(utra::app_uart::RXFULL); - app_uart_csr.wo(utra::app_uart::RXFULL, foo); - let bar = app_uart_csr.rf(utra::app_uart::RXFULL_RXFULL); - app_uart_csr.rmwf(utra::app_uart::RXFULL_RXFULL, bar); - let mut baz = app_uart_csr.zf(utra::app_uart::RXFULL_RXFULL, bar); - baz |= app_uart_csr.ms(utra::app_uart::RXFULL_RXFULL, 1); - app_uart_csr.wfo(utra::app_uart::RXFULL_RXFULL, baz); - } - - #[test] - #[ignore] - fn compile_check_info_csr() { - use super::*; let mut info_csr = CSR::new(HW_INFO_BASE as *mut u32); - - let foo = info_csr.r(utra::info::DNA_ID1); - info_csr.wo(utra::info::DNA_ID1, foo); - let bar = info_csr.rf(utra::info::DNA_ID1_DNA_ID); - info_csr.rmwf(utra::info::DNA_ID1_DNA_ID, bar); - let mut baz = info_csr.zf(utra::info::DNA_ID1_DNA_ID, bar); - baz |= info_csr.ms(utra::info::DNA_ID1_DNA_ID, 1); - info_csr.wfo(utra::info::DNA_ID1_DNA_ID, baz); - - let foo = info_csr.r(utra::info::DNA_ID0); - info_csr.wo(utra::info::DNA_ID0, foo); - let bar = info_csr.rf(utra::info::DNA_ID0_DNA_ID); - info_csr.rmwf(utra::info::DNA_ID0_DNA_ID, bar); - let mut baz = info_csr.zf(utra::info::DNA_ID0_DNA_ID, bar); - baz |= info_csr.ms(utra::info::DNA_ID0_DNA_ID, 1); - info_csr.wfo(utra::info::DNA_ID0_DNA_ID, baz); - - let foo = info_csr.r(utra::info::GIT_MAJOR); - info_csr.wo(utra::info::GIT_MAJOR, foo); - let bar = info_csr.rf(utra::info::GIT_MAJOR_GIT_MAJOR); - info_csr.rmwf(utra::info::GIT_MAJOR_GIT_MAJOR, bar); - let mut baz = info_csr.zf(utra::info::GIT_MAJOR_GIT_MAJOR, bar); - baz |= info_csr.ms(utra::info::GIT_MAJOR_GIT_MAJOR, 1); - info_csr.wfo(utra::info::GIT_MAJOR_GIT_MAJOR, baz); - - let foo = info_csr.r(utra::info::GIT_MINOR); - info_csr.wo(utra::info::GIT_MINOR, foo); - let bar = info_csr.rf(utra::info::GIT_MINOR_GIT_MINOR); - info_csr.rmwf(utra::info::GIT_MINOR_GIT_MINOR, bar); - let mut baz = info_csr.zf(utra::info::GIT_MINOR_GIT_MINOR, bar); - baz |= info_csr.ms(utra::info::GIT_MINOR_GIT_MINOR, 1); - info_csr.wfo(utra::info::GIT_MINOR_GIT_MINOR, baz); - - let foo = info_csr.r(utra::info::GIT_REVISION); - info_csr.wo(utra::info::GIT_REVISION, foo); - let bar = info_csr.rf(utra::info::GIT_REVISION_GIT_REVISION); - info_csr.rmwf(utra::info::GIT_REVISION_GIT_REVISION, bar); - let mut baz = info_csr.zf(utra::info::GIT_REVISION_GIT_REVISION, bar); - baz |= info_csr.ms(utra::info::GIT_REVISION_GIT_REVISION, 1); - info_csr.wfo(utra::info::GIT_REVISION_GIT_REVISION, baz); - - let foo = info_csr.r(utra::info::GIT_GITREV); - info_csr.wo(utra::info::GIT_GITREV, foo); - let bar = info_csr.rf(utra::info::GIT_GITREV_GIT_GITREV); - info_csr.rmwf(utra::info::GIT_GITREV_GIT_GITREV, bar); - let mut baz = info_csr.zf(utra::info::GIT_GITREV_GIT_GITREV, bar); - baz |= info_csr.ms(utra::info::GIT_GITREV_GIT_GITREV, 1); - info_csr.wfo(utra::info::GIT_GITREV_GIT_GITREV, baz); - - let foo = info_csr.r(utra::info::GIT_GITEXTRA); - info_csr.wo(utra::info::GIT_GITEXTRA, foo); - let bar = info_csr.rf(utra::info::GIT_GITEXTRA_GIT_GITEXTRA); - info_csr.rmwf(utra::info::GIT_GITEXTRA_GIT_GITEXTRA, bar); - let mut baz = info_csr.zf(utra::info::GIT_GITEXTRA_GIT_GITEXTRA, bar); - baz |= info_csr.ms(utra::info::GIT_GITEXTRA_GIT_GITEXTRA, 1); - info_csr.wfo(utra::info::GIT_GITEXTRA_GIT_GITEXTRA, baz); - - let foo = info_csr.r(utra::info::GIT_DIRTY); - info_csr.wo(utra::info::GIT_DIRTY, foo); - let bar = info_csr.rf(utra::info::GIT_DIRTY_DIRTY); - info_csr.rmwf(utra::info::GIT_DIRTY_DIRTY, bar); - let mut baz = info_csr.zf(utra::info::GIT_DIRTY_DIRTY, bar); - baz |= info_csr.ms(utra::info::GIT_DIRTY_DIRTY, 1); - info_csr.wfo(utra::info::GIT_DIRTY_DIRTY, baz); - - let foo = info_csr.r(utra::info::PLATFORM_PLATFORM1); - info_csr.wo(utra::info::PLATFORM_PLATFORM1, foo); - let bar = info_csr.rf(utra::info::PLATFORM_PLATFORM1_PLATFORM_PLATFORM); - info_csr.rmwf(utra::info::PLATFORM_PLATFORM1_PLATFORM_PLATFORM, bar); - let mut baz = info_csr.zf(utra::info::PLATFORM_PLATFORM1_PLATFORM_PLATFORM, bar); - baz |= info_csr.ms(utra::info::PLATFORM_PLATFORM1_PLATFORM_PLATFORM, 1); - info_csr.wfo(utra::info::PLATFORM_PLATFORM1_PLATFORM_PLATFORM, baz); - - let foo = info_csr.r(utra::info::PLATFORM_PLATFORM0); - info_csr.wo(utra::info::PLATFORM_PLATFORM0, foo); - let bar = info_csr.rf(utra::info::PLATFORM_PLATFORM0_PLATFORM_PLATFORM); - info_csr.rmwf(utra::info::PLATFORM_PLATFORM0_PLATFORM_PLATFORM, bar); - let mut baz = info_csr.zf(utra::info::PLATFORM_PLATFORM0_PLATFORM_PLATFORM, bar); - baz |= info_csr.ms(utra::info::PLATFORM_PLATFORM0_PLATFORM_PLATFORM, 1); - info_csr.wfo(utra::info::PLATFORM_PLATFORM0_PLATFORM_PLATFORM, baz); - - let foo = info_csr.r(utra::info::PLATFORM_TARGET1); - info_csr.wo(utra::info::PLATFORM_TARGET1, foo); - let bar = info_csr.rf(utra::info::PLATFORM_TARGET1_PLATFORM_TARGET); - info_csr.rmwf(utra::info::PLATFORM_TARGET1_PLATFORM_TARGET, bar); - let mut baz = info_csr.zf(utra::info::PLATFORM_TARGET1_PLATFORM_TARGET, bar); - baz |= info_csr.ms(utra::info::PLATFORM_TARGET1_PLATFORM_TARGET, 1); - info_csr.wfo(utra::info::PLATFORM_TARGET1_PLATFORM_TARGET, baz); - - let foo = info_csr.r(utra::info::PLATFORM_TARGET0); - info_csr.wo(utra::info::PLATFORM_TARGET0, foo); - let bar = info_csr.rf(utra::info::PLATFORM_TARGET0_PLATFORM_TARGET); - info_csr.rmwf(utra::info::PLATFORM_TARGET0_PLATFORM_TARGET, bar); - let mut baz = info_csr.zf(utra::info::PLATFORM_TARGET0_PLATFORM_TARGET, bar); - baz |= info_csr.ms(utra::info::PLATFORM_TARGET0_PLATFORM_TARGET, 1); - info_csr.wfo(utra::info::PLATFORM_TARGET0_PLATFORM_TARGET, baz); - } - - #[test] - #[ignore] - fn compile_check_sram_ext_csr() { - use super::*; let mut sram_ext_csr = CSR::new(HW_SRAM_EXT_BASE as *mut u32); - - let foo = sram_ext_csr.r(utra::sram_ext::CONFIG_STATUS); - sram_ext_csr.wo(utra::sram_ext::CONFIG_STATUS, foo); - let bar = sram_ext_csr.rf(utra::sram_ext::CONFIG_STATUS_MODE); - sram_ext_csr.rmwf(utra::sram_ext::CONFIG_STATUS_MODE, bar); - let mut baz = sram_ext_csr.zf(utra::sram_ext::CONFIG_STATUS_MODE, bar); - baz |= sram_ext_csr.ms(utra::sram_ext::CONFIG_STATUS_MODE, 1); - sram_ext_csr.wfo(utra::sram_ext::CONFIG_STATUS_MODE, baz); - - let foo = sram_ext_csr.r(utra::sram_ext::READ_CONFIG); - sram_ext_csr.wo(utra::sram_ext::READ_CONFIG, foo); - let bar = sram_ext_csr.rf(utra::sram_ext::READ_CONFIG_TRIGGER); - sram_ext_csr.rmwf(utra::sram_ext::READ_CONFIG_TRIGGER, bar); - let mut baz = sram_ext_csr.zf(utra::sram_ext::READ_CONFIG_TRIGGER, bar); - baz |= sram_ext_csr.ms(utra::sram_ext::READ_CONFIG_TRIGGER, 1); - sram_ext_csr.wfo(utra::sram_ext::READ_CONFIG_TRIGGER, baz); - } - - #[test] - #[ignore] - fn compile_check_memlcd_csr() { - use super::*; let mut memlcd_csr = CSR::new(HW_MEMLCD_BASE as *mut u32); - - let foo = memlcd_csr.r(utra::memlcd::COMMAND); - memlcd_csr.wo(utra::memlcd::COMMAND, foo); - let bar = memlcd_csr.rf(utra::memlcd::COMMAND_UPDATEDIRTY); - memlcd_csr.rmwf(utra::memlcd::COMMAND_UPDATEDIRTY, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::COMMAND_UPDATEDIRTY, bar); - baz |= memlcd_csr.ms(utra::memlcd::COMMAND_UPDATEDIRTY, 1); - memlcd_csr.wfo(utra::memlcd::COMMAND_UPDATEDIRTY, baz); - let bar = memlcd_csr.rf(utra::memlcd::COMMAND_UPDATEALL); - memlcd_csr.rmwf(utra::memlcd::COMMAND_UPDATEALL, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::COMMAND_UPDATEALL, bar); - baz |= memlcd_csr.ms(utra::memlcd::COMMAND_UPDATEALL, 1); - memlcd_csr.wfo(utra::memlcd::COMMAND_UPDATEALL, baz); - - let foo = memlcd_csr.r(utra::memlcd::BUSY); - memlcd_csr.wo(utra::memlcd::BUSY, foo); - let bar = memlcd_csr.rf(utra::memlcd::BUSY_BUSY); - memlcd_csr.rmwf(utra::memlcd::BUSY_BUSY, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::BUSY_BUSY, bar); - baz |= memlcd_csr.ms(utra::memlcd::BUSY_BUSY, 1); - memlcd_csr.wfo(utra::memlcd::BUSY_BUSY, baz); - - let foo = memlcd_csr.r(utra::memlcd::PRESCALER); - memlcd_csr.wo(utra::memlcd::PRESCALER, foo); - let bar = memlcd_csr.rf(utra::memlcd::PRESCALER_PRESCALER); - memlcd_csr.rmwf(utra::memlcd::PRESCALER_PRESCALER, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::PRESCALER_PRESCALER, bar); - baz |= memlcd_csr.ms(utra::memlcd::PRESCALER_PRESCALER, 1); - memlcd_csr.wfo(utra::memlcd::PRESCALER_PRESCALER, baz); - - let foo = memlcd_csr.r(utra::memlcd::EV_STATUS); - memlcd_csr.wo(utra::memlcd::EV_STATUS, foo); - let bar = memlcd_csr.rf(utra::memlcd::EV_STATUS_DONE); - memlcd_csr.rmwf(utra::memlcd::EV_STATUS_DONE, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::EV_STATUS_DONE, bar); - baz |= memlcd_csr.ms(utra::memlcd::EV_STATUS_DONE, 1); - memlcd_csr.wfo(utra::memlcd::EV_STATUS_DONE, baz); - - let foo = memlcd_csr.r(utra::memlcd::EV_PENDING); - memlcd_csr.wo(utra::memlcd::EV_PENDING, foo); - let bar = memlcd_csr.rf(utra::memlcd::EV_PENDING_DONE); - memlcd_csr.rmwf(utra::memlcd::EV_PENDING_DONE, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::EV_PENDING_DONE, bar); - baz |= memlcd_csr.ms(utra::memlcd::EV_PENDING_DONE, 1); - memlcd_csr.wfo(utra::memlcd::EV_PENDING_DONE, baz); - - let foo = memlcd_csr.r(utra::memlcd::EV_ENABLE); - memlcd_csr.wo(utra::memlcd::EV_ENABLE, foo); - let bar = memlcd_csr.rf(utra::memlcd::EV_ENABLE_DONE); - memlcd_csr.rmwf(utra::memlcd::EV_ENABLE_DONE, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::EV_ENABLE_DONE, bar); - baz |= memlcd_csr.ms(utra::memlcd::EV_ENABLE_DONE, 1); - memlcd_csr.wfo(utra::memlcd::EV_ENABLE_DONE, baz); - - let foo = memlcd_csr.r(utra::memlcd::DEVBOOT); - memlcd_csr.wo(utra::memlcd::DEVBOOT, foo); - let bar = memlcd_csr.rf(utra::memlcd::DEVBOOT_DEVBOOT); - memlcd_csr.rmwf(utra::memlcd::DEVBOOT_DEVBOOT, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::DEVBOOT_DEVBOOT, bar); - baz |= memlcd_csr.ms(utra::memlcd::DEVBOOT_DEVBOOT, 1); - memlcd_csr.wfo(utra::memlcd::DEVBOOT_DEVBOOT, baz); - - let foo = memlcd_csr.r(utra::memlcd::DEVSTATUS); - memlcd_csr.wo(utra::memlcd::DEVSTATUS, foo); - let bar = memlcd_csr.rf(utra::memlcd::DEVSTATUS_DEVSTATUS); - memlcd_csr.rmwf(utra::memlcd::DEVSTATUS_DEVSTATUS, bar); - let mut baz = memlcd_csr.zf(utra::memlcd::DEVSTATUS_DEVSTATUS, bar); - baz |= memlcd_csr.ms(utra::memlcd::DEVSTATUS_DEVSTATUS, 1); - memlcd_csr.wfo(utra::memlcd::DEVSTATUS_DEVSTATUS, baz); - } - - #[test] - #[ignore] - fn compile_check_com_csr() { - use super::*; let mut com_csr = CSR::new(HW_COM_BASE as *mut u32); - - let foo = com_csr.r(utra::com::TX); - com_csr.wo(utra::com::TX, foo); - let bar = com_csr.rf(utra::com::TX_TX); - com_csr.rmwf(utra::com::TX_TX, bar); - let mut baz = com_csr.zf(utra::com::TX_TX, bar); - baz |= com_csr.ms(utra::com::TX_TX, 1); - com_csr.wfo(utra::com::TX_TX, baz); - - let foo = com_csr.r(utra::com::RX); - com_csr.wo(utra::com::RX, foo); - let bar = com_csr.rf(utra::com::RX_RX); - com_csr.rmwf(utra::com::RX_RX, bar); - let mut baz = com_csr.zf(utra::com::RX_RX, bar); - baz |= com_csr.ms(utra::com::RX_RX, 1); - com_csr.wfo(utra::com::RX_RX, baz); - - let foo = com_csr.r(utra::com::CONTROL); - com_csr.wo(utra::com::CONTROL, foo); - let bar = com_csr.rf(utra::com::CONTROL_INTENA); - com_csr.rmwf(utra::com::CONTROL_INTENA, bar); - let mut baz = com_csr.zf(utra::com::CONTROL_INTENA, bar); - baz |= com_csr.ms(utra::com::CONTROL_INTENA, 1); - com_csr.wfo(utra::com::CONTROL_INTENA, baz); - let bar = com_csr.rf(utra::com::CONTROL_AUTOHOLD); - com_csr.rmwf(utra::com::CONTROL_AUTOHOLD, bar); - let mut baz = com_csr.zf(utra::com::CONTROL_AUTOHOLD, bar); - baz |= com_csr.ms(utra::com::CONTROL_AUTOHOLD, 1); - com_csr.wfo(utra::com::CONTROL_AUTOHOLD, baz); - - let foo = com_csr.r(utra::com::STATUS); - com_csr.wo(utra::com::STATUS, foo); - let bar = com_csr.rf(utra::com::STATUS_TIP); - com_csr.rmwf(utra::com::STATUS_TIP, bar); - let mut baz = com_csr.zf(utra::com::STATUS_TIP, bar); - baz |= com_csr.ms(utra::com::STATUS_TIP, 1); - com_csr.wfo(utra::com::STATUS_TIP, baz); - let bar = com_csr.rf(utra::com::STATUS_HOLD); - com_csr.rmwf(utra::com::STATUS_HOLD, bar); - let mut baz = com_csr.zf(utra::com::STATUS_HOLD, bar); - baz |= com_csr.ms(utra::com::STATUS_HOLD, 1); - com_csr.wfo(utra::com::STATUS_HOLD, baz); - - let foo = com_csr.r(utra::com::EV_STATUS); - com_csr.wo(utra::com::EV_STATUS, foo); - let bar = com_csr.rf(utra::com::EV_STATUS_SPI_INT); - com_csr.rmwf(utra::com::EV_STATUS_SPI_INT, bar); - let mut baz = com_csr.zf(utra::com::EV_STATUS_SPI_INT, bar); - baz |= com_csr.ms(utra::com::EV_STATUS_SPI_INT, 1); - com_csr.wfo(utra::com::EV_STATUS_SPI_INT, baz); - let bar = com_csr.rf(utra::com::EV_STATUS_SPI_HOLD); - com_csr.rmwf(utra::com::EV_STATUS_SPI_HOLD, bar); - let mut baz = com_csr.zf(utra::com::EV_STATUS_SPI_HOLD, bar); - baz |= com_csr.ms(utra::com::EV_STATUS_SPI_HOLD, 1); - com_csr.wfo(utra::com::EV_STATUS_SPI_HOLD, baz); - - let foo = com_csr.r(utra::com::EV_PENDING); - com_csr.wo(utra::com::EV_PENDING, foo); - let bar = com_csr.rf(utra::com::EV_PENDING_SPI_INT); - com_csr.rmwf(utra::com::EV_PENDING_SPI_INT, bar); - let mut baz = com_csr.zf(utra::com::EV_PENDING_SPI_INT, bar); - baz |= com_csr.ms(utra::com::EV_PENDING_SPI_INT, 1); - com_csr.wfo(utra::com::EV_PENDING_SPI_INT, baz); - let bar = com_csr.rf(utra::com::EV_PENDING_SPI_HOLD); - com_csr.rmwf(utra::com::EV_PENDING_SPI_HOLD, bar); - let mut baz = com_csr.zf(utra::com::EV_PENDING_SPI_HOLD, bar); - baz |= com_csr.ms(utra::com::EV_PENDING_SPI_HOLD, 1); - com_csr.wfo(utra::com::EV_PENDING_SPI_HOLD, baz); - - let foo = com_csr.r(utra::com::EV_ENABLE); - com_csr.wo(utra::com::EV_ENABLE, foo); - let bar = com_csr.rf(utra::com::EV_ENABLE_SPI_INT); - com_csr.rmwf(utra::com::EV_ENABLE_SPI_INT, bar); - let mut baz = com_csr.zf(utra::com::EV_ENABLE_SPI_INT, bar); - baz |= com_csr.ms(utra::com::EV_ENABLE_SPI_INT, 1); - com_csr.wfo(utra::com::EV_ENABLE_SPI_INT, baz); - let bar = com_csr.rf(utra::com::EV_ENABLE_SPI_HOLD); - com_csr.rmwf(utra::com::EV_ENABLE_SPI_HOLD, bar); - let mut baz = com_csr.zf(utra::com::EV_ENABLE_SPI_HOLD, bar); - baz |= com_csr.ms(utra::com::EV_ENABLE_SPI_HOLD, 1); - com_csr.wfo(utra::com::EV_ENABLE_SPI_HOLD, baz); - } - - #[test] - #[ignore] - fn compile_check_i2c_csr() { - use super::*; let mut i2c_csr = CSR::new(HW_I2C_BASE as *mut u32); - - let foo = i2c_csr.r(utra::i2c::PRESCALE); - i2c_csr.wo(utra::i2c::PRESCALE, foo); - let bar = i2c_csr.rf(utra::i2c::PRESCALE_PRESCALE); - i2c_csr.rmwf(utra::i2c::PRESCALE_PRESCALE, bar); - let mut baz = i2c_csr.zf(utra::i2c::PRESCALE_PRESCALE, bar); - baz |= i2c_csr.ms(utra::i2c::PRESCALE_PRESCALE, 1); - i2c_csr.wfo(utra::i2c::PRESCALE_PRESCALE, baz); - - let foo = i2c_csr.r(utra::i2c::CONTROL); - i2c_csr.wo(utra::i2c::CONTROL, foo); - let bar = i2c_csr.rf(utra::i2c::CONTROL_RESVD); - i2c_csr.rmwf(utra::i2c::CONTROL_RESVD, bar); - let mut baz = i2c_csr.zf(utra::i2c::CONTROL_RESVD, bar); - baz |= i2c_csr.ms(utra::i2c::CONTROL_RESVD, 1); - i2c_csr.wfo(utra::i2c::CONTROL_RESVD, baz); - let bar = i2c_csr.rf(utra::i2c::CONTROL_IEN); - i2c_csr.rmwf(utra::i2c::CONTROL_IEN, bar); - let mut baz = i2c_csr.zf(utra::i2c::CONTROL_IEN, bar); - baz |= i2c_csr.ms(utra::i2c::CONTROL_IEN, 1); - i2c_csr.wfo(utra::i2c::CONTROL_IEN, baz); - let bar = i2c_csr.rf(utra::i2c::CONTROL_EN); - i2c_csr.rmwf(utra::i2c::CONTROL_EN, bar); - let mut baz = i2c_csr.zf(utra::i2c::CONTROL_EN, bar); - baz |= i2c_csr.ms(utra::i2c::CONTROL_EN, 1); - i2c_csr.wfo(utra::i2c::CONTROL_EN, baz); - - let foo = i2c_csr.r(utra::i2c::TXR); - i2c_csr.wo(utra::i2c::TXR, foo); - let bar = i2c_csr.rf(utra::i2c::TXR_TXR); - i2c_csr.rmwf(utra::i2c::TXR_TXR, bar); - let mut baz = i2c_csr.zf(utra::i2c::TXR_TXR, bar); - baz |= i2c_csr.ms(utra::i2c::TXR_TXR, 1); - i2c_csr.wfo(utra::i2c::TXR_TXR, baz); - - let foo = i2c_csr.r(utra::i2c::RXR); - i2c_csr.wo(utra::i2c::RXR, foo); - let bar = i2c_csr.rf(utra::i2c::RXR_RXR); - i2c_csr.rmwf(utra::i2c::RXR_RXR, bar); - let mut baz = i2c_csr.zf(utra::i2c::RXR_RXR, bar); - baz |= i2c_csr.ms(utra::i2c::RXR_RXR, 1); - i2c_csr.wfo(utra::i2c::RXR_RXR, baz); - - let foo = i2c_csr.r(utra::i2c::COMMAND); - i2c_csr.wo(utra::i2c::COMMAND, foo); - let bar = i2c_csr.rf(utra::i2c::COMMAND_IACK); - i2c_csr.rmwf(utra::i2c::COMMAND_IACK, bar); - let mut baz = i2c_csr.zf(utra::i2c::COMMAND_IACK, bar); - baz |= i2c_csr.ms(utra::i2c::COMMAND_IACK, 1); - i2c_csr.wfo(utra::i2c::COMMAND_IACK, baz); - let bar = i2c_csr.rf(utra::i2c::COMMAND_RESVD); - i2c_csr.rmwf(utra::i2c::COMMAND_RESVD, bar); - let mut baz = i2c_csr.zf(utra::i2c::COMMAND_RESVD, bar); - baz |= i2c_csr.ms(utra::i2c::COMMAND_RESVD, 1); - i2c_csr.wfo(utra::i2c::COMMAND_RESVD, baz); - let bar = i2c_csr.rf(utra::i2c::COMMAND_ACK); - i2c_csr.rmwf(utra::i2c::COMMAND_ACK, bar); - let mut baz = i2c_csr.zf(utra::i2c::COMMAND_ACK, bar); - baz |= i2c_csr.ms(utra::i2c::COMMAND_ACK, 1); - i2c_csr.wfo(utra::i2c::COMMAND_ACK, baz); - let bar = i2c_csr.rf(utra::i2c::COMMAND_WR); - i2c_csr.rmwf(utra::i2c::COMMAND_WR, bar); - let mut baz = i2c_csr.zf(utra::i2c::COMMAND_WR, bar); - baz |= i2c_csr.ms(utra::i2c::COMMAND_WR, 1); - i2c_csr.wfo(utra::i2c::COMMAND_WR, baz); - let bar = i2c_csr.rf(utra::i2c::COMMAND_RD); - i2c_csr.rmwf(utra::i2c::COMMAND_RD, bar); - let mut baz = i2c_csr.zf(utra::i2c::COMMAND_RD, bar); - baz |= i2c_csr.ms(utra::i2c::COMMAND_RD, 1); - i2c_csr.wfo(utra::i2c::COMMAND_RD, baz); - let bar = i2c_csr.rf(utra::i2c::COMMAND_STO); - i2c_csr.rmwf(utra::i2c::COMMAND_STO, bar); - let mut baz = i2c_csr.zf(utra::i2c::COMMAND_STO, bar); - baz |= i2c_csr.ms(utra::i2c::COMMAND_STO, 1); - i2c_csr.wfo(utra::i2c::COMMAND_STO, baz); - let bar = i2c_csr.rf(utra::i2c::COMMAND_STA); - i2c_csr.rmwf(utra::i2c::COMMAND_STA, bar); - let mut baz = i2c_csr.zf(utra::i2c::COMMAND_STA, bar); - baz |= i2c_csr.ms(utra::i2c::COMMAND_STA, 1); - i2c_csr.wfo(utra::i2c::COMMAND_STA, baz); - - let foo = i2c_csr.r(utra::i2c::STATUS); - i2c_csr.wo(utra::i2c::STATUS, foo); - let bar = i2c_csr.rf(utra::i2c::STATUS_IF); - i2c_csr.rmwf(utra::i2c::STATUS_IF, bar); - let mut baz = i2c_csr.zf(utra::i2c::STATUS_IF, bar); - baz |= i2c_csr.ms(utra::i2c::STATUS_IF, 1); - i2c_csr.wfo(utra::i2c::STATUS_IF, baz); - let bar = i2c_csr.rf(utra::i2c::STATUS_TIP); - i2c_csr.rmwf(utra::i2c::STATUS_TIP, bar); - let mut baz = i2c_csr.zf(utra::i2c::STATUS_TIP, bar); - baz |= i2c_csr.ms(utra::i2c::STATUS_TIP, 1); - i2c_csr.wfo(utra::i2c::STATUS_TIP, baz); - let bar = i2c_csr.rf(utra::i2c::STATUS_RESVD); - i2c_csr.rmwf(utra::i2c::STATUS_RESVD, bar); - let mut baz = i2c_csr.zf(utra::i2c::STATUS_RESVD, bar); - baz |= i2c_csr.ms(utra::i2c::STATUS_RESVD, 1); - i2c_csr.wfo(utra::i2c::STATUS_RESVD, baz); - let bar = i2c_csr.rf(utra::i2c::STATUS_ARBLOST); - i2c_csr.rmwf(utra::i2c::STATUS_ARBLOST, bar); - let mut baz = i2c_csr.zf(utra::i2c::STATUS_ARBLOST, bar); - baz |= i2c_csr.ms(utra::i2c::STATUS_ARBLOST, 1); - i2c_csr.wfo(utra::i2c::STATUS_ARBLOST, baz); - let bar = i2c_csr.rf(utra::i2c::STATUS_BUSY); - i2c_csr.rmwf(utra::i2c::STATUS_BUSY, bar); - let mut baz = i2c_csr.zf(utra::i2c::STATUS_BUSY, bar); - baz |= i2c_csr.ms(utra::i2c::STATUS_BUSY, 1); - i2c_csr.wfo(utra::i2c::STATUS_BUSY, baz); - let bar = i2c_csr.rf(utra::i2c::STATUS_RXACK); - i2c_csr.rmwf(utra::i2c::STATUS_RXACK, bar); - let mut baz = i2c_csr.zf(utra::i2c::STATUS_RXACK, bar); - baz |= i2c_csr.ms(utra::i2c::STATUS_RXACK, 1); - i2c_csr.wfo(utra::i2c::STATUS_RXACK, baz); - - let foo = i2c_csr.r(utra::i2c::CORE_RESET); - i2c_csr.wo(utra::i2c::CORE_RESET, foo); - let bar = i2c_csr.rf(utra::i2c::CORE_RESET_RESET); - i2c_csr.rmwf(utra::i2c::CORE_RESET_RESET, bar); - let mut baz = i2c_csr.zf(utra::i2c::CORE_RESET_RESET, bar); - baz |= i2c_csr.ms(utra::i2c::CORE_RESET_RESET, 1); - i2c_csr.wfo(utra::i2c::CORE_RESET_RESET, baz); - - let foo = i2c_csr.r(utra::i2c::EV_STATUS); - i2c_csr.wo(utra::i2c::EV_STATUS, foo); - let bar = i2c_csr.rf(utra::i2c::EV_STATUS_I2C_INT); - i2c_csr.rmwf(utra::i2c::EV_STATUS_I2C_INT, bar); - let mut baz = i2c_csr.zf(utra::i2c::EV_STATUS_I2C_INT, bar); - baz |= i2c_csr.ms(utra::i2c::EV_STATUS_I2C_INT, 1); - i2c_csr.wfo(utra::i2c::EV_STATUS_I2C_INT, baz); - let bar = i2c_csr.rf(utra::i2c::EV_STATUS_TXRX_DONE); - i2c_csr.rmwf(utra::i2c::EV_STATUS_TXRX_DONE, bar); - let mut baz = i2c_csr.zf(utra::i2c::EV_STATUS_TXRX_DONE, bar); - baz |= i2c_csr.ms(utra::i2c::EV_STATUS_TXRX_DONE, 1); - i2c_csr.wfo(utra::i2c::EV_STATUS_TXRX_DONE, baz); - - let foo = i2c_csr.r(utra::i2c::EV_PENDING); - i2c_csr.wo(utra::i2c::EV_PENDING, foo); - let bar = i2c_csr.rf(utra::i2c::EV_PENDING_I2C_INT); - i2c_csr.rmwf(utra::i2c::EV_PENDING_I2C_INT, bar); - let mut baz = i2c_csr.zf(utra::i2c::EV_PENDING_I2C_INT, bar); - baz |= i2c_csr.ms(utra::i2c::EV_PENDING_I2C_INT, 1); - i2c_csr.wfo(utra::i2c::EV_PENDING_I2C_INT, baz); - let bar = i2c_csr.rf(utra::i2c::EV_PENDING_TXRX_DONE); - i2c_csr.rmwf(utra::i2c::EV_PENDING_TXRX_DONE, bar); - let mut baz = i2c_csr.zf(utra::i2c::EV_PENDING_TXRX_DONE, bar); - baz |= i2c_csr.ms(utra::i2c::EV_PENDING_TXRX_DONE, 1); - i2c_csr.wfo(utra::i2c::EV_PENDING_TXRX_DONE, baz); - - let foo = i2c_csr.r(utra::i2c::EV_ENABLE); - i2c_csr.wo(utra::i2c::EV_ENABLE, foo); - let bar = i2c_csr.rf(utra::i2c::EV_ENABLE_I2C_INT); - i2c_csr.rmwf(utra::i2c::EV_ENABLE_I2C_INT, bar); - let mut baz = i2c_csr.zf(utra::i2c::EV_ENABLE_I2C_INT, bar); - baz |= i2c_csr.ms(utra::i2c::EV_ENABLE_I2C_INT, 1); - i2c_csr.wfo(utra::i2c::EV_ENABLE_I2C_INT, baz); - let bar = i2c_csr.rf(utra::i2c::EV_ENABLE_TXRX_DONE); - i2c_csr.rmwf(utra::i2c::EV_ENABLE_TXRX_DONE, bar); - let mut baz = i2c_csr.zf(utra::i2c::EV_ENABLE_TXRX_DONE, bar); - baz |= i2c_csr.ms(utra::i2c::EV_ENABLE_TXRX_DONE, 1); - i2c_csr.wfo(utra::i2c::EV_ENABLE_TXRX_DONE, baz); - } - - #[test] - #[ignore] - fn compile_check_btevents_csr() { - use super::*; let mut btevents_csr = CSR::new(HW_BTEVENTS_BASE as *mut u32); - - let foo = btevents_csr.r(utra::btevents::EV_STATUS); - btevents_csr.wo(utra::btevents::EV_STATUS, foo); - let bar = btevents_csr.rf(utra::btevents::EV_STATUS_COM_INT); - btevents_csr.rmwf(utra::btevents::EV_STATUS_COM_INT, bar); - let mut baz = btevents_csr.zf(utra::btevents::EV_STATUS_COM_INT, bar); - baz |= btevents_csr.ms(utra::btevents::EV_STATUS_COM_INT, 1); - btevents_csr.wfo(utra::btevents::EV_STATUS_COM_INT, baz); - let bar = btevents_csr.rf(utra::btevents::EV_STATUS_RTC_INT); - btevents_csr.rmwf(utra::btevents::EV_STATUS_RTC_INT, bar); - let mut baz = btevents_csr.zf(utra::btevents::EV_STATUS_RTC_INT, bar); - baz |= btevents_csr.ms(utra::btevents::EV_STATUS_RTC_INT, 1); - btevents_csr.wfo(utra::btevents::EV_STATUS_RTC_INT, baz); - - let foo = btevents_csr.r(utra::btevents::EV_PENDING); - btevents_csr.wo(utra::btevents::EV_PENDING, foo); - let bar = btevents_csr.rf(utra::btevents::EV_PENDING_COM_INT); - btevents_csr.rmwf(utra::btevents::EV_PENDING_COM_INT, bar); - let mut baz = btevents_csr.zf(utra::btevents::EV_PENDING_COM_INT, bar); - baz |= btevents_csr.ms(utra::btevents::EV_PENDING_COM_INT, 1); - btevents_csr.wfo(utra::btevents::EV_PENDING_COM_INT, baz); - let bar = btevents_csr.rf(utra::btevents::EV_PENDING_RTC_INT); - btevents_csr.rmwf(utra::btevents::EV_PENDING_RTC_INT, bar); - let mut baz = btevents_csr.zf(utra::btevents::EV_PENDING_RTC_INT, bar); - baz |= btevents_csr.ms(utra::btevents::EV_PENDING_RTC_INT, 1); - btevents_csr.wfo(utra::btevents::EV_PENDING_RTC_INT, baz); - - let foo = btevents_csr.r(utra::btevents::EV_ENABLE); - btevents_csr.wo(utra::btevents::EV_ENABLE, foo); - let bar = btevents_csr.rf(utra::btevents::EV_ENABLE_COM_INT); - btevents_csr.rmwf(utra::btevents::EV_ENABLE_COM_INT, bar); - let mut baz = btevents_csr.zf(utra::btevents::EV_ENABLE_COM_INT, bar); - baz |= btevents_csr.ms(utra::btevents::EV_ENABLE_COM_INT, 1); - btevents_csr.wfo(utra::btevents::EV_ENABLE_COM_INT, baz); - let bar = btevents_csr.rf(utra::btevents::EV_ENABLE_RTC_INT); - btevents_csr.rmwf(utra::btevents::EV_ENABLE_RTC_INT, bar); - let mut baz = btevents_csr.zf(utra::btevents::EV_ENABLE_RTC_INT, bar); - baz |= btevents_csr.ms(utra::btevents::EV_ENABLE_RTC_INT, 1); - btevents_csr.wfo(utra::btevents::EV_ENABLE_RTC_INT, baz); - } - - #[test] - #[ignore] - fn compile_check_messible_csr() { - use super::*; let mut messible_csr = CSR::new(HW_MESSIBLE_BASE as *mut u32); - - let foo = messible_csr.r(utra::messible::IN); - messible_csr.wo(utra::messible::IN, foo); - let bar = messible_csr.rf(utra::messible::IN_IN); - messible_csr.rmwf(utra::messible::IN_IN, bar); - let mut baz = messible_csr.zf(utra::messible::IN_IN, bar); - baz |= messible_csr.ms(utra::messible::IN_IN, 1); - messible_csr.wfo(utra::messible::IN_IN, baz); - - let foo = messible_csr.r(utra::messible::OUT); - messible_csr.wo(utra::messible::OUT, foo); - let bar = messible_csr.rf(utra::messible::OUT_OUT); - messible_csr.rmwf(utra::messible::OUT_OUT, bar); - let mut baz = messible_csr.zf(utra::messible::OUT_OUT, bar); - baz |= messible_csr.ms(utra::messible::OUT_OUT, 1); - messible_csr.wfo(utra::messible::OUT_OUT, baz); - - let foo = messible_csr.r(utra::messible::STATUS); - messible_csr.wo(utra::messible::STATUS, foo); - let bar = messible_csr.rf(utra::messible::STATUS_FULL); - messible_csr.rmwf(utra::messible::STATUS_FULL, bar); - let mut baz = messible_csr.zf(utra::messible::STATUS_FULL, bar); - baz |= messible_csr.ms(utra::messible::STATUS_FULL, 1); - messible_csr.wfo(utra::messible::STATUS_FULL, baz); - let bar = messible_csr.rf(utra::messible::STATUS_HAVE); - messible_csr.rmwf(utra::messible::STATUS_HAVE, bar); - let mut baz = messible_csr.zf(utra::messible::STATUS_HAVE, bar); - baz |= messible_csr.ms(utra::messible::STATUS_HAVE, 1); - messible_csr.wfo(utra::messible::STATUS_HAVE, baz); - } - - #[test] - #[ignore] - fn compile_check_messible2_csr() { - use super::*; let mut messible2_csr = CSR::new(HW_MESSIBLE2_BASE as *mut u32); - - let foo = messible2_csr.r(utra::messible2::IN); - messible2_csr.wo(utra::messible2::IN, foo); - let bar = messible2_csr.rf(utra::messible2::IN_IN); - messible2_csr.rmwf(utra::messible2::IN_IN, bar); - let mut baz = messible2_csr.zf(utra::messible2::IN_IN, bar); - baz |= messible2_csr.ms(utra::messible2::IN_IN, 1); - messible2_csr.wfo(utra::messible2::IN_IN, baz); - - let foo = messible2_csr.r(utra::messible2::OUT); - messible2_csr.wo(utra::messible2::OUT, foo); - let bar = messible2_csr.rf(utra::messible2::OUT_OUT); - messible2_csr.rmwf(utra::messible2::OUT_OUT, bar); - let mut baz = messible2_csr.zf(utra::messible2::OUT_OUT, bar); - baz |= messible2_csr.ms(utra::messible2::OUT_OUT, 1); - messible2_csr.wfo(utra::messible2::OUT_OUT, baz); - - let foo = messible2_csr.r(utra::messible2::STATUS); - messible2_csr.wo(utra::messible2::STATUS, foo); - let bar = messible2_csr.rf(utra::messible2::STATUS_FULL); - messible2_csr.rmwf(utra::messible2::STATUS_FULL, bar); - let mut baz = messible2_csr.zf(utra::messible2::STATUS_FULL, bar); - baz |= messible2_csr.ms(utra::messible2::STATUS_FULL, 1); - messible2_csr.wfo(utra::messible2::STATUS_FULL, baz); - let bar = messible2_csr.rf(utra::messible2::STATUS_HAVE); - messible2_csr.rmwf(utra::messible2::STATUS_HAVE, bar); - let mut baz = messible2_csr.zf(utra::messible2::STATUS_HAVE, bar); - baz |= messible2_csr.ms(utra::messible2::STATUS_HAVE, 1); - messible2_csr.wfo(utra::messible2::STATUS_HAVE, baz); - } - - #[test] - #[ignore] - fn compile_check_ticktimer_csr() { - use super::*; let mut ticktimer_csr = CSR::new(HW_TICKTIMER_BASE as *mut u32); - - let foo = ticktimer_csr.r(utra::ticktimer::CONTROL); - ticktimer_csr.wo(utra::ticktimer::CONTROL, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::CONTROL_RESET); - ticktimer_csr.rmwf(utra::ticktimer::CONTROL_RESET, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::CONTROL_RESET, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::CONTROL_RESET, 1); - ticktimer_csr.wfo(utra::ticktimer::CONTROL_RESET, baz); - - let foo = ticktimer_csr.r(utra::ticktimer::TIME1); - ticktimer_csr.wo(utra::ticktimer::TIME1, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::TIME1_TIME); - ticktimer_csr.rmwf(utra::ticktimer::TIME1_TIME, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::TIME1_TIME, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::TIME1_TIME, 1); - ticktimer_csr.wfo(utra::ticktimer::TIME1_TIME, baz); - - let foo = ticktimer_csr.r(utra::ticktimer::TIME0); - ticktimer_csr.wo(utra::ticktimer::TIME0, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::TIME0_TIME); - ticktimer_csr.rmwf(utra::ticktimer::TIME0_TIME, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::TIME0_TIME, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::TIME0_TIME, 1); - ticktimer_csr.wfo(utra::ticktimer::TIME0_TIME, baz); - - let foo = ticktimer_csr.r(utra::ticktimer::MSLEEP_TARGET1); - ticktimer_csr.wo(utra::ticktimer::MSLEEP_TARGET1, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::MSLEEP_TARGET1_MSLEEP_TARGET); - ticktimer_csr.rmwf(utra::ticktimer::MSLEEP_TARGET1_MSLEEP_TARGET, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::MSLEEP_TARGET1_MSLEEP_TARGET, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::MSLEEP_TARGET1_MSLEEP_TARGET, 1); - ticktimer_csr.wfo(utra::ticktimer::MSLEEP_TARGET1_MSLEEP_TARGET, baz); - - let foo = ticktimer_csr.r(utra::ticktimer::MSLEEP_TARGET0); - ticktimer_csr.wo(utra::ticktimer::MSLEEP_TARGET0, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::MSLEEP_TARGET0_MSLEEP_TARGET); - ticktimer_csr.rmwf(utra::ticktimer::MSLEEP_TARGET0_MSLEEP_TARGET, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::MSLEEP_TARGET0_MSLEEP_TARGET, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::MSLEEP_TARGET0_MSLEEP_TARGET, 1); - ticktimer_csr.wfo(utra::ticktimer::MSLEEP_TARGET0_MSLEEP_TARGET, baz); - - let foo = ticktimer_csr.r(utra::ticktimer::EV_STATUS); - ticktimer_csr.wo(utra::ticktimer::EV_STATUS, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::EV_STATUS_ALARM); - ticktimer_csr.rmwf(utra::ticktimer::EV_STATUS_ALARM, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::EV_STATUS_ALARM, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::EV_STATUS_ALARM, 1); - ticktimer_csr.wfo(utra::ticktimer::EV_STATUS_ALARM, baz); - - let foo = ticktimer_csr.r(utra::ticktimer::EV_PENDING); - ticktimer_csr.wo(utra::ticktimer::EV_PENDING, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::EV_PENDING_ALARM); - ticktimer_csr.rmwf(utra::ticktimer::EV_PENDING_ALARM, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::EV_PENDING_ALARM, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::EV_PENDING_ALARM, 1); - ticktimer_csr.wfo(utra::ticktimer::EV_PENDING_ALARM, baz); - - let foo = ticktimer_csr.r(utra::ticktimer::EV_ENABLE); - ticktimer_csr.wo(utra::ticktimer::EV_ENABLE, foo); - let bar = ticktimer_csr.rf(utra::ticktimer::EV_ENABLE_ALARM); - ticktimer_csr.rmwf(utra::ticktimer::EV_ENABLE_ALARM, bar); - let mut baz = ticktimer_csr.zf(utra::ticktimer::EV_ENABLE_ALARM, bar); - baz |= ticktimer_csr.ms(utra::ticktimer::EV_ENABLE_ALARM, 1); - ticktimer_csr.wfo(utra::ticktimer::EV_ENABLE_ALARM, baz); - } - - #[test] - #[ignore] - fn compile_check_susres_csr() { - use super::*; let mut susres_csr = CSR::new(HW_SUSRES_BASE as *mut u32); - - let foo = susres_csr.r(utra::susres::CONTROL); - susres_csr.wo(utra::susres::CONTROL, foo); - let bar = susres_csr.rf(utra::susres::CONTROL_PAUSE); - susres_csr.rmwf(utra::susres::CONTROL_PAUSE, bar); - let mut baz = susres_csr.zf(utra::susres::CONTROL_PAUSE, bar); - baz |= susres_csr.ms(utra::susres::CONTROL_PAUSE, 1); - susres_csr.wfo(utra::susres::CONTROL_PAUSE, baz); - let bar = susres_csr.rf(utra::susres::CONTROL_LOAD); - susres_csr.rmwf(utra::susres::CONTROL_LOAD, bar); - let mut baz = susres_csr.zf(utra::susres::CONTROL_LOAD, bar); - baz |= susres_csr.ms(utra::susres::CONTROL_LOAD, 1); - susres_csr.wfo(utra::susres::CONTROL_LOAD, baz); - - let foo = susres_csr.r(utra::susres::RESUME_TIME1); - susres_csr.wo(utra::susres::RESUME_TIME1, foo); - let bar = susres_csr.rf(utra::susres::RESUME_TIME1_RESUME_TIME); - susres_csr.rmwf(utra::susres::RESUME_TIME1_RESUME_TIME, bar); - let mut baz = susres_csr.zf(utra::susres::RESUME_TIME1_RESUME_TIME, bar); - baz |= susres_csr.ms(utra::susres::RESUME_TIME1_RESUME_TIME, 1); - susres_csr.wfo(utra::susres::RESUME_TIME1_RESUME_TIME, baz); - - let foo = susres_csr.r(utra::susres::RESUME_TIME0); - susres_csr.wo(utra::susres::RESUME_TIME0, foo); - let bar = susres_csr.rf(utra::susres::RESUME_TIME0_RESUME_TIME); - susres_csr.rmwf(utra::susres::RESUME_TIME0_RESUME_TIME, bar); - let mut baz = susres_csr.zf(utra::susres::RESUME_TIME0_RESUME_TIME, bar); - baz |= susres_csr.ms(utra::susres::RESUME_TIME0_RESUME_TIME, 1); - susres_csr.wfo(utra::susres::RESUME_TIME0_RESUME_TIME, baz); - - let foo = susres_csr.r(utra::susres::TIME1); - susres_csr.wo(utra::susres::TIME1, foo); - let bar = susres_csr.rf(utra::susres::TIME1_TIME); - susres_csr.rmwf(utra::susres::TIME1_TIME, bar); - let mut baz = susres_csr.zf(utra::susres::TIME1_TIME, bar); - baz |= susres_csr.ms(utra::susres::TIME1_TIME, 1); - susres_csr.wfo(utra::susres::TIME1_TIME, baz); - - let foo = susres_csr.r(utra::susres::TIME0); - susres_csr.wo(utra::susres::TIME0, foo); - let bar = susres_csr.rf(utra::susres::TIME0_TIME); - susres_csr.rmwf(utra::susres::TIME0_TIME, bar); - let mut baz = susres_csr.zf(utra::susres::TIME0_TIME, bar); - baz |= susres_csr.ms(utra::susres::TIME0_TIME, 1); - susres_csr.wfo(utra::susres::TIME0_TIME, baz); - - let foo = susres_csr.r(utra::susres::STATUS); - susres_csr.wo(utra::susres::STATUS, foo); - let bar = susres_csr.rf(utra::susres::STATUS_PAUSED); - susres_csr.rmwf(utra::susres::STATUS_PAUSED, bar); - let mut baz = susres_csr.zf(utra::susres::STATUS_PAUSED, bar); - baz |= susres_csr.ms(utra::susres::STATUS_PAUSED, 1); - susres_csr.wfo(utra::susres::STATUS_PAUSED, baz); - - let foo = susres_csr.r(utra::susres::STATE); - susres_csr.wo(utra::susres::STATE, foo); - let bar = susres_csr.rf(utra::susres::STATE_RESUME); - susres_csr.rmwf(utra::susres::STATE_RESUME, bar); - let mut baz = susres_csr.zf(utra::susres::STATE_RESUME, bar); - baz |= susres_csr.ms(utra::susres::STATE_RESUME, 1); - susres_csr.wfo(utra::susres::STATE_RESUME, baz); - let bar = susres_csr.rf(utra::susres::STATE_WAS_FORCED); - susres_csr.rmwf(utra::susres::STATE_WAS_FORCED, bar); - let mut baz = susres_csr.zf(utra::susres::STATE_WAS_FORCED, bar); - baz |= susres_csr.ms(utra::susres::STATE_WAS_FORCED, 1); - susres_csr.wfo(utra::susres::STATE_WAS_FORCED, baz); - - let foo = susres_csr.r(utra::susres::POWERDOWN); - susres_csr.wo(utra::susres::POWERDOWN, foo); - let bar = susres_csr.rf(utra::susres::POWERDOWN_POWERDOWN); - susres_csr.rmwf(utra::susres::POWERDOWN_POWERDOWN, bar); - let mut baz = susres_csr.zf(utra::susres::POWERDOWN_POWERDOWN, bar); - baz |= susres_csr.ms(utra::susres::POWERDOWN_POWERDOWN, 1); - susres_csr.wfo(utra::susres::POWERDOWN_POWERDOWN, baz); - - let foo = susres_csr.r(utra::susres::WFI); - susres_csr.wo(utra::susres::WFI, foo); - let bar = susres_csr.rf(utra::susres::WFI_OVERRIDE); - susres_csr.rmwf(utra::susres::WFI_OVERRIDE, bar); - let mut baz = susres_csr.zf(utra::susres::WFI_OVERRIDE, bar); - baz |= susres_csr.ms(utra::susres::WFI_OVERRIDE, 1); - susres_csr.wfo(utra::susres::WFI_OVERRIDE, baz); - - let foo = susres_csr.r(utra::susres::INTERRUPT); - susres_csr.wo(utra::susres::INTERRUPT, foo); - let bar = susres_csr.rf(utra::susres::INTERRUPT_INTERRUPT); - susres_csr.rmwf(utra::susres::INTERRUPT_INTERRUPT, bar); - let mut baz = susres_csr.zf(utra::susres::INTERRUPT_INTERRUPT, bar); - baz |= susres_csr.ms(utra::susres::INTERRUPT_INTERRUPT, 1); - susres_csr.wfo(utra::susres::INTERRUPT_INTERRUPT, baz); - - let foo = susres_csr.r(utra::susres::EV_STATUS); - susres_csr.wo(utra::susres::EV_STATUS, foo); - let bar = susres_csr.rf(utra::susres::EV_STATUS_SOFT_INT); - susres_csr.rmwf(utra::susres::EV_STATUS_SOFT_INT, bar); - let mut baz = susres_csr.zf(utra::susres::EV_STATUS_SOFT_INT, bar); - baz |= susres_csr.ms(utra::susres::EV_STATUS_SOFT_INT, 1); - susres_csr.wfo(utra::susres::EV_STATUS_SOFT_INT, baz); - - let foo = susres_csr.r(utra::susres::EV_PENDING); - susres_csr.wo(utra::susres::EV_PENDING, foo); - let bar = susres_csr.rf(utra::susres::EV_PENDING_SOFT_INT); - susres_csr.rmwf(utra::susres::EV_PENDING_SOFT_INT, bar); - let mut baz = susres_csr.zf(utra::susres::EV_PENDING_SOFT_INT, bar); - baz |= susres_csr.ms(utra::susres::EV_PENDING_SOFT_INT, 1); - susres_csr.wfo(utra::susres::EV_PENDING_SOFT_INT, baz); - - let foo = susres_csr.r(utra::susres::EV_ENABLE); - susres_csr.wo(utra::susres::EV_ENABLE, foo); - let bar = susres_csr.rf(utra::susres::EV_ENABLE_SOFT_INT); - susres_csr.rmwf(utra::susres::EV_ENABLE_SOFT_INT, bar); - let mut baz = susres_csr.zf(utra::susres::EV_ENABLE_SOFT_INT, bar); - baz |= susres_csr.ms(utra::susres::EV_ENABLE_SOFT_INT, 1); - susres_csr.wfo(utra::susres::EV_ENABLE_SOFT_INT, baz); - } - - #[test] - #[ignore] - fn compile_check_power_csr() { - use super::*; let mut power_csr = CSR::new(HW_POWER_BASE as *mut u32); - - let foo = power_csr.r(utra::power::POWER); - power_csr.wo(utra::power::POWER, foo); - let bar = power_csr.rf(utra::power::POWER_AUDIO); - power_csr.rmwf(utra::power::POWER_AUDIO, bar); - let mut baz = power_csr.zf(utra::power::POWER_AUDIO, bar); - baz |= power_csr.ms(utra::power::POWER_AUDIO, 1); - power_csr.wfo(utra::power::POWER_AUDIO, baz); - let bar = power_csr.rf(utra::power::POWER_SELF); - power_csr.rmwf(utra::power::POWER_SELF, bar); - let mut baz = power_csr.zf(utra::power::POWER_SELF, bar); - baz |= power_csr.ms(utra::power::POWER_SELF, 1); - power_csr.wfo(utra::power::POWER_SELF, baz); - let bar = power_csr.rf(utra::power::POWER_EC_SNOOP); - power_csr.rmwf(utra::power::POWER_EC_SNOOP, bar); - let mut baz = power_csr.zf(utra::power::POWER_EC_SNOOP, bar); - baz |= power_csr.ms(utra::power::POWER_EC_SNOOP, 1); - power_csr.wfo(utra::power::POWER_EC_SNOOP, baz); - let bar = power_csr.rf(utra::power::POWER_STATE); - power_csr.rmwf(utra::power::POWER_STATE, bar); - let mut baz = power_csr.zf(utra::power::POWER_STATE, bar); - baz |= power_csr.ms(utra::power::POWER_STATE, 1); - power_csr.wfo(utra::power::POWER_STATE, baz); - let bar = power_csr.rf(utra::power::POWER_RESET_EC); - power_csr.rmwf(utra::power::POWER_RESET_EC, bar); - let mut baz = power_csr.zf(utra::power::POWER_RESET_EC, bar); - baz |= power_csr.ms(utra::power::POWER_RESET_EC, 1); - power_csr.wfo(utra::power::POWER_RESET_EC, baz); - let bar = power_csr.rf(utra::power::POWER_UP5K_ON); - power_csr.rmwf(utra::power::POWER_UP5K_ON, bar); - let mut baz = power_csr.zf(utra::power::POWER_UP5K_ON, bar); - baz |= power_csr.ms(utra::power::POWER_UP5K_ON, 1); - power_csr.wfo(utra::power::POWER_UP5K_ON, baz); - let bar = power_csr.rf(utra::power::POWER_BOOSTMODE); - power_csr.rmwf(utra::power::POWER_BOOSTMODE, bar); - let mut baz = power_csr.zf(utra::power::POWER_BOOSTMODE, bar); - baz |= power_csr.ms(utra::power::POWER_BOOSTMODE, 1); - power_csr.wfo(utra::power::POWER_BOOSTMODE, baz); - let bar = power_csr.rf(utra::power::POWER_SELFDESTRUCT); - power_csr.rmwf(utra::power::POWER_SELFDESTRUCT, bar); - let mut baz = power_csr.zf(utra::power::POWER_SELFDESTRUCT, bar); - baz |= power_csr.ms(utra::power::POWER_SELFDESTRUCT, 1); - power_csr.wfo(utra::power::POWER_SELFDESTRUCT, baz); - let bar = power_csr.rf(utra::power::POWER_CRYPTO_ON); - power_csr.rmwf(utra::power::POWER_CRYPTO_ON, bar); - let mut baz = power_csr.zf(utra::power::POWER_CRYPTO_ON, bar); - baz |= power_csr.ms(utra::power::POWER_CRYPTO_ON, 1); - power_csr.wfo(utra::power::POWER_CRYPTO_ON, baz); - let bar = power_csr.rf(utra::power::POWER_IGNORE_LOCKED); - power_csr.rmwf(utra::power::POWER_IGNORE_LOCKED, bar); - let mut baz = power_csr.zf(utra::power::POWER_IGNORE_LOCKED, bar); - baz |= power_csr.ms(utra::power::POWER_IGNORE_LOCKED, 1); - power_csr.wfo(utra::power::POWER_IGNORE_LOCKED, baz); - let bar = power_csr.rf(utra::power::POWER_DISABLE_WFI); - power_csr.rmwf(utra::power::POWER_DISABLE_WFI, bar); - let mut baz = power_csr.zf(utra::power::POWER_DISABLE_WFI, bar); - baz |= power_csr.ms(utra::power::POWER_DISABLE_WFI, 1); - power_csr.wfo(utra::power::POWER_DISABLE_WFI, baz); - - let foo = power_csr.r(utra::power::CLK_STATUS); - power_csr.wo(utra::power::CLK_STATUS, foo); - let bar = power_csr.rf(utra::power::CLK_STATUS_CRYPTO_ON); - power_csr.rmwf(utra::power::CLK_STATUS_CRYPTO_ON, bar); - let mut baz = power_csr.zf(utra::power::CLK_STATUS_CRYPTO_ON, bar); - baz |= power_csr.ms(utra::power::CLK_STATUS_CRYPTO_ON, 1); - power_csr.wfo(utra::power::CLK_STATUS_CRYPTO_ON, baz); - let bar = power_csr.rf(utra::power::CLK_STATUS_SHA_ON); - power_csr.rmwf(utra::power::CLK_STATUS_SHA_ON, bar); - let mut baz = power_csr.zf(utra::power::CLK_STATUS_SHA_ON, bar); - baz |= power_csr.ms(utra::power::CLK_STATUS_SHA_ON, 1); - power_csr.wfo(utra::power::CLK_STATUS_SHA_ON, baz); - let bar = power_csr.rf(utra::power::CLK_STATUS_ENGINE_ON); - power_csr.rmwf(utra::power::CLK_STATUS_ENGINE_ON, bar); - let mut baz = power_csr.zf(utra::power::CLK_STATUS_ENGINE_ON, bar); - baz |= power_csr.ms(utra::power::CLK_STATUS_ENGINE_ON, 1); - power_csr.wfo(utra::power::CLK_STATUS_ENGINE_ON, baz); - let bar = power_csr.rf(utra::power::CLK_STATUS_BTPOWER_ON); - power_csr.rmwf(utra::power::CLK_STATUS_BTPOWER_ON, bar); - let mut baz = power_csr.zf(utra::power::CLK_STATUS_BTPOWER_ON, bar); - baz |= power_csr.ms(utra::power::CLK_STATUS_BTPOWER_ON, 1); - power_csr.wfo(utra::power::CLK_STATUS_BTPOWER_ON, baz); - - let foo = power_csr.r(utra::power::WAKEUP_SOURCE); - power_csr.wo(utra::power::WAKEUP_SOURCE, foo); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_KBD); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_KBD, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_KBD, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_KBD, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_KBD, baz); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_TICKTIMER); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_TICKTIMER, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_TICKTIMER, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_TICKTIMER, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_TICKTIMER, baz); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_TIMER0); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_TIMER0, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_TIMER0, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_TIMER0, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_TIMER0, baz); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_USB); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_USB, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_USB, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_USB, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_USB, baz); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_AUDIO); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_AUDIO, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_AUDIO, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_AUDIO, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_AUDIO, baz); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_COM); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_COM, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_COM, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_COM, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_COM, baz); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_RTC); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_RTC, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_RTC, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_RTC, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_RTC, baz); - let bar = power_csr.rf(utra::power::WAKEUP_SOURCE_CONSOLE); - power_csr.rmwf(utra::power::WAKEUP_SOURCE_CONSOLE, bar); - let mut baz = power_csr.zf(utra::power::WAKEUP_SOURCE_CONSOLE, bar); - baz |= power_csr.ms(utra::power::WAKEUP_SOURCE_CONSOLE, 1); - power_csr.wfo(utra::power::WAKEUP_SOURCE_CONSOLE, baz); - - let foo = power_csr.r(utra::power::ACTIVITY_RATE); - power_csr.wo(utra::power::ACTIVITY_RATE, foo); - let bar = power_csr.rf(utra::power::ACTIVITY_RATE_COUNTS_AWAKE); - power_csr.rmwf(utra::power::ACTIVITY_RATE_COUNTS_AWAKE, bar); - let mut baz = power_csr.zf(utra::power::ACTIVITY_RATE_COUNTS_AWAKE, bar); - baz |= power_csr.ms(utra::power::ACTIVITY_RATE_COUNTS_AWAKE, 1); - power_csr.wfo(utra::power::ACTIVITY_RATE_COUNTS_AWAKE, baz); - - let foo = power_csr.r(utra::power::SAMPLING_PERIOD); - power_csr.wo(utra::power::SAMPLING_PERIOD, foo); - let bar = power_csr.rf(utra::power::SAMPLING_PERIOD_SAMPLE_PERIOD); - power_csr.rmwf(utra::power::SAMPLING_PERIOD_SAMPLE_PERIOD, bar); - let mut baz = power_csr.zf(utra::power::SAMPLING_PERIOD_SAMPLE_PERIOD, bar); - baz |= power_csr.ms(utra::power::SAMPLING_PERIOD_SAMPLE_PERIOD, 1); - power_csr.wfo(utra::power::SAMPLING_PERIOD_SAMPLE_PERIOD, baz); - let bar = power_csr.rf(utra::power::SAMPLING_PERIOD_KILL_SAMPLER); - power_csr.rmwf(utra::power::SAMPLING_PERIOD_KILL_SAMPLER, bar); - let mut baz = power_csr.zf(utra::power::SAMPLING_PERIOD_KILL_SAMPLER, bar); - baz |= power_csr.ms(utra::power::SAMPLING_PERIOD_KILL_SAMPLER, 1); - power_csr.wfo(utra::power::SAMPLING_PERIOD_KILL_SAMPLER, baz); - - let foo = power_csr.r(utra::power::VIBE); - power_csr.wo(utra::power::VIBE, foo); - let bar = power_csr.rf(utra::power::VIBE_VIBE); - power_csr.rmwf(utra::power::VIBE_VIBE, bar); - let mut baz = power_csr.zf(utra::power::VIBE_VIBE, bar); - baz |= power_csr.ms(utra::power::VIBE_VIBE, 1); - power_csr.wfo(utra::power::VIBE_VIBE, baz); - - let foo = power_csr.r(utra::power::EV_STATUS); - power_csr.wo(utra::power::EV_STATUS, foo); - let bar = power_csr.rf(utra::power::EV_STATUS_USB_ATTACH); - power_csr.rmwf(utra::power::EV_STATUS_USB_ATTACH, bar); - let mut baz = power_csr.zf(utra::power::EV_STATUS_USB_ATTACH, bar); - baz |= power_csr.ms(utra::power::EV_STATUS_USB_ATTACH, 1); - power_csr.wfo(utra::power::EV_STATUS_USB_ATTACH, baz); - let bar = power_csr.rf(utra::power::EV_STATUS_ACTIVITY_UPDATE); - power_csr.rmwf(utra::power::EV_STATUS_ACTIVITY_UPDATE, bar); - let mut baz = power_csr.zf(utra::power::EV_STATUS_ACTIVITY_UPDATE, bar); - baz |= power_csr.ms(utra::power::EV_STATUS_ACTIVITY_UPDATE, 1); - power_csr.wfo(utra::power::EV_STATUS_ACTIVITY_UPDATE, baz); - - let foo = power_csr.r(utra::power::EV_PENDING); - power_csr.wo(utra::power::EV_PENDING, foo); - let bar = power_csr.rf(utra::power::EV_PENDING_USB_ATTACH); - power_csr.rmwf(utra::power::EV_PENDING_USB_ATTACH, bar); - let mut baz = power_csr.zf(utra::power::EV_PENDING_USB_ATTACH, bar); - baz |= power_csr.ms(utra::power::EV_PENDING_USB_ATTACH, 1); - power_csr.wfo(utra::power::EV_PENDING_USB_ATTACH, baz); - let bar = power_csr.rf(utra::power::EV_PENDING_ACTIVITY_UPDATE); - power_csr.rmwf(utra::power::EV_PENDING_ACTIVITY_UPDATE, bar); - let mut baz = power_csr.zf(utra::power::EV_PENDING_ACTIVITY_UPDATE, bar); - baz |= power_csr.ms(utra::power::EV_PENDING_ACTIVITY_UPDATE, 1); - power_csr.wfo(utra::power::EV_PENDING_ACTIVITY_UPDATE, baz); - - let foo = power_csr.r(utra::power::EV_ENABLE); - power_csr.wo(utra::power::EV_ENABLE, foo); - let bar = power_csr.rf(utra::power::EV_ENABLE_USB_ATTACH); - power_csr.rmwf(utra::power::EV_ENABLE_USB_ATTACH, bar); - let mut baz = power_csr.zf(utra::power::EV_ENABLE_USB_ATTACH, bar); - baz |= power_csr.ms(utra::power::EV_ENABLE_USB_ATTACH, 1); - power_csr.wfo(utra::power::EV_ENABLE_USB_ATTACH, baz); - let bar = power_csr.rf(utra::power::EV_ENABLE_ACTIVITY_UPDATE); - power_csr.rmwf(utra::power::EV_ENABLE_ACTIVITY_UPDATE, bar); - let mut baz = power_csr.zf(utra::power::EV_ENABLE_ACTIVITY_UPDATE, bar); - baz |= power_csr.ms(utra::power::EV_ENABLE_ACTIVITY_UPDATE, 1); - power_csr.wfo(utra::power::EV_ENABLE_ACTIVITY_UPDATE, baz); - } - - #[test] - #[ignore] - fn compile_check_spinor_soft_int_csr() { - use super::*; let mut spinor_soft_int_csr = CSR::new(HW_SPINOR_SOFT_INT_BASE as *mut u32); - - let foo = spinor_soft_int_csr.r(utra::spinor_soft_int::EV_STATUS); - spinor_soft_int_csr.wo(utra::spinor_soft_int::EV_STATUS, foo); - let bar = spinor_soft_int_csr.rf(utra::spinor_soft_int::EV_STATUS_SPINOR_INT); - spinor_soft_int_csr.rmwf(utra::spinor_soft_int::EV_STATUS_SPINOR_INT, bar); - let mut baz = spinor_soft_int_csr.zf(utra::spinor_soft_int::EV_STATUS_SPINOR_INT, bar); - baz |= spinor_soft_int_csr.ms(utra::spinor_soft_int::EV_STATUS_SPINOR_INT, 1); - spinor_soft_int_csr.wfo(utra::spinor_soft_int::EV_STATUS_SPINOR_INT, baz); - - let foo = spinor_soft_int_csr.r(utra::spinor_soft_int::EV_PENDING); - spinor_soft_int_csr.wo(utra::spinor_soft_int::EV_PENDING, foo); - let bar = spinor_soft_int_csr.rf(utra::spinor_soft_int::EV_PENDING_SPINOR_INT); - spinor_soft_int_csr.rmwf(utra::spinor_soft_int::EV_PENDING_SPINOR_INT, bar); - let mut baz = spinor_soft_int_csr.zf(utra::spinor_soft_int::EV_PENDING_SPINOR_INT, bar); - baz |= spinor_soft_int_csr.ms(utra::spinor_soft_int::EV_PENDING_SPINOR_INT, 1); - spinor_soft_int_csr.wfo(utra::spinor_soft_int::EV_PENDING_SPINOR_INT, baz); - - let foo = spinor_soft_int_csr.r(utra::spinor_soft_int::EV_ENABLE); - spinor_soft_int_csr.wo(utra::spinor_soft_int::EV_ENABLE, foo); - let bar = spinor_soft_int_csr.rf(utra::spinor_soft_int::EV_ENABLE_SPINOR_INT); - spinor_soft_int_csr.rmwf(utra::spinor_soft_int::EV_ENABLE_SPINOR_INT, bar); - let mut baz = spinor_soft_int_csr.zf(utra::spinor_soft_int::EV_ENABLE_SPINOR_INT, bar); - baz |= spinor_soft_int_csr.ms(utra::spinor_soft_int::EV_ENABLE_SPINOR_INT, 1); - spinor_soft_int_csr.wfo(utra::spinor_soft_int::EV_ENABLE_SPINOR_INT, baz); - - let foo = spinor_soft_int_csr.r(utra::spinor_soft_int::SOFTINT); - spinor_soft_int_csr.wo(utra::spinor_soft_int::SOFTINT, foo); - let bar = spinor_soft_int_csr.rf(utra::spinor_soft_int::SOFTINT_SOFTINT); - spinor_soft_int_csr.rmwf(utra::spinor_soft_int::SOFTINT_SOFTINT, bar); - let mut baz = spinor_soft_int_csr.zf(utra::spinor_soft_int::SOFTINT_SOFTINT, bar); - baz |= spinor_soft_int_csr.ms(utra::spinor_soft_int::SOFTINT_SOFTINT, 1); - spinor_soft_int_csr.wfo(utra::spinor_soft_int::SOFTINT_SOFTINT, baz); - } - - #[test] - #[ignore] - fn compile_check_spinor_csr() { - use super::*; let mut spinor_csr = CSR::new(HW_SPINOR_BASE as *mut u32); - - let foo = spinor_csr.r(utra::spinor::CONFIG); - spinor_csr.wo(utra::spinor::CONFIG, foo); - let bar = spinor_csr.rf(utra::spinor::CONFIG_DUMMY); - spinor_csr.rmwf(utra::spinor::CONFIG_DUMMY, bar); - let mut baz = spinor_csr.zf(utra::spinor::CONFIG_DUMMY, bar); - baz |= spinor_csr.ms(utra::spinor::CONFIG_DUMMY, 1); - spinor_csr.wfo(utra::spinor::CONFIG_DUMMY, baz); - - let foo = spinor_csr.r(utra::spinor::DELAY_CONFIG); - spinor_csr.wo(utra::spinor::DELAY_CONFIG, foo); - let bar = spinor_csr.rf(utra::spinor::DELAY_CONFIG_D); - spinor_csr.rmwf(utra::spinor::DELAY_CONFIG_D, bar); - let mut baz = spinor_csr.zf(utra::spinor::DELAY_CONFIG_D, bar); - baz |= spinor_csr.ms(utra::spinor::DELAY_CONFIG_D, 1); - spinor_csr.wfo(utra::spinor::DELAY_CONFIG_D, baz); - let bar = spinor_csr.rf(utra::spinor::DELAY_CONFIG_LOAD); - spinor_csr.rmwf(utra::spinor::DELAY_CONFIG_LOAD, bar); - let mut baz = spinor_csr.zf(utra::spinor::DELAY_CONFIG_LOAD, bar); - baz |= spinor_csr.ms(utra::spinor::DELAY_CONFIG_LOAD, 1); - spinor_csr.wfo(utra::spinor::DELAY_CONFIG_LOAD, baz); - - let foo = spinor_csr.r(utra::spinor::DELAY_STATUS); - spinor_csr.wo(utra::spinor::DELAY_STATUS, foo); - let bar = spinor_csr.rf(utra::spinor::DELAY_STATUS_Q); - spinor_csr.rmwf(utra::spinor::DELAY_STATUS_Q, bar); - let mut baz = spinor_csr.zf(utra::spinor::DELAY_STATUS_Q, bar); - baz |= spinor_csr.ms(utra::spinor::DELAY_STATUS_Q, 1); - spinor_csr.wfo(utra::spinor::DELAY_STATUS_Q, baz); - - let foo = spinor_csr.r(utra::spinor::COMMAND); - spinor_csr.wo(utra::spinor::COMMAND, foo); - let bar = spinor_csr.rf(utra::spinor::COMMAND_WAKEUP); - spinor_csr.rmwf(utra::spinor::COMMAND_WAKEUP, bar); - let mut baz = spinor_csr.zf(utra::spinor::COMMAND_WAKEUP, bar); - baz |= spinor_csr.ms(utra::spinor::COMMAND_WAKEUP, 1); - spinor_csr.wfo(utra::spinor::COMMAND_WAKEUP, baz); - let bar = spinor_csr.rf(utra::spinor::COMMAND_EXEC_CMD); - spinor_csr.rmwf(utra::spinor::COMMAND_EXEC_CMD, bar); - let mut baz = spinor_csr.zf(utra::spinor::COMMAND_EXEC_CMD, bar); - baz |= spinor_csr.ms(utra::spinor::COMMAND_EXEC_CMD, 1); - spinor_csr.wfo(utra::spinor::COMMAND_EXEC_CMD, baz); - let bar = spinor_csr.rf(utra::spinor::COMMAND_CMD_CODE); - spinor_csr.rmwf(utra::spinor::COMMAND_CMD_CODE, bar); - let mut baz = spinor_csr.zf(utra::spinor::COMMAND_CMD_CODE, bar); - baz |= spinor_csr.ms(utra::spinor::COMMAND_CMD_CODE, 1); - spinor_csr.wfo(utra::spinor::COMMAND_CMD_CODE, baz); - let bar = spinor_csr.rf(utra::spinor::COMMAND_HAS_ARG); - spinor_csr.rmwf(utra::spinor::COMMAND_HAS_ARG, bar); - let mut baz = spinor_csr.zf(utra::spinor::COMMAND_HAS_ARG, bar); - baz |= spinor_csr.ms(utra::spinor::COMMAND_HAS_ARG, 1); - spinor_csr.wfo(utra::spinor::COMMAND_HAS_ARG, baz); - let bar = spinor_csr.rf(utra::spinor::COMMAND_DUMMY_CYCLES); - spinor_csr.rmwf(utra::spinor::COMMAND_DUMMY_CYCLES, bar); - let mut baz = spinor_csr.zf(utra::spinor::COMMAND_DUMMY_CYCLES, bar); - baz |= spinor_csr.ms(utra::spinor::COMMAND_DUMMY_CYCLES, 1); - spinor_csr.wfo(utra::spinor::COMMAND_DUMMY_CYCLES, baz); - let bar = spinor_csr.rf(utra::spinor::COMMAND_DATA_WORDS); - spinor_csr.rmwf(utra::spinor::COMMAND_DATA_WORDS, bar); - let mut baz = spinor_csr.zf(utra::spinor::COMMAND_DATA_WORDS, bar); - baz |= spinor_csr.ms(utra::spinor::COMMAND_DATA_WORDS, 1); - spinor_csr.wfo(utra::spinor::COMMAND_DATA_WORDS, baz); - let bar = spinor_csr.rf(utra::spinor::COMMAND_LOCK_READS); - spinor_csr.rmwf(utra::spinor::COMMAND_LOCK_READS, bar); - let mut baz = spinor_csr.zf(utra::spinor::COMMAND_LOCK_READS, bar); - baz |= spinor_csr.ms(utra::spinor::COMMAND_LOCK_READS, 1); - spinor_csr.wfo(utra::spinor::COMMAND_LOCK_READS, baz); - - let foo = spinor_csr.r(utra::spinor::CMD_ARG); - spinor_csr.wo(utra::spinor::CMD_ARG, foo); - let bar = spinor_csr.rf(utra::spinor::CMD_ARG_CMD_ARG); - spinor_csr.rmwf(utra::spinor::CMD_ARG_CMD_ARG, bar); - let mut baz = spinor_csr.zf(utra::spinor::CMD_ARG_CMD_ARG, bar); - baz |= spinor_csr.ms(utra::spinor::CMD_ARG_CMD_ARG, 1); - spinor_csr.wfo(utra::spinor::CMD_ARG_CMD_ARG, baz); - - let foo = spinor_csr.r(utra::spinor::CMD_RBK_DATA); - spinor_csr.wo(utra::spinor::CMD_RBK_DATA, foo); - let bar = spinor_csr.rf(utra::spinor::CMD_RBK_DATA_CMD_RBK_DATA); - spinor_csr.rmwf(utra::spinor::CMD_RBK_DATA_CMD_RBK_DATA, bar); - let mut baz = spinor_csr.zf(utra::spinor::CMD_RBK_DATA_CMD_RBK_DATA, bar); - baz |= spinor_csr.ms(utra::spinor::CMD_RBK_DATA_CMD_RBK_DATA, 1); - spinor_csr.wfo(utra::spinor::CMD_RBK_DATA_CMD_RBK_DATA, baz); - - let foo = spinor_csr.r(utra::spinor::STATUS); - spinor_csr.wo(utra::spinor::STATUS, foo); - let bar = spinor_csr.rf(utra::spinor::STATUS_WIP); - spinor_csr.rmwf(utra::spinor::STATUS_WIP, bar); - let mut baz = spinor_csr.zf(utra::spinor::STATUS_WIP, bar); - baz |= spinor_csr.ms(utra::spinor::STATUS_WIP, 1); - spinor_csr.wfo(utra::spinor::STATUS_WIP, baz); - - let foo = spinor_csr.r(utra::spinor::WDATA); - spinor_csr.wo(utra::spinor::WDATA, foo); - let bar = spinor_csr.rf(utra::spinor::WDATA_WDATA); - spinor_csr.rmwf(utra::spinor::WDATA_WDATA, bar); - let mut baz = spinor_csr.zf(utra::spinor::WDATA_WDATA, bar); - baz |= spinor_csr.ms(utra::spinor::WDATA_WDATA, 1); - spinor_csr.wfo(utra::spinor::WDATA_WDATA, baz); - - let foo = spinor_csr.r(utra::spinor::EV_STATUS); - spinor_csr.wo(utra::spinor::EV_STATUS, foo); - let bar = spinor_csr.rf(utra::spinor::EV_STATUS_ECC_ERROR); - spinor_csr.rmwf(utra::spinor::EV_STATUS_ECC_ERROR, bar); - let mut baz = spinor_csr.zf(utra::spinor::EV_STATUS_ECC_ERROR, bar); - baz |= spinor_csr.ms(utra::spinor::EV_STATUS_ECC_ERROR, 1); - spinor_csr.wfo(utra::spinor::EV_STATUS_ECC_ERROR, baz); - - let foo = spinor_csr.r(utra::spinor::EV_PENDING); - spinor_csr.wo(utra::spinor::EV_PENDING, foo); - let bar = spinor_csr.rf(utra::spinor::EV_PENDING_ECC_ERROR); - spinor_csr.rmwf(utra::spinor::EV_PENDING_ECC_ERROR, bar); - let mut baz = spinor_csr.zf(utra::spinor::EV_PENDING_ECC_ERROR, bar); - baz |= spinor_csr.ms(utra::spinor::EV_PENDING_ECC_ERROR, 1); - spinor_csr.wfo(utra::spinor::EV_PENDING_ECC_ERROR, baz); - - let foo = spinor_csr.r(utra::spinor::EV_ENABLE); - spinor_csr.wo(utra::spinor::EV_ENABLE, foo); - let bar = spinor_csr.rf(utra::spinor::EV_ENABLE_ECC_ERROR); - spinor_csr.rmwf(utra::spinor::EV_ENABLE_ECC_ERROR, bar); - let mut baz = spinor_csr.zf(utra::spinor::EV_ENABLE_ECC_ERROR, bar); - baz |= spinor_csr.ms(utra::spinor::EV_ENABLE_ECC_ERROR, 1); - spinor_csr.wfo(utra::spinor::EV_ENABLE_ECC_ERROR, baz); - - let foo = spinor_csr.r(utra::spinor::ECC_ADDRESS); - spinor_csr.wo(utra::spinor::ECC_ADDRESS, foo); - let bar = spinor_csr.rf(utra::spinor::ECC_ADDRESS_ECC_ADDRESS); - spinor_csr.rmwf(utra::spinor::ECC_ADDRESS_ECC_ADDRESS, bar); - let mut baz = spinor_csr.zf(utra::spinor::ECC_ADDRESS_ECC_ADDRESS, bar); - baz |= spinor_csr.ms(utra::spinor::ECC_ADDRESS_ECC_ADDRESS, 1); - spinor_csr.wfo(utra::spinor::ECC_ADDRESS_ECC_ADDRESS, baz); - - let foo = spinor_csr.r(utra::spinor::ECC_STATUS); - spinor_csr.wo(utra::spinor::ECC_STATUS, foo); - let bar = spinor_csr.rf(utra::spinor::ECC_STATUS_ECC_ERROR); - spinor_csr.rmwf(utra::spinor::ECC_STATUS_ECC_ERROR, bar); - let mut baz = spinor_csr.zf(utra::spinor::ECC_STATUS_ECC_ERROR, bar); - baz |= spinor_csr.ms(utra::spinor::ECC_STATUS_ECC_ERROR, 1); - spinor_csr.wfo(utra::spinor::ECC_STATUS_ECC_ERROR, baz); - let bar = spinor_csr.rf(utra::spinor::ECC_STATUS_ECC_OVERFLOW); - spinor_csr.rmwf(utra::spinor::ECC_STATUS_ECC_OVERFLOW, bar); - let mut baz = spinor_csr.zf(utra::spinor::ECC_STATUS_ECC_OVERFLOW, bar); - baz |= spinor_csr.ms(utra::spinor::ECC_STATUS_ECC_OVERFLOW, 1); - spinor_csr.wfo(utra::spinor::ECC_STATUS_ECC_OVERFLOW, baz); - } - - #[test] - #[ignore] - fn compile_check_keyboard_csr() { - use super::*; let mut keyboard_csr = CSR::new(HW_KEYBOARD_BASE as *mut u32); - - let foo = keyboard_csr.r(utra::keyboard::UART_CHAR); - keyboard_csr.wo(utra::keyboard::UART_CHAR, foo); - let bar = keyboard_csr.rf(utra::keyboard::UART_CHAR_CHAR); - keyboard_csr.rmwf(utra::keyboard::UART_CHAR_CHAR, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::UART_CHAR_CHAR, bar); - baz |= keyboard_csr.ms(utra::keyboard::UART_CHAR_CHAR, 1); - keyboard_csr.wfo(utra::keyboard::UART_CHAR_CHAR, baz); - let bar = keyboard_csr.rf(utra::keyboard::UART_CHAR_STB); - keyboard_csr.rmwf(utra::keyboard::UART_CHAR_STB, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::UART_CHAR_STB, bar); - baz |= keyboard_csr.ms(utra::keyboard::UART_CHAR_STB, 1); - keyboard_csr.wfo(utra::keyboard::UART_CHAR_STB, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW0DAT); - keyboard_csr.wo(utra::keyboard::ROW0DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW0DAT_ROW0DAT); - keyboard_csr.rmwf(utra::keyboard::ROW0DAT_ROW0DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW0DAT_ROW0DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW0DAT_ROW0DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW0DAT_ROW0DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW1DAT); - keyboard_csr.wo(utra::keyboard::ROW1DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW1DAT_ROW1DAT); - keyboard_csr.rmwf(utra::keyboard::ROW1DAT_ROW1DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW1DAT_ROW1DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW1DAT_ROW1DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW1DAT_ROW1DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW2DAT); - keyboard_csr.wo(utra::keyboard::ROW2DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW2DAT_ROW2DAT); - keyboard_csr.rmwf(utra::keyboard::ROW2DAT_ROW2DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW2DAT_ROW2DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW2DAT_ROW2DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW2DAT_ROW2DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW3DAT); - keyboard_csr.wo(utra::keyboard::ROW3DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW3DAT_ROW3DAT); - keyboard_csr.rmwf(utra::keyboard::ROW3DAT_ROW3DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW3DAT_ROW3DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW3DAT_ROW3DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW3DAT_ROW3DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW4DAT); - keyboard_csr.wo(utra::keyboard::ROW4DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW4DAT_ROW4DAT); - keyboard_csr.rmwf(utra::keyboard::ROW4DAT_ROW4DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW4DAT_ROW4DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW4DAT_ROW4DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW4DAT_ROW4DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW5DAT); - keyboard_csr.wo(utra::keyboard::ROW5DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW5DAT_ROW5DAT); - keyboard_csr.rmwf(utra::keyboard::ROW5DAT_ROW5DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW5DAT_ROW5DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW5DAT_ROW5DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW5DAT_ROW5DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW6DAT); - keyboard_csr.wo(utra::keyboard::ROW6DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW6DAT_ROW6DAT); - keyboard_csr.rmwf(utra::keyboard::ROW6DAT_ROW6DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW6DAT_ROW6DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW6DAT_ROW6DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW6DAT_ROW6DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW7DAT); - keyboard_csr.wo(utra::keyboard::ROW7DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW7DAT_ROW7DAT); - keyboard_csr.rmwf(utra::keyboard::ROW7DAT_ROW7DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW7DAT_ROW7DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW7DAT_ROW7DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW7DAT_ROW7DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::ROW8DAT); - keyboard_csr.wo(utra::keyboard::ROW8DAT, foo); - let bar = keyboard_csr.rf(utra::keyboard::ROW8DAT_ROW8DAT); - keyboard_csr.rmwf(utra::keyboard::ROW8DAT_ROW8DAT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::ROW8DAT_ROW8DAT, bar); - baz |= keyboard_csr.ms(utra::keyboard::ROW8DAT_ROW8DAT, 1); - keyboard_csr.wfo(utra::keyboard::ROW8DAT_ROW8DAT, baz); - - let foo = keyboard_csr.r(utra::keyboard::EV_STATUS); - keyboard_csr.wo(utra::keyboard::EV_STATUS, foo); - let bar = keyboard_csr.rf(utra::keyboard::EV_STATUS_KEYPRESSED); - keyboard_csr.rmwf(utra::keyboard::EV_STATUS_KEYPRESSED, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::EV_STATUS_KEYPRESSED, bar); - baz |= keyboard_csr.ms(utra::keyboard::EV_STATUS_KEYPRESSED, 1); - keyboard_csr.wfo(utra::keyboard::EV_STATUS_KEYPRESSED, baz); - let bar = keyboard_csr.rf(utra::keyboard::EV_STATUS_INJECT); - keyboard_csr.rmwf(utra::keyboard::EV_STATUS_INJECT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::EV_STATUS_INJECT, bar); - baz |= keyboard_csr.ms(utra::keyboard::EV_STATUS_INJECT, 1); - keyboard_csr.wfo(utra::keyboard::EV_STATUS_INJECT, baz); - - let foo = keyboard_csr.r(utra::keyboard::EV_PENDING); - keyboard_csr.wo(utra::keyboard::EV_PENDING, foo); - let bar = keyboard_csr.rf(utra::keyboard::EV_PENDING_KEYPRESSED); - keyboard_csr.rmwf(utra::keyboard::EV_PENDING_KEYPRESSED, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::EV_PENDING_KEYPRESSED, bar); - baz |= keyboard_csr.ms(utra::keyboard::EV_PENDING_KEYPRESSED, 1); - keyboard_csr.wfo(utra::keyboard::EV_PENDING_KEYPRESSED, baz); - let bar = keyboard_csr.rf(utra::keyboard::EV_PENDING_INJECT); - keyboard_csr.rmwf(utra::keyboard::EV_PENDING_INJECT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::EV_PENDING_INJECT, bar); - baz |= keyboard_csr.ms(utra::keyboard::EV_PENDING_INJECT, 1); - keyboard_csr.wfo(utra::keyboard::EV_PENDING_INJECT, baz); - - let foo = keyboard_csr.r(utra::keyboard::EV_ENABLE); - keyboard_csr.wo(utra::keyboard::EV_ENABLE, foo); - let bar = keyboard_csr.rf(utra::keyboard::EV_ENABLE_KEYPRESSED); - keyboard_csr.rmwf(utra::keyboard::EV_ENABLE_KEYPRESSED, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::EV_ENABLE_KEYPRESSED, bar); - baz |= keyboard_csr.ms(utra::keyboard::EV_ENABLE_KEYPRESSED, 1); - keyboard_csr.wfo(utra::keyboard::EV_ENABLE_KEYPRESSED, baz); - let bar = keyboard_csr.rf(utra::keyboard::EV_ENABLE_INJECT); - keyboard_csr.rmwf(utra::keyboard::EV_ENABLE_INJECT, bar); - let mut baz = keyboard_csr.zf(utra::keyboard::EV_ENABLE_INJECT, bar); - baz |= keyboard_csr.ms(utra::keyboard::EV_ENABLE_INJECT, 1); - keyboard_csr.wfo(utra::keyboard::EV_ENABLE_INJECT, baz); - } - - #[test] - #[ignore] - fn compile_check_keyinject_csr() { - use super::*; let mut keyinject_csr = CSR::new(HW_KEYINJECT_BASE as *mut u32); - - let foo = keyinject_csr.r(utra::keyinject::UART_CHAR); - keyinject_csr.wo(utra::keyinject::UART_CHAR, foo); - let bar = keyinject_csr.rf(utra::keyinject::UART_CHAR_CHAR); - keyinject_csr.rmwf(utra::keyinject::UART_CHAR_CHAR, bar); - let mut baz = keyinject_csr.zf(utra::keyinject::UART_CHAR_CHAR, bar); - baz |= keyinject_csr.ms(utra::keyinject::UART_CHAR_CHAR, 1); - keyinject_csr.wfo(utra::keyinject::UART_CHAR_CHAR, baz); - - let foo = keyinject_csr.r(utra::keyinject::DISABLE); - keyinject_csr.wo(utra::keyinject::DISABLE, foo); - let bar = keyinject_csr.rf(utra::keyinject::DISABLE_DISABLE); - keyinject_csr.rmwf(utra::keyinject::DISABLE_DISABLE, bar); - let mut baz = keyinject_csr.zf(utra::keyinject::DISABLE_DISABLE, bar); - baz |= keyinject_csr.ms(utra::keyinject::DISABLE_DISABLE, 1); - keyinject_csr.wfo(utra::keyinject::DISABLE_DISABLE, baz); - } - - #[test] - #[ignore] - fn compile_check_seed_csr() { - use super::*; let mut seed_csr = CSR::new(HW_SEED_BASE as *mut u32); - - let foo = seed_csr.r(utra::seed::SEED1); - seed_csr.wo(utra::seed::SEED1, foo); - let bar = seed_csr.rf(utra::seed::SEED1_SEED); - seed_csr.rmwf(utra::seed::SEED1_SEED, bar); - let mut baz = seed_csr.zf(utra::seed::SEED1_SEED, bar); - baz |= seed_csr.ms(utra::seed::SEED1_SEED, 1); - seed_csr.wfo(utra::seed::SEED1_SEED, baz); - - let foo = seed_csr.r(utra::seed::SEED0); - seed_csr.wo(utra::seed::SEED0, foo); - let bar = seed_csr.rf(utra::seed::SEED0_SEED); - seed_csr.rmwf(utra::seed::SEED0_SEED, bar); - let mut baz = seed_csr.zf(utra::seed::SEED0_SEED, bar); - baz |= seed_csr.ms(utra::seed::SEED0_SEED, 1); - seed_csr.wfo(utra::seed::SEED0_SEED, baz); - } - - #[test] - #[ignore] - fn compile_check_keyrom_csr() { - use super::*; let mut keyrom_csr = CSR::new(HW_KEYROM_BASE as *mut u32); - - let foo = keyrom_csr.r(utra::keyrom::ADDRESS); - keyrom_csr.wo(utra::keyrom::ADDRESS, foo); - let bar = keyrom_csr.rf(utra::keyrom::ADDRESS_ADDRESS); - keyrom_csr.rmwf(utra::keyrom::ADDRESS_ADDRESS, bar); - let mut baz = keyrom_csr.zf(utra::keyrom::ADDRESS_ADDRESS, bar); - baz |= keyrom_csr.ms(utra::keyrom::ADDRESS_ADDRESS, 1); - keyrom_csr.wfo(utra::keyrom::ADDRESS_ADDRESS, baz); - - let foo = keyrom_csr.r(utra::keyrom::DATA); - keyrom_csr.wo(utra::keyrom::DATA, foo); - let bar = keyrom_csr.rf(utra::keyrom::DATA_DATA); - keyrom_csr.rmwf(utra::keyrom::DATA_DATA, bar); - let mut baz = keyrom_csr.zf(utra::keyrom::DATA_DATA, bar); - baz |= keyrom_csr.ms(utra::keyrom::DATA_DATA, 1); - keyrom_csr.wfo(utra::keyrom::DATA_DATA, baz); - - let foo = keyrom_csr.r(utra::keyrom::LOCKADDR); - keyrom_csr.wo(utra::keyrom::LOCKADDR, foo); - let bar = keyrom_csr.rf(utra::keyrom::LOCKADDR_LOCKADDR); - keyrom_csr.rmwf(utra::keyrom::LOCKADDR_LOCKADDR, bar); - let mut baz = keyrom_csr.zf(utra::keyrom::LOCKADDR_LOCKADDR, bar); - baz |= keyrom_csr.ms(utra::keyrom::LOCKADDR_LOCKADDR, 1); - keyrom_csr.wfo(utra::keyrom::LOCKADDR_LOCKADDR, baz); - - let foo = keyrom_csr.r(utra::keyrom::LOCKSTAT); - keyrom_csr.wo(utra::keyrom::LOCKSTAT, foo); - let bar = keyrom_csr.rf(utra::keyrom::LOCKSTAT_LOCKSTAT); - keyrom_csr.rmwf(utra::keyrom::LOCKSTAT_LOCKSTAT, bar); - let mut baz = keyrom_csr.zf(utra::keyrom::LOCKSTAT_LOCKSTAT, bar); - baz |= keyrom_csr.ms(utra::keyrom::LOCKSTAT_LOCKSTAT, 1); - keyrom_csr.wfo(utra::keyrom::LOCKSTAT_LOCKSTAT, baz); - } - - #[test] - #[ignore] - fn compile_check_audio_csr() { - use super::*; let mut audio_csr = CSR::new(HW_AUDIO_BASE as *mut u32); - - let foo = audio_csr.r(utra::audio::EV_STATUS); - audio_csr.wo(utra::audio::EV_STATUS, foo); - let bar = audio_csr.rf(utra::audio::EV_STATUS_RX_READY); - audio_csr.rmwf(utra::audio::EV_STATUS_RX_READY, bar); - let mut baz = audio_csr.zf(utra::audio::EV_STATUS_RX_READY, bar); - baz |= audio_csr.ms(utra::audio::EV_STATUS_RX_READY, 1); - audio_csr.wfo(utra::audio::EV_STATUS_RX_READY, baz); - let bar = audio_csr.rf(utra::audio::EV_STATUS_RX_ERROR); - audio_csr.rmwf(utra::audio::EV_STATUS_RX_ERROR, bar); - let mut baz = audio_csr.zf(utra::audio::EV_STATUS_RX_ERROR, bar); - baz |= audio_csr.ms(utra::audio::EV_STATUS_RX_ERROR, 1); - audio_csr.wfo(utra::audio::EV_STATUS_RX_ERROR, baz); - let bar = audio_csr.rf(utra::audio::EV_STATUS_TX_READY); - audio_csr.rmwf(utra::audio::EV_STATUS_TX_READY, bar); - let mut baz = audio_csr.zf(utra::audio::EV_STATUS_TX_READY, bar); - baz |= audio_csr.ms(utra::audio::EV_STATUS_TX_READY, 1); - audio_csr.wfo(utra::audio::EV_STATUS_TX_READY, baz); - let bar = audio_csr.rf(utra::audio::EV_STATUS_TX_ERROR); - audio_csr.rmwf(utra::audio::EV_STATUS_TX_ERROR, bar); - let mut baz = audio_csr.zf(utra::audio::EV_STATUS_TX_ERROR, bar); - baz |= audio_csr.ms(utra::audio::EV_STATUS_TX_ERROR, 1); - audio_csr.wfo(utra::audio::EV_STATUS_TX_ERROR, baz); - - let foo = audio_csr.r(utra::audio::EV_PENDING); - audio_csr.wo(utra::audio::EV_PENDING, foo); - let bar = audio_csr.rf(utra::audio::EV_PENDING_RX_READY); - audio_csr.rmwf(utra::audio::EV_PENDING_RX_READY, bar); - let mut baz = audio_csr.zf(utra::audio::EV_PENDING_RX_READY, bar); - baz |= audio_csr.ms(utra::audio::EV_PENDING_RX_READY, 1); - audio_csr.wfo(utra::audio::EV_PENDING_RX_READY, baz); - let bar = audio_csr.rf(utra::audio::EV_PENDING_RX_ERROR); - audio_csr.rmwf(utra::audio::EV_PENDING_RX_ERROR, bar); - let mut baz = audio_csr.zf(utra::audio::EV_PENDING_RX_ERROR, bar); - baz |= audio_csr.ms(utra::audio::EV_PENDING_RX_ERROR, 1); - audio_csr.wfo(utra::audio::EV_PENDING_RX_ERROR, baz); - let bar = audio_csr.rf(utra::audio::EV_PENDING_TX_READY); - audio_csr.rmwf(utra::audio::EV_PENDING_TX_READY, bar); - let mut baz = audio_csr.zf(utra::audio::EV_PENDING_TX_READY, bar); - baz |= audio_csr.ms(utra::audio::EV_PENDING_TX_READY, 1); - audio_csr.wfo(utra::audio::EV_PENDING_TX_READY, baz); - let bar = audio_csr.rf(utra::audio::EV_PENDING_TX_ERROR); - audio_csr.rmwf(utra::audio::EV_PENDING_TX_ERROR, bar); - let mut baz = audio_csr.zf(utra::audio::EV_PENDING_TX_ERROR, bar); - baz |= audio_csr.ms(utra::audio::EV_PENDING_TX_ERROR, 1); - audio_csr.wfo(utra::audio::EV_PENDING_TX_ERROR, baz); - - let foo = audio_csr.r(utra::audio::EV_ENABLE); - audio_csr.wo(utra::audio::EV_ENABLE, foo); - let bar = audio_csr.rf(utra::audio::EV_ENABLE_RX_READY); - audio_csr.rmwf(utra::audio::EV_ENABLE_RX_READY, bar); - let mut baz = audio_csr.zf(utra::audio::EV_ENABLE_RX_READY, bar); - baz |= audio_csr.ms(utra::audio::EV_ENABLE_RX_READY, 1); - audio_csr.wfo(utra::audio::EV_ENABLE_RX_READY, baz); - let bar = audio_csr.rf(utra::audio::EV_ENABLE_RX_ERROR); - audio_csr.rmwf(utra::audio::EV_ENABLE_RX_ERROR, bar); - let mut baz = audio_csr.zf(utra::audio::EV_ENABLE_RX_ERROR, bar); - baz |= audio_csr.ms(utra::audio::EV_ENABLE_RX_ERROR, 1); - audio_csr.wfo(utra::audio::EV_ENABLE_RX_ERROR, baz); - let bar = audio_csr.rf(utra::audio::EV_ENABLE_TX_READY); - audio_csr.rmwf(utra::audio::EV_ENABLE_TX_READY, bar); - let mut baz = audio_csr.zf(utra::audio::EV_ENABLE_TX_READY, bar); - baz |= audio_csr.ms(utra::audio::EV_ENABLE_TX_READY, 1); - audio_csr.wfo(utra::audio::EV_ENABLE_TX_READY, baz); - let bar = audio_csr.rf(utra::audio::EV_ENABLE_TX_ERROR); - audio_csr.rmwf(utra::audio::EV_ENABLE_TX_ERROR, bar); - let mut baz = audio_csr.zf(utra::audio::EV_ENABLE_TX_ERROR, bar); - baz |= audio_csr.ms(utra::audio::EV_ENABLE_TX_ERROR, 1); - audio_csr.wfo(utra::audio::EV_ENABLE_TX_ERROR, baz); - - let foo = audio_csr.r(utra::audio::RX_CTL); - audio_csr.wo(utra::audio::RX_CTL, foo); - let bar = audio_csr.rf(utra::audio::RX_CTL_ENABLE); - audio_csr.rmwf(utra::audio::RX_CTL_ENABLE, bar); - let mut baz = audio_csr.zf(utra::audio::RX_CTL_ENABLE, bar); - baz |= audio_csr.ms(utra::audio::RX_CTL_ENABLE, 1); - audio_csr.wfo(utra::audio::RX_CTL_ENABLE, baz); - let bar = audio_csr.rf(utra::audio::RX_CTL_RESET); - audio_csr.rmwf(utra::audio::RX_CTL_RESET, bar); - let mut baz = audio_csr.zf(utra::audio::RX_CTL_RESET, bar); - baz |= audio_csr.ms(utra::audio::RX_CTL_RESET, 1); - audio_csr.wfo(utra::audio::RX_CTL_RESET, baz); - - let foo = audio_csr.r(utra::audio::RX_STAT); - audio_csr.wo(utra::audio::RX_STAT, foo); - let bar = audio_csr.rf(utra::audio::RX_STAT_OVERFLOW); - audio_csr.rmwf(utra::audio::RX_STAT_OVERFLOW, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_OVERFLOW, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_OVERFLOW, 1); - audio_csr.wfo(utra::audio::RX_STAT_OVERFLOW, baz); - let bar = audio_csr.rf(utra::audio::RX_STAT_UNDERFLOW); - audio_csr.rmwf(utra::audio::RX_STAT_UNDERFLOW, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_UNDERFLOW, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_UNDERFLOW, 1); - audio_csr.wfo(utra::audio::RX_STAT_UNDERFLOW, baz); - let bar = audio_csr.rf(utra::audio::RX_STAT_DATAREADY); - audio_csr.rmwf(utra::audio::RX_STAT_DATAREADY, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_DATAREADY, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_DATAREADY, 1); - audio_csr.wfo(utra::audio::RX_STAT_DATAREADY, baz); - let bar = audio_csr.rf(utra::audio::RX_STAT_EMPTY); - audio_csr.rmwf(utra::audio::RX_STAT_EMPTY, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_EMPTY, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_EMPTY, 1); - audio_csr.wfo(utra::audio::RX_STAT_EMPTY, baz); - let bar = audio_csr.rf(utra::audio::RX_STAT_WRCOUNT); - audio_csr.rmwf(utra::audio::RX_STAT_WRCOUNT, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_WRCOUNT, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_WRCOUNT, 1); - audio_csr.wfo(utra::audio::RX_STAT_WRCOUNT, baz); - let bar = audio_csr.rf(utra::audio::RX_STAT_RDCOUNT); - audio_csr.rmwf(utra::audio::RX_STAT_RDCOUNT, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_RDCOUNT, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_RDCOUNT, 1); - audio_csr.wfo(utra::audio::RX_STAT_RDCOUNT, baz); - let bar = audio_csr.rf(utra::audio::RX_STAT_FIFO_DEPTH); - audio_csr.rmwf(utra::audio::RX_STAT_FIFO_DEPTH, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_FIFO_DEPTH, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_FIFO_DEPTH, 1); - audio_csr.wfo(utra::audio::RX_STAT_FIFO_DEPTH, baz); - let bar = audio_csr.rf(utra::audio::RX_STAT_CONCATENATE_CHANNELS); - audio_csr.rmwf(utra::audio::RX_STAT_CONCATENATE_CHANNELS, bar); - let mut baz = audio_csr.zf(utra::audio::RX_STAT_CONCATENATE_CHANNELS, bar); - baz |= audio_csr.ms(utra::audio::RX_STAT_CONCATENATE_CHANNELS, 1); - audio_csr.wfo(utra::audio::RX_STAT_CONCATENATE_CHANNELS, baz); - - let foo = audio_csr.r(utra::audio::RX_CONF); - audio_csr.wo(utra::audio::RX_CONF, foo); - let bar = audio_csr.rf(utra::audio::RX_CONF_FORMAT); - audio_csr.rmwf(utra::audio::RX_CONF_FORMAT, bar); - let mut baz = audio_csr.zf(utra::audio::RX_CONF_FORMAT, bar); - baz |= audio_csr.ms(utra::audio::RX_CONF_FORMAT, 1); - audio_csr.wfo(utra::audio::RX_CONF_FORMAT, baz); - let bar = audio_csr.rf(utra::audio::RX_CONF_SAMPLE_WIDTH); - audio_csr.rmwf(utra::audio::RX_CONF_SAMPLE_WIDTH, bar); - let mut baz = audio_csr.zf(utra::audio::RX_CONF_SAMPLE_WIDTH, bar); - baz |= audio_csr.ms(utra::audio::RX_CONF_SAMPLE_WIDTH, 1); - audio_csr.wfo(utra::audio::RX_CONF_SAMPLE_WIDTH, baz); - let bar = audio_csr.rf(utra::audio::RX_CONF_LRCK_FREQ); - audio_csr.rmwf(utra::audio::RX_CONF_LRCK_FREQ, bar); - let mut baz = audio_csr.zf(utra::audio::RX_CONF_LRCK_FREQ, bar); - baz |= audio_csr.ms(utra::audio::RX_CONF_LRCK_FREQ, 1); - audio_csr.wfo(utra::audio::RX_CONF_LRCK_FREQ, baz); - - let foo = audio_csr.r(utra::audio::TX_CTL); - audio_csr.wo(utra::audio::TX_CTL, foo); - let bar = audio_csr.rf(utra::audio::TX_CTL_ENABLE); - audio_csr.rmwf(utra::audio::TX_CTL_ENABLE, bar); - let mut baz = audio_csr.zf(utra::audio::TX_CTL_ENABLE, bar); - baz |= audio_csr.ms(utra::audio::TX_CTL_ENABLE, 1); - audio_csr.wfo(utra::audio::TX_CTL_ENABLE, baz); - let bar = audio_csr.rf(utra::audio::TX_CTL_RESET); - audio_csr.rmwf(utra::audio::TX_CTL_RESET, bar); - let mut baz = audio_csr.zf(utra::audio::TX_CTL_RESET, bar); - baz |= audio_csr.ms(utra::audio::TX_CTL_RESET, 1); - audio_csr.wfo(utra::audio::TX_CTL_RESET, baz); - - let foo = audio_csr.r(utra::audio::TX_STAT); - audio_csr.wo(utra::audio::TX_STAT, foo); - let bar = audio_csr.rf(utra::audio::TX_STAT_OVERFLOW); - audio_csr.rmwf(utra::audio::TX_STAT_OVERFLOW, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_OVERFLOW, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_OVERFLOW, 1); - audio_csr.wfo(utra::audio::TX_STAT_OVERFLOW, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_UNDERFLOW); - audio_csr.rmwf(utra::audio::TX_STAT_UNDERFLOW, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_UNDERFLOW, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_UNDERFLOW, 1); - audio_csr.wfo(utra::audio::TX_STAT_UNDERFLOW, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_FREE); - audio_csr.rmwf(utra::audio::TX_STAT_FREE, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_FREE, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_FREE, 1); - audio_csr.wfo(utra::audio::TX_STAT_FREE, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_ALMOSTFULL); - audio_csr.rmwf(utra::audio::TX_STAT_ALMOSTFULL, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_ALMOSTFULL, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_ALMOSTFULL, 1); - audio_csr.wfo(utra::audio::TX_STAT_ALMOSTFULL, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_FULL); - audio_csr.rmwf(utra::audio::TX_STAT_FULL, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_FULL, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_FULL, 1); - audio_csr.wfo(utra::audio::TX_STAT_FULL, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_EMPTY); - audio_csr.rmwf(utra::audio::TX_STAT_EMPTY, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_EMPTY, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_EMPTY, 1); - audio_csr.wfo(utra::audio::TX_STAT_EMPTY, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_WRCOUNT); - audio_csr.rmwf(utra::audio::TX_STAT_WRCOUNT, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_WRCOUNT, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_WRCOUNT, 1); - audio_csr.wfo(utra::audio::TX_STAT_WRCOUNT, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_RDCOUNT); - audio_csr.rmwf(utra::audio::TX_STAT_RDCOUNT, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_RDCOUNT, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_RDCOUNT, 1); - audio_csr.wfo(utra::audio::TX_STAT_RDCOUNT, baz); - let bar = audio_csr.rf(utra::audio::TX_STAT_CONCATENATE_CHANNELS); - audio_csr.rmwf(utra::audio::TX_STAT_CONCATENATE_CHANNELS, bar); - let mut baz = audio_csr.zf(utra::audio::TX_STAT_CONCATENATE_CHANNELS, bar); - baz |= audio_csr.ms(utra::audio::TX_STAT_CONCATENATE_CHANNELS, 1); - audio_csr.wfo(utra::audio::TX_STAT_CONCATENATE_CHANNELS, baz); - - let foo = audio_csr.r(utra::audio::TX_CONF); - audio_csr.wo(utra::audio::TX_CONF, foo); - let bar = audio_csr.rf(utra::audio::TX_CONF_FORMAT); - audio_csr.rmwf(utra::audio::TX_CONF_FORMAT, bar); - let mut baz = audio_csr.zf(utra::audio::TX_CONF_FORMAT, bar); - baz |= audio_csr.ms(utra::audio::TX_CONF_FORMAT, 1); - audio_csr.wfo(utra::audio::TX_CONF_FORMAT, baz); - let bar = audio_csr.rf(utra::audio::TX_CONF_SAMPLE_WIDTH); - audio_csr.rmwf(utra::audio::TX_CONF_SAMPLE_WIDTH, bar); - let mut baz = audio_csr.zf(utra::audio::TX_CONF_SAMPLE_WIDTH, bar); - baz |= audio_csr.ms(utra::audio::TX_CONF_SAMPLE_WIDTH, 1); - audio_csr.wfo(utra::audio::TX_CONF_SAMPLE_WIDTH, baz); - let bar = audio_csr.rf(utra::audio::TX_CONF_LRCK_FREQ); - audio_csr.rmwf(utra::audio::TX_CONF_LRCK_FREQ, bar); - let mut baz = audio_csr.zf(utra::audio::TX_CONF_LRCK_FREQ, bar); - baz |= audio_csr.ms(utra::audio::TX_CONF_LRCK_FREQ, 1); - audio_csr.wfo(utra::audio::TX_CONF_LRCK_FREQ, baz); - } - - #[test] - #[ignore] - fn compile_check_trng_kernel_csr() { - use super::*; let mut trng_kernel_csr = CSR::new(HW_TRNG_KERNEL_BASE as *mut u32); - - let foo = trng_kernel_csr.r(utra::trng_kernel::STATUS); - trng_kernel_csr.wo(utra::trng_kernel::STATUS, foo); - let bar = trng_kernel_csr.rf(utra::trng_kernel::STATUS_READY); - trng_kernel_csr.rmwf(utra::trng_kernel::STATUS_READY, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::STATUS_READY, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::STATUS_READY, 1); - trng_kernel_csr.wfo(utra::trng_kernel::STATUS_READY, baz); - let bar = trng_kernel_csr.rf(utra::trng_kernel::STATUS_AVAIL); - trng_kernel_csr.rmwf(utra::trng_kernel::STATUS_AVAIL, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::STATUS_AVAIL, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::STATUS_AVAIL, 1); - trng_kernel_csr.wfo(utra::trng_kernel::STATUS_AVAIL, baz); - let bar = trng_kernel_csr.rf(utra::trng_kernel::STATUS_RDCOUNT); - trng_kernel_csr.rmwf(utra::trng_kernel::STATUS_RDCOUNT, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::STATUS_RDCOUNT, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::STATUS_RDCOUNT, 1); - trng_kernel_csr.wfo(utra::trng_kernel::STATUS_RDCOUNT, baz); - let bar = trng_kernel_csr.rf(utra::trng_kernel::STATUS_WRCOUNT); - trng_kernel_csr.rmwf(utra::trng_kernel::STATUS_WRCOUNT, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::STATUS_WRCOUNT, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::STATUS_WRCOUNT, 1); - trng_kernel_csr.wfo(utra::trng_kernel::STATUS_WRCOUNT, baz); - - let foo = trng_kernel_csr.r(utra::trng_kernel::DATA); - trng_kernel_csr.wo(utra::trng_kernel::DATA, foo); - let bar = trng_kernel_csr.rf(utra::trng_kernel::DATA_DATA); - trng_kernel_csr.rmwf(utra::trng_kernel::DATA_DATA, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::DATA_DATA, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::DATA_DATA, 1); - trng_kernel_csr.wfo(utra::trng_kernel::DATA_DATA, baz); - - let foo = trng_kernel_csr.r(utra::trng_kernel::URANDOM); - trng_kernel_csr.wo(utra::trng_kernel::URANDOM, foo); - let bar = trng_kernel_csr.rf(utra::trng_kernel::URANDOM_URANDOM); - trng_kernel_csr.rmwf(utra::trng_kernel::URANDOM_URANDOM, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::URANDOM_URANDOM, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::URANDOM_URANDOM, 1); - trng_kernel_csr.wfo(utra::trng_kernel::URANDOM_URANDOM, baz); - - let foo = trng_kernel_csr.r(utra::trng_kernel::URANDOM_VALID); - trng_kernel_csr.wo(utra::trng_kernel::URANDOM_VALID, foo); - let bar = trng_kernel_csr.rf(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID); - trng_kernel_csr.rmwf(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID, 1); - trng_kernel_csr.wfo(utra::trng_kernel::URANDOM_VALID_URANDOM_VALID, baz); - - let foo = trng_kernel_csr.r(utra::trng_kernel::EV_STATUS); - trng_kernel_csr.wo(utra::trng_kernel::EV_STATUS, foo); - let bar = trng_kernel_csr.rf(utra::trng_kernel::EV_STATUS_AVAIL); - trng_kernel_csr.rmwf(utra::trng_kernel::EV_STATUS_AVAIL, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::EV_STATUS_AVAIL, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::EV_STATUS_AVAIL, 1); - trng_kernel_csr.wfo(utra::trng_kernel::EV_STATUS_AVAIL, baz); - let bar = trng_kernel_csr.rf(utra::trng_kernel::EV_STATUS_ERROR); - trng_kernel_csr.rmwf(utra::trng_kernel::EV_STATUS_ERROR, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::EV_STATUS_ERROR, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::EV_STATUS_ERROR, 1); - trng_kernel_csr.wfo(utra::trng_kernel::EV_STATUS_ERROR, baz); - - let foo = trng_kernel_csr.r(utra::trng_kernel::EV_PENDING); - trng_kernel_csr.wo(utra::trng_kernel::EV_PENDING, foo); - let bar = trng_kernel_csr.rf(utra::trng_kernel::EV_PENDING_AVAIL); - trng_kernel_csr.rmwf(utra::trng_kernel::EV_PENDING_AVAIL, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::EV_PENDING_AVAIL, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::EV_PENDING_AVAIL, 1); - trng_kernel_csr.wfo(utra::trng_kernel::EV_PENDING_AVAIL, baz); - let bar = trng_kernel_csr.rf(utra::trng_kernel::EV_PENDING_ERROR); - trng_kernel_csr.rmwf(utra::trng_kernel::EV_PENDING_ERROR, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::EV_PENDING_ERROR, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::EV_PENDING_ERROR, 1); - trng_kernel_csr.wfo(utra::trng_kernel::EV_PENDING_ERROR, baz); - - let foo = trng_kernel_csr.r(utra::trng_kernel::EV_ENABLE); - trng_kernel_csr.wo(utra::trng_kernel::EV_ENABLE, foo); - let bar = trng_kernel_csr.rf(utra::trng_kernel::EV_ENABLE_AVAIL); - trng_kernel_csr.rmwf(utra::trng_kernel::EV_ENABLE_AVAIL, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::EV_ENABLE_AVAIL, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::EV_ENABLE_AVAIL, 1); - trng_kernel_csr.wfo(utra::trng_kernel::EV_ENABLE_AVAIL, baz); - let bar = trng_kernel_csr.rf(utra::trng_kernel::EV_ENABLE_ERROR); - trng_kernel_csr.rmwf(utra::trng_kernel::EV_ENABLE_ERROR, bar); - let mut baz = trng_kernel_csr.zf(utra::trng_kernel::EV_ENABLE_ERROR, bar); - baz |= trng_kernel_csr.ms(utra::trng_kernel::EV_ENABLE_ERROR, 1); - trng_kernel_csr.wfo(utra::trng_kernel::EV_ENABLE_ERROR, baz); - } - - #[test] - #[ignore] - fn compile_check_trng_server_csr() { - use super::*; let mut trng_server_csr = CSR::new(HW_TRNG_SERVER_BASE as *mut u32); - - let foo = trng_server_csr.r(utra::trng_server::CONTROL); - trng_server_csr.wo(utra::trng_server::CONTROL, foo); - let bar = trng_server_csr.rf(utra::trng_server::CONTROL_ENABLE); - trng_server_csr.rmwf(utra::trng_server::CONTROL_ENABLE, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CONTROL_ENABLE, bar); - baz |= trng_server_csr.ms(utra::trng_server::CONTROL_ENABLE, 1); - trng_server_csr.wfo(utra::trng_server::CONTROL_ENABLE, baz); - let bar = trng_server_csr.rf(utra::trng_server::CONTROL_RO_DIS); - trng_server_csr.rmwf(utra::trng_server::CONTROL_RO_DIS, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CONTROL_RO_DIS, bar); - baz |= trng_server_csr.ms(utra::trng_server::CONTROL_RO_DIS, 1); - trng_server_csr.wfo(utra::trng_server::CONTROL_RO_DIS, baz); - let bar = trng_server_csr.rf(utra::trng_server::CONTROL_AV_DIS); - trng_server_csr.rmwf(utra::trng_server::CONTROL_AV_DIS, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CONTROL_AV_DIS, bar); - baz |= trng_server_csr.ms(utra::trng_server::CONTROL_AV_DIS, 1); - trng_server_csr.wfo(utra::trng_server::CONTROL_AV_DIS, baz); - let bar = trng_server_csr.rf(utra::trng_server::CONTROL_POWERSAVE); - trng_server_csr.rmwf(utra::trng_server::CONTROL_POWERSAVE, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CONTROL_POWERSAVE, bar); - baz |= trng_server_csr.ms(utra::trng_server::CONTROL_POWERSAVE, 1); - trng_server_csr.wfo(utra::trng_server::CONTROL_POWERSAVE, baz); - let bar = trng_server_csr.rf(utra::trng_server::CONTROL_CLR_ERR); - trng_server_csr.rmwf(utra::trng_server::CONTROL_CLR_ERR, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CONTROL_CLR_ERR, bar); - baz |= trng_server_csr.ms(utra::trng_server::CONTROL_CLR_ERR, 1); - trng_server_csr.wfo(utra::trng_server::CONTROL_CLR_ERR, baz); - - let foo = trng_server_csr.r(utra::trng_server::DATA); - trng_server_csr.wo(utra::trng_server::DATA, foo); - let bar = trng_server_csr.rf(utra::trng_server::DATA_DATA); - trng_server_csr.rmwf(utra::trng_server::DATA_DATA, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::DATA_DATA, bar); - baz |= trng_server_csr.ms(utra::trng_server::DATA_DATA, 1); - trng_server_csr.wfo(utra::trng_server::DATA_DATA, baz); - - let foo = trng_server_csr.r(utra::trng_server::STATUS); - trng_server_csr.wo(utra::trng_server::STATUS, foo); - let bar = trng_server_csr.rf(utra::trng_server::STATUS_AVAIL); - trng_server_csr.rmwf(utra::trng_server::STATUS_AVAIL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::STATUS_AVAIL, bar); - baz |= trng_server_csr.ms(utra::trng_server::STATUS_AVAIL, 1); - trng_server_csr.wfo(utra::trng_server::STATUS_AVAIL, baz); - let bar = trng_server_csr.rf(utra::trng_server::STATUS_RDCOUNT); - trng_server_csr.rmwf(utra::trng_server::STATUS_RDCOUNT, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::STATUS_RDCOUNT, bar); - baz |= trng_server_csr.ms(utra::trng_server::STATUS_RDCOUNT, 1); - trng_server_csr.wfo(utra::trng_server::STATUS_RDCOUNT, baz); - let bar = trng_server_csr.rf(utra::trng_server::STATUS_WRCOUNT); - trng_server_csr.rmwf(utra::trng_server::STATUS_WRCOUNT, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::STATUS_WRCOUNT, bar); - baz |= trng_server_csr.ms(utra::trng_server::STATUS_WRCOUNT, 1); - trng_server_csr.wfo(utra::trng_server::STATUS_WRCOUNT, baz); - let bar = trng_server_csr.rf(utra::trng_server::STATUS_FULL); - trng_server_csr.rmwf(utra::trng_server::STATUS_FULL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::STATUS_FULL, bar); - baz |= trng_server_csr.ms(utra::trng_server::STATUS_FULL, 1); - trng_server_csr.wfo(utra::trng_server::STATUS_FULL, baz); - let bar = trng_server_csr.rf(utra::trng_server::STATUS_CHACHA_READY); - trng_server_csr.rmwf(utra::trng_server::STATUS_CHACHA_READY, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::STATUS_CHACHA_READY, bar); - baz |= trng_server_csr.ms(utra::trng_server::STATUS_CHACHA_READY, 1); - trng_server_csr.wfo(utra::trng_server::STATUS_CHACHA_READY, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_CONFIG); - trng_server_csr.wo(utra::trng_server::AV_CONFIG, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_CONFIG_POWERDELAY); - trng_server_csr.rmwf(utra::trng_server::AV_CONFIG_POWERDELAY, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_CONFIG_POWERDELAY, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_CONFIG_POWERDELAY, 1); - trng_server_csr.wfo(utra::trng_server::AV_CONFIG_POWERDELAY, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_CONFIG_SAMPLES); - trng_server_csr.rmwf(utra::trng_server::AV_CONFIG_SAMPLES, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_CONFIG_SAMPLES, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_CONFIG_SAMPLES, 1); - trng_server_csr.wfo(utra::trng_server::AV_CONFIG_SAMPLES, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_CONFIG_TEST); - trng_server_csr.rmwf(utra::trng_server::AV_CONFIG_TEST, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_CONFIG_TEST, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_CONFIG_TEST, 1); - trng_server_csr.wfo(utra::trng_server::AV_CONFIG_TEST, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_CONFIG_REQUIRED); - trng_server_csr.rmwf(utra::trng_server::AV_CONFIG_REQUIRED, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_CONFIG_REQUIRED, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_CONFIG_REQUIRED, 1); - trng_server_csr.wfo(utra::trng_server::AV_CONFIG_REQUIRED, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_CONFIG); - trng_server_csr.wo(utra::trng_server::RO_CONFIG, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_CONFIG_GANG); - trng_server_csr.rmwf(utra::trng_server::RO_CONFIG_GANG, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_CONFIG_GANG, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_CONFIG_GANG, 1); - trng_server_csr.wfo(utra::trng_server::RO_CONFIG_GANG, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_CONFIG_DWELL); - trng_server_csr.rmwf(utra::trng_server::RO_CONFIG_DWELL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_CONFIG_DWELL, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_CONFIG_DWELL, 1); - trng_server_csr.wfo(utra::trng_server::RO_CONFIG_DWELL, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_CONFIG_DELAY); - trng_server_csr.rmwf(utra::trng_server::RO_CONFIG_DELAY, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_CONFIG_DELAY, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_CONFIG_DELAY, 1); - trng_server_csr.wfo(utra::trng_server::RO_CONFIG_DELAY, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_CONFIG_FUZZ); - trng_server_csr.rmwf(utra::trng_server::RO_CONFIG_FUZZ, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_CONFIG_FUZZ, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_CONFIG_FUZZ, 1); - trng_server_csr.wfo(utra::trng_server::RO_CONFIG_FUZZ, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_CONFIG_OVERSAMPLING); - trng_server_csr.rmwf(utra::trng_server::RO_CONFIG_OVERSAMPLING, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_CONFIG_OVERSAMPLING, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_CONFIG_OVERSAMPLING, 1); - trng_server_csr.wfo(utra::trng_server::RO_CONFIG_OVERSAMPLING, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_NIST); - trng_server_csr.wo(utra::trng_server::AV_NIST, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_NIST_REPCOUNT_CUTOFF); - trng_server_csr.rmwf(utra::trng_server::AV_NIST_REPCOUNT_CUTOFF, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_NIST_REPCOUNT_CUTOFF, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_NIST_REPCOUNT_CUTOFF, 1); - trng_server_csr.wfo(utra::trng_server::AV_NIST_REPCOUNT_CUTOFF, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_NIST_ADAPTIVE_CUTOFF); - trng_server_csr.rmwf(utra::trng_server::AV_NIST_ADAPTIVE_CUTOFF, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_NIST_ADAPTIVE_CUTOFF, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_NIST_ADAPTIVE_CUTOFF, 1); - trng_server_csr.wfo(utra::trng_server::AV_NIST_ADAPTIVE_CUTOFF, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_NIST); - trng_server_csr.wo(utra::trng_server::RO_NIST, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_NIST_REPCOUNT_CUTOFF); - trng_server_csr.rmwf(utra::trng_server::RO_NIST_REPCOUNT_CUTOFF, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_NIST_REPCOUNT_CUTOFF, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_NIST_REPCOUNT_CUTOFF, 1); - trng_server_csr.wfo(utra::trng_server::RO_NIST_REPCOUNT_CUTOFF, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_NIST_ADAPTIVE_CUTOFF); - trng_server_csr.rmwf(utra::trng_server::RO_NIST_ADAPTIVE_CUTOFF, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_NIST_ADAPTIVE_CUTOFF, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_NIST_ADAPTIVE_CUTOFF, 1); - trng_server_csr.wfo(utra::trng_server::RO_NIST_ADAPTIVE_CUTOFF, baz); - - let foo = trng_server_csr.r(utra::trng_server::UNDERRUNS); - trng_server_csr.wo(utra::trng_server::UNDERRUNS, foo); - let bar = trng_server_csr.rf(utra::trng_server::UNDERRUNS_SERVER_UNDERRUN); - trng_server_csr.rmwf(utra::trng_server::UNDERRUNS_SERVER_UNDERRUN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::UNDERRUNS_SERVER_UNDERRUN, bar); - baz |= trng_server_csr.ms(utra::trng_server::UNDERRUNS_SERVER_UNDERRUN, 1); - trng_server_csr.wfo(utra::trng_server::UNDERRUNS_SERVER_UNDERRUN, baz); - let bar = trng_server_csr.rf(utra::trng_server::UNDERRUNS_KERNEL_UNDERRUN); - trng_server_csr.rmwf(utra::trng_server::UNDERRUNS_KERNEL_UNDERRUN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::UNDERRUNS_KERNEL_UNDERRUN, bar); - baz |= trng_server_csr.ms(utra::trng_server::UNDERRUNS_KERNEL_UNDERRUN, 1); - trng_server_csr.wfo(utra::trng_server::UNDERRUNS_KERNEL_UNDERRUN, baz); - - let foo = trng_server_csr.r(utra::trng_server::NIST_ERRORS); - trng_server_csr.wo(utra::trng_server::NIST_ERRORS, foo); - let bar = trng_server_csr.rf(utra::trng_server::NIST_ERRORS_AV_REPCOUNT); - trng_server_csr.rmwf(utra::trng_server::NIST_ERRORS_AV_REPCOUNT, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_ERRORS_AV_REPCOUNT, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_ERRORS_AV_REPCOUNT, 1); - trng_server_csr.wfo(utra::trng_server::NIST_ERRORS_AV_REPCOUNT, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_ERRORS_AV_ADAPTIVE); - trng_server_csr.rmwf(utra::trng_server::NIST_ERRORS_AV_ADAPTIVE, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_ERRORS_AV_ADAPTIVE, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_ERRORS_AV_ADAPTIVE, 1); - trng_server_csr.wfo(utra::trng_server::NIST_ERRORS_AV_ADAPTIVE, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_ERRORS_RO_REPCOUNT); - trng_server_csr.rmwf(utra::trng_server::NIST_ERRORS_RO_REPCOUNT, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_ERRORS_RO_REPCOUNT, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_ERRORS_RO_REPCOUNT, 1); - trng_server_csr.wfo(utra::trng_server::NIST_ERRORS_RO_REPCOUNT, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_ERRORS_RO_ADAPTIVE); - trng_server_csr.rmwf(utra::trng_server::NIST_ERRORS_RO_ADAPTIVE, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_ERRORS_RO_ADAPTIVE, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_ERRORS_RO_ADAPTIVE, 1); - trng_server_csr.wfo(utra::trng_server::NIST_ERRORS_RO_ADAPTIVE, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_ERRORS_RO_MINIRUNS); - trng_server_csr.rmwf(utra::trng_server::NIST_ERRORS_RO_MINIRUNS, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_ERRORS_RO_MINIRUNS, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_ERRORS_RO_MINIRUNS, 1); - trng_server_csr.wfo(utra::trng_server::NIST_ERRORS_RO_MINIRUNS, baz); - - let foo = trng_server_csr.r(utra::trng_server::NIST_RO_STAT0); - trng_server_csr.wo(utra::trng_server::NIST_RO_STAT0, foo); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT0_ADAP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT0_ADAP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT0_ADAP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT0_ADAP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT0_ADAP_B, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT0_FRESH); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT0_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT0_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT0_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT0_FRESH, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT0_REP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT0_REP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT0_REP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT0_REP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT0_REP_B, baz); - - let foo = trng_server_csr.r(utra::trng_server::NIST_RO_STAT1); - trng_server_csr.wo(utra::trng_server::NIST_RO_STAT1, foo); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT1_ADAP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT1_ADAP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT1_ADAP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT1_ADAP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT1_ADAP_B, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT1_FRESH); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT1_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT1_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT1_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT1_FRESH, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT1_REP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT1_REP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT1_REP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT1_REP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT1_REP_B, baz); - - let foo = trng_server_csr.r(utra::trng_server::NIST_RO_STAT2); - trng_server_csr.wo(utra::trng_server::NIST_RO_STAT2, foo); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT2_ADAP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT2_ADAP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT2_ADAP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT2_ADAP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT2_ADAP_B, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT2_FRESH); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT2_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT2_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT2_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT2_FRESH, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT2_REP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT2_REP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT2_REP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT2_REP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT2_REP_B, baz); - - let foo = trng_server_csr.r(utra::trng_server::NIST_RO_STAT3); - trng_server_csr.wo(utra::trng_server::NIST_RO_STAT3, foo); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT3_ADAP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT3_ADAP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT3_ADAP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT3_ADAP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT3_ADAP_B, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT3_FRESH); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT3_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT3_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT3_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT3_FRESH, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_RO_STAT3_REP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_RO_STAT3_REP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_RO_STAT3_REP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_RO_STAT3_REP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_RO_STAT3_REP_B, baz); - - let foo = trng_server_csr.r(utra::trng_server::NIST_AV_STAT0); - trng_server_csr.wo(utra::trng_server::NIST_AV_STAT0, foo); - let bar = trng_server_csr.rf(utra::trng_server::NIST_AV_STAT0_ADAP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_AV_STAT0_ADAP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_AV_STAT0_ADAP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_AV_STAT0_ADAP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_AV_STAT0_ADAP_B, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_AV_STAT0_FRESH); - trng_server_csr.rmwf(utra::trng_server::NIST_AV_STAT0_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_AV_STAT0_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_AV_STAT0_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::NIST_AV_STAT0_FRESH, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_AV_STAT0_REP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_AV_STAT0_REP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_AV_STAT0_REP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_AV_STAT0_REP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_AV_STAT0_REP_B, baz); - - let foo = trng_server_csr.r(utra::trng_server::NIST_AV_STAT1); - trng_server_csr.wo(utra::trng_server::NIST_AV_STAT1, foo); - let bar = trng_server_csr.rf(utra::trng_server::NIST_AV_STAT1_ADAP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_AV_STAT1_ADAP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_AV_STAT1_ADAP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_AV_STAT1_ADAP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_AV_STAT1_ADAP_B, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_AV_STAT1_FRESH); - trng_server_csr.rmwf(utra::trng_server::NIST_AV_STAT1_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_AV_STAT1_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_AV_STAT1_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::NIST_AV_STAT1_FRESH, baz); - let bar = trng_server_csr.rf(utra::trng_server::NIST_AV_STAT1_REP_B); - trng_server_csr.rmwf(utra::trng_server::NIST_AV_STAT1_REP_B, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::NIST_AV_STAT1_REP_B, bar); - baz |= trng_server_csr.ms(utra::trng_server::NIST_AV_STAT1_REP_B, 1); - trng_server_csr.wfo(utra::trng_server::NIST_AV_STAT1_REP_B, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUNSLIMIT1); - trng_server_csr.wo(utra::trng_server::RO_RUNSLIMIT1, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT1_MIN); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT1_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT1_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT1_MIN, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT1_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT1_MAX); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT1_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT1_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT1_MAX, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT1_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUNSLIMIT2); - trng_server_csr.wo(utra::trng_server::RO_RUNSLIMIT2, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT2_MIN); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT2_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT2_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT2_MIN, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT2_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT2_MAX); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT2_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT2_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT2_MAX, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT2_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUNSLIMIT3); - trng_server_csr.wo(utra::trng_server::RO_RUNSLIMIT3, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT3_MIN); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT3_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT3_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT3_MIN, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT3_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT3_MAX); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT3_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT3_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT3_MAX, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT3_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUNSLIMIT4); - trng_server_csr.wo(utra::trng_server::RO_RUNSLIMIT4, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT4_MIN); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT4_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT4_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT4_MIN, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT4_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUNSLIMIT4_MAX); - trng_server_csr.rmwf(utra::trng_server::RO_RUNSLIMIT4_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUNSLIMIT4_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUNSLIMIT4_MAX, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUNSLIMIT4_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN0_CTRL); - trng_server_csr.wo(utra::trng_server::RO_RUN0_CTRL, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN0_CTRL_WINDOW); - trng_server_csr.rmwf(utra::trng_server::RO_RUN0_CTRL_WINDOW, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN0_CTRL_WINDOW, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN0_CTRL_WINDOW, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN0_CTRL_WINDOW, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN0_FRESH); - trng_server_csr.wo(utra::trng_server::RO_RUN0_FRESH, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN0_FRESH_RO_RUN0_FRESH); - trng_server_csr.rmwf(utra::trng_server::RO_RUN0_FRESH_RO_RUN0_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN0_FRESH_RO_RUN0_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN0_FRESH_RO_RUN0_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN0_FRESH_RO_RUN0_FRESH, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN0_COUNT1); - trng_server_csr.wo(utra::trng_server::RO_RUN0_COUNT1, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN0_COUNT1_RO_RUN0_COUNT1); - trng_server_csr.rmwf(utra::trng_server::RO_RUN0_COUNT1_RO_RUN0_COUNT1, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN0_COUNT1_RO_RUN0_COUNT1, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN0_COUNT1_RO_RUN0_COUNT1, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN0_COUNT1_RO_RUN0_COUNT1, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN0_COUNT2); - trng_server_csr.wo(utra::trng_server::RO_RUN0_COUNT2, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN0_COUNT2_RO_RUN0_COUNT2); - trng_server_csr.rmwf(utra::trng_server::RO_RUN0_COUNT2_RO_RUN0_COUNT2, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN0_COUNT2_RO_RUN0_COUNT2, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN0_COUNT2_RO_RUN0_COUNT2, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN0_COUNT2_RO_RUN0_COUNT2, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN0_COUNT3); - trng_server_csr.wo(utra::trng_server::RO_RUN0_COUNT3, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN0_COUNT3_RO_RUN0_COUNT3); - trng_server_csr.rmwf(utra::trng_server::RO_RUN0_COUNT3_RO_RUN0_COUNT3, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN0_COUNT3_RO_RUN0_COUNT3, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN0_COUNT3_RO_RUN0_COUNT3, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN0_COUNT3_RO_RUN0_COUNT3, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN0_COUNT4); - trng_server_csr.wo(utra::trng_server::RO_RUN0_COUNT4, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN0_COUNT4_RO_RUN0_COUNT4); - trng_server_csr.rmwf(utra::trng_server::RO_RUN0_COUNT4_RO_RUN0_COUNT4, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN0_COUNT4_RO_RUN0_COUNT4, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN0_COUNT4_RO_RUN0_COUNT4, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN0_COUNT4_RO_RUN0_COUNT4, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN1_CTRL); - trng_server_csr.wo(utra::trng_server::RO_RUN1_CTRL, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN1_CTRL_WINDOW); - trng_server_csr.rmwf(utra::trng_server::RO_RUN1_CTRL_WINDOW, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN1_CTRL_WINDOW, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN1_CTRL_WINDOW, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN1_CTRL_WINDOW, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN1_FRESH); - trng_server_csr.wo(utra::trng_server::RO_RUN1_FRESH, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN1_FRESH_RO_RUN1_FRESH); - trng_server_csr.rmwf(utra::trng_server::RO_RUN1_FRESH_RO_RUN1_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN1_FRESH_RO_RUN1_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN1_FRESH_RO_RUN1_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN1_FRESH_RO_RUN1_FRESH, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN1_COUNT1); - trng_server_csr.wo(utra::trng_server::RO_RUN1_COUNT1, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN1_COUNT1_RO_RUN1_COUNT1); - trng_server_csr.rmwf(utra::trng_server::RO_RUN1_COUNT1_RO_RUN1_COUNT1, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN1_COUNT1_RO_RUN1_COUNT1, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN1_COUNT1_RO_RUN1_COUNT1, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN1_COUNT1_RO_RUN1_COUNT1, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN1_COUNT2); - trng_server_csr.wo(utra::trng_server::RO_RUN1_COUNT2, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN1_COUNT2_RO_RUN1_COUNT2); - trng_server_csr.rmwf(utra::trng_server::RO_RUN1_COUNT2_RO_RUN1_COUNT2, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN1_COUNT2_RO_RUN1_COUNT2, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN1_COUNT2_RO_RUN1_COUNT2, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN1_COUNT2_RO_RUN1_COUNT2, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN1_COUNT3); - trng_server_csr.wo(utra::trng_server::RO_RUN1_COUNT3, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN1_COUNT3_RO_RUN1_COUNT3); - trng_server_csr.rmwf(utra::trng_server::RO_RUN1_COUNT3_RO_RUN1_COUNT3, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN1_COUNT3_RO_RUN1_COUNT3, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN1_COUNT3_RO_RUN1_COUNT3, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN1_COUNT3_RO_RUN1_COUNT3, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN1_COUNT4); - trng_server_csr.wo(utra::trng_server::RO_RUN1_COUNT4, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN1_COUNT4_RO_RUN1_COUNT4); - trng_server_csr.rmwf(utra::trng_server::RO_RUN1_COUNT4_RO_RUN1_COUNT4, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN1_COUNT4_RO_RUN1_COUNT4, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN1_COUNT4_RO_RUN1_COUNT4, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN1_COUNT4_RO_RUN1_COUNT4, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN2_CTRL); - trng_server_csr.wo(utra::trng_server::RO_RUN2_CTRL, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN2_CTRL_WINDOW); - trng_server_csr.rmwf(utra::trng_server::RO_RUN2_CTRL_WINDOW, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN2_CTRL_WINDOW, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN2_CTRL_WINDOW, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN2_CTRL_WINDOW, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN2_FRESH); - trng_server_csr.wo(utra::trng_server::RO_RUN2_FRESH, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN2_FRESH_RO_RUN2_FRESH); - trng_server_csr.rmwf(utra::trng_server::RO_RUN2_FRESH_RO_RUN2_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN2_FRESH_RO_RUN2_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN2_FRESH_RO_RUN2_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN2_FRESH_RO_RUN2_FRESH, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN2_COUNT1); - trng_server_csr.wo(utra::trng_server::RO_RUN2_COUNT1, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN2_COUNT1_RO_RUN2_COUNT1); - trng_server_csr.rmwf(utra::trng_server::RO_RUN2_COUNT1_RO_RUN2_COUNT1, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN2_COUNT1_RO_RUN2_COUNT1, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN2_COUNT1_RO_RUN2_COUNT1, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN2_COUNT1_RO_RUN2_COUNT1, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN2_COUNT2); - trng_server_csr.wo(utra::trng_server::RO_RUN2_COUNT2, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN2_COUNT2_RO_RUN2_COUNT2); - trng_server_csr.rmwf(utra::trng_server::RO_RUN2_COUNT2_RO_RUN2_COUNT2, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN2_COUNT2_RO_RUN2_COUNT2, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN2_COUNT2_RO_RUN2_COUNT2, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN2_COUNT2_RO_RUN2_COUNT2, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN2_COUNT3); - trng_server_csr.wo(utra::trng_server::RO_RUN2_COUNT3, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN2_COUNT3_RO_RUN2_COUNT3); - trng_server_csr.rmwf(utra::trng_server::RO_RUN2_COUNT3_RO_RUN2_COUNT3, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN2_COUNT3_RO_RUN2_COUNT3, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN2_COUNT3_RO_RUN2_COUNT3, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN2_COUNT3_RO_RUN2_COUNT3, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN2_COUNT4); - trng_server_csr.wo(utra::trng_server::RO_RUN2_COUNT4, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN2_COUNT4_RO_RUN2_COUNT4); - trng_server_csr.rmwf(utra::trng_server::RO_RUN2_COUNT4_RO_RUN2_COUNT4, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN2_COUNT4_RO_RUN2_COUNT4, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN2_COUNT4_RO_RUN2_COUNT4, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN2_COUNT4_RO_RUN2_COUNT4, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN3_CTRL); - trng_server_csr.wo(utra::trng_server::RO_RUN3_CTRL, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN3_CTRL_WINDOW); - trng_server_csr.rmwf(utra::trng_server::RO_RUN3_CTRL_WINDOW, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN3_CTRL_WINDOW, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN3_CTRL_WINDOW, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN3_CTRL_WINDOW, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN3_FRESH); - trng_server_csr.wo(utra::trng_server::RO_RUN3_FRESH, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN3_FRESH_RO_RUN3_FRESH); - trng_server_csr.rmwf(utra::trng_server::RO_RUN3_FRESH_RO_RUN3_FRESH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN3_FRESH_RO_RUN3_FRESH, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN3_FRESH_RO_RUN3_FRESH, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN3_FRESH_RO_RUN3_FRESH, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN3_COUNT1); - trng_server_csr.wo(utra::trng_server::RO_RUN3_COUNT1, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN3_COUNT1_RO_RUN3_COUNT1); - trng_server_csr.rmwf(utra::trng_server::RO_RUN3_COUNT1_RO_RUN3_COUNT1, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN3_COUNT1_RO_RUN3_COUNT1, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN3_COUNT1_RO_RUN3_COUNT1, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN3_COUNT1_RO_RUN3_COUNT1, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN3_COUNT2); - trng_server_csr.wo(utra::trng_server::RO_RUN3_COUNT2, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN3_COUNT2_RO_RUN3_COUNT2); - trng_server_csr.rmwf(utra::trng_server::RO_RUN3_COUNT2_RO_RUN3_COUNT2, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN3_COUNT2_RO_RUN3_COUNT2, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN3_COUNT2_RO_RUN3_COUNT2, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN3_COUNT2_RO_RUN3_COUNT2, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN3_COUNT3); - trng_server_csr.wo(utra::trng_server::RO_RUN3_COUNT3, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN3_COUNT3_RO_RUN3_COUNT3); - trng_server_csr.rmwf(utra::trng_server::RO_RUN3_COUNT3_RO_RUN3_COUNT3, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN3_COUNT3_RO_RUN3_COUNT3, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN3_COUNT3_RO_RUN3_COUNT3, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN3_COUNT3_RO_RUN3_COUNT3, baz); - - let foo = trng_server_csr.r(utra::trng_server::RO_RUN3_COUNT4); - trng_server_csr.wo(utra::trng_server::RO_RUN3_COUNT4, foo); - let bar = trng_server_csr.rf(utra::trng_server::RO_RUN3_COUNT4_RO_RUN3_COUNT4); - trng_server_csr.rmwf(utra::trng_server::RO_RUN3_COUNT4_RO_RUN3_COUNT4, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::RO_RUN3_COUNT4_RO_RUN3_COUNT4, bar); - baz |= trng_server_csr.ms(utra::trng_server::RO_RUN3_COUNT4_RO_RUN3_COUNT4, 1); - trng_server_csr.wfo(utra::trng_server::RO_RUN3_COUNT4_RO_RUN3_COUNT4, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_EXCURSION0_CTRL); - trng_server_csr.wo(utra::trng_server::AV_EXCURSION0_CTRL, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION0_CTRL_CUTOFF); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION0_CTRL_CUTOFF, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION0_CTRL_CUTOFF, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION0_CTRL_CUTOFF, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION0_CTRL_CUTOFF, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION0_CTRL_RESET); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION0_CTRL_RESET, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION0_CTRL_RESET, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION0_CTRL_RESET, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION0_CTRL_RESET, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION0_CTRL_WINDOW); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION0_CTRL_WINDOW, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION0_CTRL_WINDOW, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION0_CTRL_WINDOW, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION0_CTRL_WINDOW, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_EXCURSION0_STAT); - trng_server_csr.wo(utra::trng_server::AV_EXCURSION0_STAT, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION0_STAT_MIN); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION0_STAT_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION0_STAT_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION0_STAT_MIN, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION0_STAT_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION0_STAT_MAX); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION0_STAT_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION0_STAT_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION0_STAT_MAX, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION0_STAT_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_EXCURSION0_LAST_ERR); - trng_server_csr.wo(utra::trng_server::AV_EXCURSION0_LAST_ERR, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION0_LAST_ERR_MIN); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION0_LAST_ERR_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION0_LAST_ERR_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION0_LAST_ERR_MIN, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION0_LAST_ERR_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION0_LAST_ERR_MAX); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION0_LAST_ERR_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION0_LAST_ERR_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION0_LAST_ERR_MAX, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION0_LAST_ERR_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_EXCURSION1_CTRL); - trng_server_csr.wo(utra::trng_server::AV_EXCURSION1_CTRL, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION1_CTRL_CUTOFF); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION1_CTRL_CUTOFF, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION1_CTRL_CUTOFF, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION1_CTRL_CUTOFF, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION1_CTRL_CUTOFF, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION1_CTRL_RESET); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION1_CTRL_RESET, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION1_CTRL_RESET, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION1_CTRL_RESET, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION1_CTRL_RESET, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION1_CTRL_WINDOW); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION1_CTRL_WINDOW, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION1_CTRL_WINDOW, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION1_CTRL_WINDOW, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION1_CTRL_WINDOW, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_EXCURSION1_STAT); - trng_server_csr.wo(utra::trng_server::AV_EXCURSION1_STAT, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION1_STAT_MIN); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION1_STAT_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION1_STAT_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION1_STAT_MIN, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION1_STAT_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION1_STAT_MAX); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION1_STAT_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION1_STAT_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION1_STAT_MAX, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION1_STAT_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::AV_EXCURSION1_LAST_ERR); - trng_server_csr.wo(utra::trng_server::AV_EXCURSION1_LAST_ERR, foo); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION1_LAST_ERR_MIN); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION1_LAST_ERR_MIN, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION1_LAST_ERR_MIN, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION1_LAST_ERR_MIN, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION1_LAST_ERR_MIN, baz); - let bar = trng_server_csr.rf(utra::trng_server::AV_EXCURSION1_LAST_ERR_MAX); - trng_server_csr.rmwf(utra::trng_server::AV_EXCURSION1_LAST_ERR_MAX, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::AV_EXCURSION1_LAST_ERR_MAX, bar); - baz |= trng_server_csr.ms(utra::trng_server::AV_EXCURSION1_LAST_ERR_MAX, 1); - trng_server_csr.wfo(utra::trng_server::AV_EXCURSION1_LAST_ERR_MAX, baz); - - let foo = trng_server_csr.r(utra::trng_server::READY); - trng_server_csr.wo(utra::trng_server::READY, foo); - let bar = trng_server_csr.rf(utra::trng_server::READY_AV_EXCURSION); - trng_server_csr.rmwf(utra::trng_server::READY_AV_EXCURSION, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::READY_AV_EXCURSION, bar); - baz |= trng_server_csr.ms(utra::trng_server::READY_AV_EXCURSION, 1); - trng_server_csr.wfo(utra::trng_server::READY_AV_EXCURSION, baz); - let bar = trng_server_csr.rf(utra::trng_server::READY_AV_ADAPROP); - trng_server_csr.rmwf(utra::trng_server::READY_AV_ADAPROP, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::READY_AV_ADAPROP, bar); - baz |= trng_server_csr.ms(utra::trng_server::READY_AV_ADAPROP, 1); - trng_server_csr.wfo(utra::trng_server::READY_AV_ADAPROP, baz); - let bar = trng_server_csr.rf(utra::trng_server::READY_RO_ADAPROP); - trng_server_csr.rmwf(utra::trng_server::READY_RO_ADAPROP, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::READY_RO_ADAPROP, bar); - baz |= trng_server_csr.ms(utra::trng_server::READY_RO_ADAPROP, 1); - trng_server_csr.wfo(utra::trng_server::READY_RO_ADAPROP, baz); - - let foo = trng_server_csr.r(utra::trng_server::EV_STATUS); - trng_server_csr.wo(utra::trng_server::EV_STATUS, foo); - let bar = trng_server_csr.rf(utra::trng_server::EV_STATUS_AVAIL); - trng_server_csr.rmwf(utra::trng_server::EV_STATUS_AVAIL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_STATUS_AVAIL, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_STATUS_AVAIL, 1); - trng_server_csr.wfo(utra::trng_server::EV_STATUS_AVAIL, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_STATUS_ERROR); - trng_server_csr.rmwf(utra::trng_server::EV_STATUS_ERROR, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_STATUS_ERROR, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_STATUS_ERROR, 1); - trng_server_csr.wfo(utra::trng_server::EV_STATUS_ERROR, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_STATUS_HEALTH); - trng_server_csr.rmwf(utra::trng_server::EV_STATUS_HEALTH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_STATUS_HEALTH, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_STATUS_HEALTH, 1); - trng_server_csr.wfo(utra::trng_server::EV_STATUS_HEALTH, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_STATUS_EXCURSION0); - trng_server_csr.rmwf(utra::trng_server::EV_STATUS_EXCURSION0, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_STATUS_EXCURSION0, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_STATUS_EXCURSION0, 1); - trng_server_csr.wfo(utra::trng_server::EV_STATUS_EXCURSION0, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_STATUS_EXCURSION1); - trng_server_csr.rmwf(utra::trng_server::EV_STATUS_EXCURSION1, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_STATUS_EXCURSION1, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_STATUS_EXCURSION1, 1); - trng_server_csr.wfo(utra::trng_server::EV_STATUS_EXCURSION1, baz); - - let foo = trng_server_csr.r(utra::trng_server::EV_PENDING); - trng_server_csr.wo(utra::trng_server::EV_PENDING, foo); - let bar = trng_server_csr.rf(utra::trng_server::EV_PENDING_AVAIL); - trng_server_csr.rmwf(utra::trng_server::EV_PENDING_AVAIL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_PENDING_AVAIL, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_PENDING_AVAIL, 1); - trng_server_csr.wfo(utra::trng_server::EV_PENDING_AVAIL, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_PENDING_ERROR); - trng_server_csr.rmwf(utra::trng_server::EV_PENDING_ERROR, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_PENDING_ERROR, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_PENDING_ERROR, 1); - trng_server_csr.wfo(utra::trng_server::EV_PENDING_ERROR, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_PENDING_HEALTH); - trng_server_csr.rmwf(utra::trng_server::EV_PENDING_HEALTH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_PENDING_HEALTH, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_PENDING_HEALTH, 1); - trng_server_csr.wfo(utra::trng_server::EV_PENDING_HEALTH, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_PENDING_EXCURSION0); - trng_server_csr.rmwf(utra::trng_server::EV_PENDING_EXCURSION0, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_PENDING_EXCURSION0, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_PENDING_EXCURSION0, 1); - trng_server_csr.wfo(utra::trng_server::EV_PENDING_EXCURSION0, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_PENDING_EXCURSION1); - trng_server_csr.rmwf(utra::trng_server::EV_PENDING_EXCURSION1, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_PENDING_EXCURSION1, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_PENDING_EXCURSION1, 1); - trng_server_csr.wfo(utra::trng_server::EV_PENDING_EXCURSION1, baz); - - let foo = trng_server_csr.r(utra::trng_server::EV_ENABLE); - trng_server_csr.wo(utra::trng_server::EV_ENABLE, foo); - let bar = trng_server_csr.rf(utra::trng_server::EV_ENABLE_AVAIL); - trng_server_csr.rmwf(utra::trng_server::EV_ENABLE_AVAIL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_ENABLE_AVAIL, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_ENABLE_AVAIL, 1); - trng_server_csr.wfo(utra::trng_server::EV_ENABLE_AVAIL, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_ENABLE_ERROR); - trng_server_csr.rmwf(utra::trng_server::EV_ENABLE_ERROR, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_ENABLE_ERROR, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_ENABLE_ERROR, 1); - trng_server_csr.wfo(utra::trng_server::EV_ENABLE_ERROR, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_ENABLE_HEALTH); - trng_server_csr.rmwf(utra::trng_server::EV_ENABLE_HEALTH, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_ENABLE_HEALTH, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_ENABLE_HEALTH, 1); - trng_server_csr.wfo(utra::trng_server::EV_ENABLE_HEALTH, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_ENABLE_EXCURSION0); - trng_server_csr.rmwf(utra::trng_server::EV_ENABLE_EXCURSION0, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_ENABLE_EXCURSION0, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_ENABLE_EXCURSION0, 1); - trng_server_csr.wfo(utra::trng_server::EV_ENABLE_EXCURSION0, baz); - let bar = trng_server_csr.rf(utra::trng_server::EV_ENABLE_EXCURSION1); - trng_server_csr.rmwf(utra::trng_server::EV_ENABLE_EXCURSION1, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::EV_ENABLE_EXCURSION1, bar); - baz |= trng_server_csr.ms(utra::trng_server::EV_ENABLE_EXCURSION1, 1); - trng_server_csr.wfo(utra::trng_server::EV_ENABLE_EXCURSION1, baz); - - let foo = trng_server_csr.r(utra::trng_server::CHACHA); - trng_server_csr.wo(utra::trng_server::CHACHA, foo); - let bar = trng_server_csr.rf(utra::trng_server::CHACHA_RESEED_INTERVAL); - trng_server_csr.rmwf(utra::trng_server::CHACHA_RESEED_INTERVAL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CHACHA_RESEED_INTERVAL, bar); - baz |= trng_server_csr.ms(utra::trng_server::CHACHA_RESEED_INTERVAL, 1); - trng_server_csr.wfo(utra::trng_server::CHACHA_RESEED_INTERVAL, baz); - let bar = trng_server_csr.rf(utra::trng_server::CHACHA_SELFMIX_INTERVAL); - trng_server_csr.rmwf(utra::trng_server::CHACHA_SELFMIX_INTERVAL, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CHACHA_SELFMIX_INTERVAL, bar); - baz |= trng_server_csr.ms(utra::trng_server::CHACHA_SELFMIX_INTERVAL, 1); - trng_server_csr.wfo(utra::trng_server::CHACHA_SELFMIX_INTERVAL, baz); - let bar = trng_server_csr.rf(utra::trng_server::CHACHA_SELFMIX_ENA); - trng_server_csr.rmwf(utra::trng_server::CHACHA_SELFMIX_ENA, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::CHACHA_SELFMIX_ENA, bar); - baz |= trng_server_csr.ms(utra::trng_server::CHACHA_SELFMIX_ENA, 1); - trng_server_csr.wfo(utra::trng_server::CHACHA_SELFMIX_ENA, baz); - - let foo = trng_server_csr.r(utra::trng_server::SEED); - trng_server_csr.wo(utra::trng_server::SEED, foo); - let bar = trng_server_csr.rf(utra::trng_server::SEED_SEED); - trng_server_csr.rmwf(utra::trng_server::SEED_SEED, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::SEED_SEED, bar); - baz |= trng_server_csr.ms(utra::trng_server::SEED_SEED, 1); - trng_server_csr.wfo(utra::trng_server::SEED_SEED, baz); - - let foo = trng_server_csr.r(utra::trng_server::URANDOM); - trng_server_csr.wo(utra::trng_server::URANDOM, foo); - let bar = trng_server_csr.rf(utra::trng_server::URANDOM_URANDOM); - trng_server_csr.rmwf(utra::trng_server::URANDOM_URANDOM, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::URANDOM_URANDOM, bar); - baz |= trng_server_csr.ms(utra::trng_server::URANDOM_URANDOM, 1); - trng_server_csr.wfo(utra::trng_server::URANDOM_URANDOM, baz); - - let foo = trng_server_csr.r(utra::trng_server::URANDOM_VALID); - trng_server_csr.wo(utra::trng_server::URANDOM_VALID, foo); - let bar = trng_server_csr.rf(utra::trng_server::URANDOM_VALID_URANDOM_VALID); - trng_server_csr.rmwf(utra::trng_server::URANDOM_VALID_URANDOM_VALID, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::URANDOM_VALID_URANDOM_VALID, bar); - baz |= trng_server_csr.ms(utra::trng_server::URANDOM_VALID_URANDOM_VALID, 1); - trng_server_csr.wfo(utra::trng_server::URANDOM_VALID_URANDOM_VALID, baz); - - let foo = trng_server_csr.r(utra::trng_server::TEST); - trng_server_csr.wo(utra::trng_server::TEST, foo); - let bar = trng_server_csr.rf(utra::trng_server::TEST_SIMULTANEOUS); - trng_server_csr.rmwf(utra::trng_server::TEST_SIMULTANEOUS, bar); - let mut baz = trng_server_csr.zf(utra::trng_server::TEST_SIMULTANEOUS, bar); - baz |= trng_server_csr.ms(utra::trng_server::TEST_SIMULTANEOUS, 1); - trng_server_csr.wfo(utra::trng_server::TEST_SIMULTANEOUS, baz); - } - - #[test] - #[ignore] - fn compile_check_trng_csr() { - use super::*; let mut trng_csr = CSR::new(HW_TRNG_BASE as *mut u32); - - let foo = trng_csr.r(utra::trng::XADC_TEMPERATURE); - trng_csr.wo(utra::trng::XADC_TEMPERATURE, foo); - let bar = trng_csr.rf(utra::trng::XADC_TEMPERATURE_XADC_TEMPERATURE); - trng_csr.rmwf(utra::trng::XADC_TEMPERATURE_XADC_TEMPERATURE, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_TEMPERATURE_XADC_TEMPERATURE, bar); - baz |= trng_csr.ms(utra::trng::XADC_TEMPERATURE_XADC_TEMPERATURE, 1); - trng_csr.wfo(utra::trng::XADC_TEMPERATURE_XADC_TEMPERATURE, baz); - - let foo = trng_csr.r(utra::trng::XADC_VCCINT); - trng_csr.wo(utra::trng::XADC_VCCINT, foo); - let bar = trng_csr.rf(utra::trng::XADC_VCCINT_XADC_VCCINT); - trng_csr.rmwf(utra::trng::XADC_VCCINT_XADC_VCCINT, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_VCCINT_XADC_VCCINT, bar); - baz |= trng_csr.ms(utra::trng::XADC_VCCINT_XADC_VCCINT, 1); - trng_csr.wfo(utra::trng::XADC_VCCINT_XADC_VCCINT, baz); - - let foo = trng_csr.r(utra::trng::XADC_VCCAUX); - trng_csr.wo(utra::trng::XADC_VCCAUX, foo); - let bar = trng_csr.rf(utra::trng::XADC_VCCAUX_XADC_VCCAUX); - trng_csr.rmwf(utra::trng::XADC_VCCAUX_XADC_VCCAUX, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_VCCAUX_XADC_VCCAUX, bar); - baz |= trng_csr.ms(utra::trng::XADC_VCCAUX_XADC_VCCAUX, 1); - trng_csr.wfo(utra::trng::XADC_VCCAUX_XADC_VCCAUX, baz); - - let foo = trng_csr.r(utra::trng::XADC_VCCBRAM); - trng_csr.wo(utra::trng::XADC_VCCBRAM, foo); - let bar = trng_csr.rf(utra::trng::XADC_VCCBRAM_XADC_VCCBRAM); - trng_csr.rmwf(utra::trng::XADC_VCCBRAM_XADC_VCCBRAM, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_VCCBRAM_XADC_VCCBRAM, bar); - baz |= trng_csr.ms(utra::trng::XADC_VCCBRAM_XADC_VCCBRAM, 1); - trng_csr.wfo(utra::trng::XADC_VCCBRAM_XADC_VCCBRAM, baz); - - let foo = trng_csr.r(utra::trng::XADC_VBUS); - trng_csr.wo(utra::trng::XADC_VBUS, foo); - let bar = trng_csr.rf(utra::trng::XADC_VBUS_XADC_VBUS); - trng_csr.rmwf(utra::trng::XADC_VBUS_XADC_VBUS, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_VBUS_XADC_VBUS, bar); - baz |= trng_csr.ms(utra::trng::XADC_VBUS_XADC_VBUS, 1); - trng_csr.wfo(utra::trng::XADC_VBUS_XADC_VBUS, baz); - - let foo = trng_csr.r(utra::trng::XADC_USB_P); - trng_csr.wo(utra::trng::XADC_USB_P, foo); - let bar = trng_csr.rf(utra::trng::XADC_USB_P_XADC_USB_P); - trng_csr.rmwf(utra::trng::XADC_USB_P_XADC_USB_P, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_USB_P_XADC_USB_P, bar); - baz |= trng_csr.ms(utra::trng::XADC_USB_P_XADC_USB_P, 1); - trng_csr.wfo(utra::trng::XADC_USB_P_XADC_USB_P, baz); - - let foo = trng_csr.r(utra::trng::XADC_USB_N); - trng_csr.wo(utra::trng::XADC_USB_N, foo); - let bar = trng_csr.rf(utra::trng::XADC_USB_N_XADC_USB_N); - trng_csr.rmwf(utra::trng::XADC_USB_N_XADC_USB_N, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_USB_N_XADC_USB_N, bar); - baz |= trng_csr.ms(utra::trng::XADC_USB_N_XADC_USB_N, 1); - trng_csr.wfo(utra::trng::XADC_USB_N_XADC_USB_N, baz); - - let foo = trng_csr.r(utra::trng::XADC_NOISE0); - trng_csr.wo(utra::trng::XADC_NOISE0, foo); - let bar = trng_csr.rf(utra::trng::XADC_NOISE0_XADC_NOISE0); - trng_csr.rmwf(utra::trng::XADC_NOISE0_XADC_NOISE0, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_NOISE0_XADC_NOISE0, bar); - baz |= trng_csr.ms(utra::trng::XADC_NOISE0_XADC_NOISE0, 1); - trng_csr.wfo(utra::trng::XADC_NOISE0_XADC_NOISE0, baz); - - let foo = trng_csr.r(utra::trng::XADC_NOISE1); - trng_csr.wo(utra::trng::XADC_NOISE1, foo); - let bar = trng_csr.rf(utra::trng::XADC_NOISE1_XADC_NOISE1); - trng_csr.rmwf(utra::trng::XADC_NOISE1_XADC_NOISE1, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_NOISE1_XADC_NOISE1, bar); - baz |= trng_csr.ms(utra::trng::XADC_NOISE1_XADC_NOISE1, 1); - trng_csr.wfo(utra::trng::XADC_NOISE1_XADC_NOISE1, baz); - - let foo = trng_csr.r(utra::trng::XADC_EOC); - trng_csr.wo(utra::trng::XADC_EOC, foo); - let bar = trng_csr.rf(utra::trng::XADC_EOC_XADC_EOC); - trng_csr.rmwf(utra::trng::XADC_EOC_XADC_EOC, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_EOC_XADC_EOC, bar); - baz |= trng_csr.ms(utra::trng::XADC_EOC_XADC_EOC, 1); - trng_csr.wfo(utra::trng::XADC_EOC_XADC_EOC, baz); - - let foo = trng_csr.r(utra::trng::XADC_EOS); - trng_csr.wo(utra::trng::XADC_EOS, foo); - let bar = trng_csr.rf(utra::trng::XADC_EOS_XADC_EOS); - trng_csr.rmwf(utra::trng::XADC_EOS_XADC_EOS, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_EOS_XADC_EOS, bar); - baz |= trng_csr.ms(utra::trng::XADC_EOS_XADC_EOS, 1); - trng_csr.wfo(utra::trng::XADC_EOS_XADC_EOS, baz); - - let foo = trng_csr.r(utra::trng::XADC_GPIO5); - trng_csr.wo(utra::trng::XADC_GPIO5, foo); - let bar = trng_csr.rf(utra::trng::XADC_GPIO5_XADC_GPIO5); - trng_csr.rmwf(utra::trng::XADC_GPIO5_XADC_GPIO5, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_GPIO5_XADC_GPIO5, bar); - baz |= trng_csr.ms(utra::trng::XADC_GPIO5_XADC_GPIO5, 1); - trng_csr.wfo(utra::trng::XADC_GPIO5_XADC_GPIO5, baz); - - let foo = trng_csr.r(utra::trng::XADC_GPIO2); - trng_csr.wo(utra::trng::XADC_GPIO2, foo); - let bar = trng_csr.rf(utra::trng::XADC_GPIO2_XADC_GPIO2); - trng_csr.rmwf(utra::trng::XADC_GPIO2_XADC_GPIO2, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_GPIO2_XADC_GPIO2, bar); - baz |= trng_csr.ms(utra::trng::XADC_GPIO2_XADC_GPIO2, 1); - trng_csr.wfo(utra::trng::XADC_GPIO2_XADC_GPIO2, baz); - - let foo = trng_csr.r(utra::trng::XADC_DRP_ENABLE); - trng_csr.wo(utra::trng::XADC_DRP_ENABLE, foo); - let bar = trng_csr.rf(utra::trng::XADC_DRP_ENABLE_XADC_DRP_ENABLE); - trng_csr.rmwf(utra::trng::XADC_DRP_ENABLE_XADC_DRP_ENABLE, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_DRP_ENABLE_XADC_DRP_ENABLE, bar); - baz |= trng_csr.ms(utra::trng::XADC_DRP_ENABLE_XADC_DRP_ENABLE, 1); - trng_csr.wfo(utra::trng::XADC_DRP_ENABLE_XADC_DRP_ENABLE, baz); - - let foo = trng_csr.r(utra::trng::XADC_DRP_READ); - trng_csr.wo(utra::trng::XADC_DRP_READ, foo); - let bar = trng_csr.rf(utra::trng::XADC_DRP_READ_XADC_DRP_READ); - trng_csr.rmwf(utra::trng::XADC_DRP_READ_XADC_DRP_READ, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_DRP_READ_XADC_DRP_READ, bar); - baz |= trng_csr.ms(utra::trng::XADC_DRP_READ_XADC_DRP_READ, 1); - trng_csr.wfo(utra::trng::XADC_DRP_READ_XADC_DRP_READ, baz); - - let foo = trng_csr.r(utra::trng::XADC_DRP_WRITE); - trng_csr.wo(utra::trng::XADC_DRP_WRITE, foo); - let bar = trng_csr.rf(utra::trng::XADC_DRP_WRITE_XADC_DRP_WRITE); - trng_csr.rmwf(utra::trng::XADC_DRP_WRITE_XADC_DRP_WRITE, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_DRP_WRITE_XADC_DRP_WRITE, bar); - baz |= trng_csr.ms(utra::trng::XADC_DRP_WRITE_XADC_DRP_WRITE, 1); - trng_csr.wfo(utra::trng::XADC_DRP_WRITE_XADC_DRP_WRITE, baz); - - let foo = trng_csr.r(utra::trng::XADC_DRP_DRDY); - trng_csr.wo(utra::trng::XADC_DRP_DRDY, foo); - let bar = trng_csr.rf(utra::trng::XADC_DRP_DRDY_XADC_DRP_DRDY); - trng_csr.rmwf(utra::trng::XADC_DRP_DRDY_XADC_DRP_DRDY, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_DRP_DRDY_XADC_DRP_DRDY, bar); - baz |= trng_csr.ms(utra::trng::XADC_DRP_DRDY_XADC_DRP_DRDY, 1); - trng_csr.wfo(utra::trng::XADC_DRP_DRDY_XADC_DRP_DRDY, baz); - - let foo = trng_csr.r(utra::trng::XADC_DRP_ADR); - trng_csr.wo(utra::trng::XADC_DRP_ADR, foo); - let bar = trng_csr.rf(utra::trng::XADC_DRP_ADR_XADC_DRP_ADR); - trng_csr.rmwf(utra::trng::XADC_DRP_ADR_XADC_DRP_ADR, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_DRP_ADR_XADC_DRP_ADR, bar); - baz |= trng_csr.ms(utra::trng::XADC_DRP_ADR_XADC_DRP_ADR, 1); - trng_csr.wfo(utra::trng::XADC_DRP_ADR_XADC_DRP_ADR, baz); - - let foo = trng_csr.r(utra::trng::XADC_DRP_DAT_W); - trng_csr.wo(utra::trng::XADC_DRP_DAT_W, foo); - let bar = trng_csr.rf(utra::trng::XADC_DRP_DAT_W_XADC_DRP_DAT_W); - trng_csr.rmwf(utra::trng::XADC_DRP_DAT_W_XADC_DRP_DAT_W, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_DRP_DAT_W_XADC_DRP_DAT_W, bar); - baz |= trng_csr.ms(utra::trng::XADC_DRP_DAT_W_XADC_DRP_DAT_W, 1); - trng_csr.wfo(utra::trng::XADC_DRP_DAT_W_XADC_DRP_DAT_W, baz); - - let foo = trng_csr.r(utra::trng::XADC_DRP_DAT_R); - trng_csr.wo(utra::trng::XADC_DRP_DAT_R, foo); - let bar = trng_csr.rf(utra::trng::XADC_DRP_DAT_R_XADC_DRP_DAT_R); - trng_csr.rmwf(utra::trng::XADC_DRP_DAT_R_XADC_DRP_DAT_R, bar); - let mut baz = trng_csr.zf(utra::trng::XADC_DRP_DAT_R_XADC_DRP_DAT_R, bar); - baz |= trng_csr.ms(utra::trng::XADC_DRP_DAT_R_XADC_DRP_DAT_R, 1); - trng_csr.wfo(utra::trng::XADC_DRP_DAT_R_XADC_DRP_DAT_R, baz); - } - - #[test] - #[ignore] - fn compile_check_sha512_csr() { - use super::*; let mut sha512_csr = CSR::new(HW_SHA512_BASE as *mut u32); - - let foo = sha512_csr.r(utra::sha512::POWER); - sha512_csr.wo(utra::sha512::POWER, foo); - let bar = sha512_csr.rf(utra::sha512::POWER_ON); - sha512_csr.rmwf(utra::sha512::POWER_ON, bar); - let mut baz = sha512_csr.zf(utra::sha512::POWER_ON, bar); - baz |= sha512_csr.ms(utra::sha512::POWER_ON, 1); - sha512_csr.wfo(utra::sha512::POWER_ON, baz); - - let foo = sha512_csr.r(utra::sha512::CONFIG); - sha512_csr.wo(utra::sha512::CONFIG, foo); - let bar = sha512_csr.rf(utra::sha512::CONFIG_SHA_EN); - sha512_csr.rmwf(utra::sha512::CONFIG_SHA_EN, bar); - let mut baz = sha512_csr.zf(utra::sha512::CONFIG_SHA_EN, bar); - baz |= sha512_csr.ms(utra::sha512::CONFIG_SHA_EN, 1); - sha512_csr.wfo(utra::sha512::CONFIG_SHA_EN, baz); - let bar = sha512_csr.rf(utra::sha512::CONFIG_ENDIAN_SWAP); - sha512_csr.rmwf(utra::sha512::CONFIG_ENDIAN_SWAP, bar); - let mut baz = sha512_csr.zf(utra::sha512::CONFIG_ENDIAN_SWAP, bar); - baz |= sha512_csr.ms(utra::sha512::CONFIG_ENDIAN_SWAP, 1); - sha512_csr.wfo(utra::sha512::CONFIG_ENDIAN_SWAP, baz); - let bar = sha512_csr.rf(utra::sha512::CONFIG_DIGEST_SWAP); - sha512_csr.rmwf(utra::sha512::CONFIG_DIGEST_SWAP, bar); - let mut baz = sha512_csr.zf(utra::sha512::CONFIG_DIGEST_SWAP, bar); - baz |= sha512_csr.ms(utra::sha512::CONFIG_DIGEST_SWAP, 1); - sha512_csr.wfo(utra::sha512::CONFIG_DIGEST_SWAP, baz); - let bar = sha512_csr.rf(utra::sha512::CONFIG_SELECT_256); - sha512_csr.rmwf(utra::sha512::CONFIG_SELECT_256, bar); - let mut baz = sha512_csr.zf(utra::sha512::CONFIG_SELECT_256, bar); - baz |= sha512_csr.ms(utra::sha512::CONFIG_SELECT_256, 1); - sha512_csr.wfo(utra::sha512::CONFIG_SELECT_256, baz); - let bar = sha512_csr.rf(utra::sha512::CONFIG_RESET); - sha512_csr.rmwf(utra::sha512::CONFIG_RESET, bar); - let mut baz = sha512_csr.zf(utra::sha512::CONFIG_RESET, bar); - baz |= sha512_csr.ms(utra::sha512::CONFIG_RESET, 1); - sha512_csr.wfo(utra::sha512::CONFIG_RESET, baz); - - let foo = sha512_csr.r(utra::sha512::COMMAND); - sha512_csr.wo(utra::sha512::COMMAND, foo); - let bar = sha512_csr.rf(utra::sha512::COMMAND_HASH_START); - sha512_csr.rmwf(utra::sha512::COMMAND_HASH_START, bar); - let mut baz = sha512_csr.zf(utra::sha512::COMMAND_HASH_START, bar); - baz |= sha512_csr.ms(utra::sha512::COMMAND_HASH_START, 1); - sha512_csr.wfo(utra::sha512::COMMAND_HASH_START, baz); - let bar = sha512_csr.rf(utra::sha512::COMMAND_HASH_PROCESS); - sha512_csr.rmwf(utra::sha512::COMMAND_HASH_PROCESS, bar); - let mut baz = sha512_csr.zf(utra::sha512::COMMAND_HASH_PROCESS, bar); - baz |= sha512_csr.ms(utra::sha512::COMMAND_HASH_PROCESS, 1); - sha512_csr.wfo(utra::sha512::COMMAND_HASH_PROCESS, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST01); - sha512_csr.wo(utra::sha512::DIGEST01, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST01_DIGEST0); - sha512_csr.rmwf(utra::sha512::DIGEST01_DIGEST0, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST01_DIGEST0, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST01_DIGEST0, 1); - sha512_csr.wfo(utra::sha512::DIGEST01_DIGEST0, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST00); - sha512_csr.wo(utra::sha512::DIGEST00, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST00_DIGEST0); - sha512_csr.rmwf(utra::sha512::DIGEST00_DIGEST0, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST00_DIGEST0, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST00_DIGEST0, 1); - sha512_csr.wfo(utra::sha512::DIGEST00_DIGEST0, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST11); - sha512_csr.wo(utra::sha512::DIGEST11, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST11_DIGEST1); - sha512_csr.rmwf(utra::sha512::DIGEST11_DIGEST1, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST11_DIGEST1, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST11_DIGEST1, 1); - sha512_csr.wfo(utra::sha512::DIGEST11_DIGEST1, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST10); - sha512_csr.wo(utra::sha512::DIGEST10, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST10_DIGEST1); - sha512_csr.rmwf(utra::sha512::DIGEST10_DIGEST1, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST10_DIGEST1, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST10_DIGEST1, 1); - sha512_csr.wfo(utra::sha512::DIGEST10_DIGEST1, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST21); - sha512_csr.wo(utra::sha512::DIGEST21, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST21_DIGEST2); - sha512_csr.rmwf(utra::sha512::DIGEST21_DIGEST2, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST21_DIGEST2, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST21_DIGEST2, 1); - sha512_csr.wfo(utra::sha512::DIGEST21_DIGEST2, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST20); - sha512_csr.wo(utra::sha512::DIGEST20, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST20_DIGEST2); - sha512_csr.rmwf(utra::sha512::DIGEST20_DIGEST2, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST20_DIGEST2, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST20_DIGEST2, 1); - sha512_csr.wfo(utra::sha512::DIGEST20_DIGEST2, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST31); - sha512_csr.wo(utra::sha512::DIGEST31, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST31_DIGEST3); - sha512_csr.rmwf(utra::sha512::DIGEST31_DIGEST3, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST31_DIGEST3, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST31_DIGEST3, 1); - sha512_csr.wfo(utra::sha512::DIGEST31_DIGEST3, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST30); - sha512_csr.wo(utra::sha512::DIGEST30, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST30_DIGEST3); - sha512_csr.rmwf(utra::sha512::DIGEST30_DIGEST3, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST30_DIGEST3, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST30_DIGEST3, 1); - sha512_csr.wfo(utra::sha512::DIGEST30_DIGEST3, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST41); - sha512_csr.wo(utra::sha512::DIGEST41, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST41_DIGEST4); - sha512_csr.rmwf(utra::sha512::DIGEST41_DIGEST4, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST41_DIGEST4, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST41_DIGEST4, 1); - sha512_csr.wfo(utra::sha512::DIGEST41_DIGEST4, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST40); - sha512_csr.wo(utra::sha512::DIGEST40, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST40_DIGEST4); - sha512_csr.rmwf(utra::sha512::DIGEST40_DIGEST4, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST40_DIGEST4, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST40_DIGEST4, 1); - sha512_csr.wfo(utra::sha512::DIGEST40_DIGEST4, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST51); - sha512_csr.wo(utra::sha512::DIGEST51, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST51_DIGEST5); - sha512_csr.rmwf(utra::sha512::DIGEST51_DIGEST5, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST51_DIGEST5, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST51_DIGEST5, 1); - sha512_csr.wfo(utra::sha512::DIGEST51_DIGEST5, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST50); - sha512_csr.wo(utra::sha512::DIGEST50, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST50_DIGEST5); - sha512_csr.rmwf(utra::sha512::DIGEST50_DIGEST5, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST50_DIGEST5, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST50_DIGEST5, 1); - sha512_csr.wfo(utra::sha512::DIGEST50_DIGEST5, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST61); - sha512_csr.wo(utra::sha512::DIGEST61, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST61_DIGEST6); - sha512_csr.rmwf(utra::sha512::DIGEST61_DIGEST6, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST61_DIGEST6, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST61_DIGEST6, 1); - sha512_csr.wfo(utra::sha512::DIGEST61_DIGEST6, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST60); - sha512_csr.wo(utra::sha512::DIGEST60, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST60_DIGEST6); - sha512_csr.rmwf(utra::sha512::DIGEST60_DIGEST6, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST60_DIGEST6, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST60_DIGEST6, 1); - sha512_csr.wfo(utra::sha512::DIGEST60_DIGEST6, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST71); - sha512_csr.wo(utra::sha512::DIGEST71, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST71_DIGEST7); - sha512_csr.rmwf(utra::sha512::DIGEST71_DIGEST7, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST71_DIGEST7, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST71_DIGEST7, 1); - sha512_csr.wfo(utra::sha512::DIGEST71_DIGEST7, baz); - - let foo = sha512_csr.r(utra::sha512::DIGEST70); - sha512_csr.wo(utra::sha512::DIGEST70, foo); - let bar = sha512_csr.rf(utra::sha512::DIGEST70_DIGEST7); - sha512_csr.rmwf(utra::sha512::DIGEST70_DIGEST7, bar); - let mut baz = sha512_csr.zf(utra::sha512::DIGEST70_DIGEST7, bar); - baz |= sha512_csr.ms(utra::sha512::DIGEST70_DIGEST7, 1); - sha512_csr.wfo(utra::sha512::DIGEST70_DIGEST7, baz); - - let foo = sha512_csr.r(utra::sha512::MSG_LENGTH1); - sha512_csr.wo(utra::sha512::MSG_LENGTH1, foo); - let bar = sha512_csr.rf(utra::sha512::MSG_LENGTH1_MSG_LENGTH); - sha512_csr.rmwf(utra::sha512::MSG_LENGTH1_MSG_LENGTH, bar); - let mut baz = sha512_csr.zf(utra::sha512::MSG_LENGTH1_MSG_LENGTH, bar); - baz |= sha512_csr.ms(utra::sha512::MSG_LENGTH1_MSG_LENGTH, 1); - sha512_csr.wfo(utra::sha512::MSG_LENGTH1_MSG_LENGTH, baz); - - let foo = sha512_csr.r(utra::sha512::MSG_LENGTH0); - sha512_csr.wo(utra::sha512::MSG_LENGTH0, foo); - let bar = sha512_csr.rf(utra::sha512::MSG_LENGTH0_MSG_LENGTH); - sha512_csr.rmwf(utra::sha512::MSG_LENGTH0_MSG_LENGTH, bar); - let mut baz = sha512_csr.zf(utra::sha512::MSG_LENGTH0_MSG_LENGTH, bar); - baz |= sha512_csr.ms(utra::sha512::MSG_LENGTH0_MSG_LENGTH, 1); - sha512_csr.wfo(utra::sha512::MSG_LENGTH0_MSG_LENGTH, baz); - - let foo = sha512_csr.r(utra::sha512::EV_STATUS); - sha512_csr.wo(utra::sha512::EV_STATUS, foo); - let bar = sha512_csr.rf(utra::sha512::EV_STATUS_ERR_VALID); - sha512_csr.rmwf(utra::sha512::EV_STATUS_ERR_VALID, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_STATUS_ERR_VALID, bar); - baz |= sha512_csr.ms(utra::sha512::EV_STATUS_ERR_VALID, 1); - sha512_csr.wfo(utra::sha512::EV_STATUS_ERR_VALID, baz); - let bar = sha512_csr.rf(utra::sha512::EV_STATUS_FIFO_FULL); - sha512_csr.rmwf(utra::sha512::EV_STATUS_FIFO_FULL, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_STATUS_FIFO_FULL, bar); - baz |= sha512_csr.ms(utra::sha512::EV_STATUS_FIFO_FULL, 1); - sha512_csr.wfo(utra::sha512::EV_STATUS_FIFO_FULL, baz); - let bar = sha512_csr.rf(utra::sha512::EV_STATUS_SHA512_DONE); - sha512_csr.rmwf(utra::sha512::EV_STATUS_SHA512_DONE, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_STATUS_SHA512_DONE, bar); - baz |= sha512_csr.ms(utra::sha512::EV_STATUS_SHA512_DONE, 1); - sha512_csr.wfo(utra::sha512::EV_STATUS_SHA512_DONE, baz); - - let foo = sha512_csr.r(utra::sha512::EV_PENDING); - sha512_csr.wo(utra::sha512::EV_PENDING, foo); - let bar = sha512_csr.rf(utra::sha512::EV_PENDING_ERR_VALID); - sha512_csr.rmwf(utra::sha512::EV_PENDING_ERR_VALID, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_PENDING_ERR_VALID, bar); - baz |= sha512_csr.ms(utra::sha512::EV_PENDING_ERR_VALID, 1); - sha512_csr.wfo(utra::sha512::EV_PENDING_ERR_VALID, baz); - let bar = sha512_csr.rf(utra::sha512::EV_PENDING_FIFO_FULL); - sha512_csr.rmwf(utra::sha512::EV_PENDING_FIFO_FULL, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_PENDING_FIFO_FULL, bar); - baz |= sha512_csr.ms(utra::sha512::EV_PENDING_FIFO_FULL, 1); - sha512_csr.wfo(utra::sha512::EV_PENDING_FIFO_FULL, baz); - let bar = sha512_csr.rf(utra::sha512::EV_PENDING_SHA512_DONE); - sha512_csr.rmwf(utra::sha512::EV_PENDING_SHA512_DONE, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_PENDING_SHA512_DONE, bar); - baz |= sha512_csr.ms(utra::sha512::EV_PENDING_SHA512_DONE, 1); - sha512_csr.wfo(utra::sha512::EV_PENDING_SHA512_DONE, baz); - - let foo = sha512_csr.r(utra::sha512::EV_ENABLE); - sha512_csr.wo(utra::sha512::EV_ENABLE, foo); - let bar = sha512_csr.rf(utra::sha512::EV_ENABLE_ERR_VALID); - sha512_csr.rmwf(utra::sha512::EV_ENABLE_ERR_VALID, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_ENABLE_ERR_VALID, bar); - baz |= sha512_csr.ms(utra::sha512::EV_ENABLE_ERR_VALID, 1); - sha512_csr.wfo(utra::sha512::EV_ENABLE_ERR_VALID, baz); - let bar = sha512_csr.rf(utra::sha512::EV_ENABLE_FIFO_FULL); - sha512_csr.rmwf(utra::sha512::EV_ENABLE_FIFO_FULL, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_ENABLE_FIFO_FULL, bar); - baz |= sha512_csr.ms(utra::sha512::EV_ENABLE_FIFO_FULL, 1); - sha512_csr.wfo(utra::sha512::EV_ENABLE_FIFO_FULL, baz); - let bar = sha512_csr.rf(utra::sha512::EV_ENABLE_SHA512_DONE); - sha512_csr.rmwf(utra::sha512::EV_ENABLE_SHA512_DONE, bar); - let mut baz = sha512_csr.zf(utra::sha512::EV_ENABLE_SHA512_DONE, bar); - baz |= sha512_csr.ms(utra::sha512::EV_ENABLE_SHA512_DONE, 1); - sha512_csr.wfo(utra::sha512::EV_ENABLE_SHA512_DONE, baz); - - let foo = sha512_csr.r(utra::sha512::FIFO); - sha512_csr.wo(utra::sha512::FIFO, foo); - let bar = sha512_csr.rf(utra::sha512::FIFO_RESET_STATUS); - sha512_csr.rmwf(utra::sha512::FIFO_RESET_STATUS, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_RESET_STATUS, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_RESET_STATUS, 1); - sha512_csr.wfo(utra::sha512::FIFO_RESET_STATUS, baz); - let bar = sha512_csr.rf(utra::sha512::FIFO_READ_COUNT); - sha512_csr.rmwf(utra::sha512::FIFO_READ_COUNT, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_READ_COUNT, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_READ_COUNT, 1); - sha512_csr.wfo(utra::sha512::FIFO_READ_COUNT, baz); - let bar = sha512_csr.rf(utra::sha512::FIFO_WRITE_COUNT); - sha512_csr.rmwf(utra::sha512::FIFO_WRITE_COUNT, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_WRITE_COUNT, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_WRITE_COUNT, 1); - sha512_csr.wfo(utra::sha512::FIFO_WRITE_COUNT, baz); - let bar = sha512_csr.rf(utra::sha512::FIFO_READ_ERROR); - sha512_csr.rmwf(utra::sha512::FIFO_READ_ERROR, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_READ_ERROR, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_READ_ERROR, 1); - sha512_csr.wfo(utra::sha512::FIFO_READ_ERROR, baz); - let bar = sha512_csr.rf(utra::sha512::FIFO_WRITE_ERROR); - sha512_csr.rmwf(utra::sha512::FIFO_WRITE_ERROR, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_WRITE_ERROR, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_WRITE_ERROR, 1); - sha512_csr.wfo(utra::sha512::FIFO_WRITE_ERROR, baz); - let bar = sha512_csr.rf(utra::sha512::FIFO_ALMOST_FULL); - sha512_csr.rmwf(utra::sha512::FIFO_ALMOST_FULL, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_ALMOST_FULL, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_ALMOST_FULL, 1); - sha512_csr.wfo(utra::sha512::FIFO_ALMOST_FULL, baz); - let bar = sha512_csr.rf(utra::sha512::FIFO_ALMOST_EMPTY); - sha512_csr.rmwf(utra::sha512::FIFO_ALMOST_EMPTY, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_ALMOST_EMPTY, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_ALMOST_EMPTY, 1); - sha512_csr.wfo(utra::sha512::FIFO_ALMOST_EMPTY, baz); - let bar = sha512_csr.rf(utra::sha512::FIFO_RUNNING); - sha512_csr.rmwf(utra::sha512::FIFO_RUNNING, bar); - let mut baz = sha512_csr.zf(utra::sha512::FIFO_RUNNING, bar); - baz |= sha512_csr.ms(utra::sha512::FIFO_RUNNING, 1); - sha512_csr.wfo(utra::sha512::FIFO_RUNNING, baz); - } - - #[test] - #[ignore] - fn compile_check_engine_csr() { - use super::*; let mut engine_csr = CSR::new(HW_ENGINE_BASE as *mut u32); - - let foo = engine_csr.r(utra::engine::WINDOW); - engine_csr.wo(utra::engine::WINDOW, foo); - let bar = engine_csr.rf(utra::engine::WINDOW_WINDOW); - engine_csr.rmwf(utra::engine::WINDOW_WINDOW, bar); - let mut baz = engine_csr.zf(utra::engine::WINDOW_WINDOW, bar); - baz |= engine_csr.ms(utra::engine::WINDOW_WINDOW, 1); - engine_csr.wfo(utra::engine::WINDOW_WINDOW, baz); - - let foo = engine_csr.r(utra::engine::MPSTART); - engine_csr.wo(utra::engine::MPSTART, foo); - let bar = engine_csr.rf(utra::engine::MPSTART_MPSTART); - engine_csr.rmwf(utra::engine::MPSTART_MPSTART, bar); - let mut baz = engine_csr.zf(utra::engine::MPSTART_MPSTART, bar); - baz |= engine_csr.ms(utra::engine::MPSTART_MPSTART, 1); - engine_csr.wfo(utra::engine::MPSTART_MPSTART, baz); - - let foo = engine_csr.r(utra::engine::MPLEN); - engine_csr.wo(utra::engine::MPLEN, foo); - let bar = engine_csr.rf(utra::engine::MPLEN_MPLEN); - engine_csr.rmwf(utra::engine::MPLEN_MPLEN, bar); - let mut baz = engine_csr.zf(utra::engine::MPLEN_MPLEN, bar); - baz |= engine_csr.ms(utra::engine::MPLEN_MPLEN, 1); - engine_csr.wfo(utra::engine::MPLEN_MPLEN, baz); - - let foo = engine_csr.r(utra::engine::CONTROL); - engine_csr.wo(utra::engine::CONTROL, foo); - let bar = engine_csr.rf(utra::engine::CONTROL_GO); - engine_csr.rmwf(utra::engine::CONTROL_GO, bar); - let mut baz = engine_csr.zf(utra::engine::CONTROL_GO, bar); - baz |= engine_csr.ms(utra::engine::CONTROL_GO, 1); - engine_csr.wfo(utra::engine::CONTROL_GO, baz); - - let foo = engine_csr.r(utra::engine::MPRESUME); - engine_csr.wo(utra::engine::MPRESUME, foo); - let bar = engine_csr.rf(utra::engine::MPRESUME_MPRESUME); - engine_csr.rmwf(utra::engine::MPRESUME_MPRESUME, bar); - let mut baz = engine_csr.zf(utra::engine::MPRESUME_MPRESUME, bar); - baz |= engine_csr.ms(utra::engine::MPRESUME_MPRESUME, 1); - engine_csr.wfo(utra::engine::MPRESUME_MPRESUME, baz); - - let foo = engine_csr.r(utra::engine::POWER); - engine_csr.wo(utra::engine::POWER, foo); - let bar = engine_csr.rf(utra::engine::POWER_ON); - engine_csr.rmwf(utra::engine::POWER_ON, bar); - let mut baz = engine_csr.zf(utra::engine::POWER_ON, bar); - baz |= engine_csr.ms(utra::engine::POWER_ON, 1); - engine_csr.wfo(utra::engine::POWER_ON, baz); - let bar = engine_csr.rf(utra::engine::POWER_PAUSE_REQ); - engine_csr.rmwf(utra::engine::POWER_PAUSE_REQ, bar); - let mut baz = engine_csr.zf(utra::engine::POWER_PAUSE_REQ, bar); - baz |= engine_csr.ms(utra::engine::POWER_PAUSE_REQ, 1); - engine_csr.wfo(utra::engine::POWER_PAUSE_REQ, baz); - - let foo = engine_csr.r(utra::engine::STATUS); - engine_csr.wo(utra::engine::STATUS, foo); - let bar = engine_csr.rf(utra::engine::STATUS_RUNNING); - engine_csr.rmwf(utra::engine::STATUS_RUNNING, bar); - let mut baz = engine_csr.zf(utra::engine::STATUS_RUNNING, bar); - baz |= engine_csr.ms(utra::engine::STATUS_RUNNING, 1); - engine_csr.wfo(utra::engine::STATUS_RUNNING, baz); - let bar = engine_csr.rf(utra::engine::STATUS_MPC); - engine_csr.rmwf(utra::engine::STATUS_MPC, bar); - let mut baz = engine_csr.zf(utra::engine::STATUS_MPC, bar); - baz |= engine_csr.ms(utra::engine::STATUS_MPC, 1); - engine_csr.wfo(utra::engine::STATUS_MPC, baz); - let bar = engine_csr.rf(utra::engine::STATUS_PAUSE_GNT); - engine_csr.rmwf(utra::engine::STATUS_PAUSE_GNT, bar); - let mut baz = engine_csr.zf(utra::engine::STATUS_PAUSE_GNT, bar); - baz |= engine_csr.ms(utra::engine::STATUS_PAUSE_GNT, 1); - engine_csr.wfo(utra::engine::STATUS_PAUSE_GNT, baz); - - let foo = engine_csr.r(utra::engine::EV_STATUS); - engine_csr.wo(utra::engine::EV_STATUS, foo); - let bar = engine_csr.rf(utra::engine::EV_STATUS_FINISHED); - engine_csr.rmwf(utra::engine::EV_STATUS_FINISHED, bar); - let mut baz = engine_csr.zf(utra::engine::EV_STATUS_FINISHED, bar); - baz |= engine_csr.ms(utra::engine::EV_STATUS_FINISHED, 1); - engine_csr.wfo(utra::engine::EV_STATUS_FINISHED, baz); - let bar = engine_csr.rf(utra::engine::EV_STATUS_ILLEGAL_OPCODE); - engine_csr.rmwf(utra::engine::EV_STATUS_ILLEGAL_OPCODE, bar); - let mut baz = engine_csr.zf(utra::engine::EV_STATUS_ILLEGAL_OPCODE, bar); - baz |= engine_csr.ms(utra::engine::EV_STATUS_ILLEGAL_OPCODE, 1); - engine_csr.wfo(utra::engine::EV_STATUS_ILLEGAL_OPCODE, baz); - - let foo = engine_csr.r(utra::engine::EV_PENDING); - engine_csr.wo(utra::engine::EV_PENDING, foo); - let bar = engine_csr.rf(utra::engine::EV_PENDING_FINISHED); - engine_csr.rmwf(utra::engine::EV_PENDING_FINISHED, bar); - let mut baz = engine_csr.zf(utra::engine::EV_PENDING_FINISHED, bar); - baz |= engine_csr.ms(utra::engine::EV_PENDING_FINISHED, 1); - engine_csr.wfo(utra::engine::EV_PENDING_FINISHED, baz); - let bar = engine_csr.rf(utra::engine::EV_PENDING_ILLEGAL_OPCODE); - engine_csr.rmwf(utra::engine::EV_PENDING_ILLEGAL_OPCODE, bar); - let mut baz = engine_csr.zf(utra::engine::EV_PENDING_ILLEGAL_OPCODE, bar); - baz |= engine_csr.ms(utra::engine::EV_PENDING_ILLEGAL_OPCODE, 1); - engine_csr.wfo(utra::engine::EV_PENDING_ILLEGAL_OPCODE, baz); - - let foo = engine_csr.r(utra::engine::EV_ENABLE); - engine_csr.wo(utra::engine::EV_ENABLE, foo); - let bar = engine_csr.rf(utra::engine::EV_ENABLE_FINISHED); - engine_csr.rmwf(utra::engine::EV_ENABLE_FINISHED, bar); - let mut baz = engine_csr.zf(utra::engine::EV_ENABLE_FINISHED, bar); - baz |= engine_csr.ms(utra::engine::EV_ENABLE_FINISHED, 1); - engine_csr.wfo(utra::engine::EV_ENABLE_FINISHED, baz); - let bar = engine_csr.rf(utra::engine::EV_ENABLE_ILLEGAL_OPCODE); - engine_csr.rmwf(utra::engine::EV_ENABLE_ILLEGAL_OPCODE, bar); - let mut baz = engine_csr.zf(utra::engine::EV_ENABLE_ILLEGAL_OPCODE, bar); - baz |= engine_csr.ms(utra::engine::EV_ENABLE_ILLEGAL_OPCODE, 1); - engine_csr.wfo(utra::engine::EV_ENABLE_ILLEGAL_OPCODE, baz); - - let foo = engine_csr.r(utra::engine::INSTRUCTION); - engine_csr.wo(utra::engine::INSTRUCTION, foo); - let bar = engine_csr.rf(utra::engine::INSTRUCTION_OPCODE); - engine_csr.rmwf(utra::engine::INSTRUCTION_OPCODE, bar); - let mut baz = engine_csr.zf(utra::engine::INSTRUCTION_OPCODE, bar); - baz |= engine_csr.ms(utra::engine::INSTRUCTION_OPCODE, 1); - engine_csr.wfo(utra::engine::INSTRUCTION_OPCODE, baz); - let bar = engine_csr.rf(utra::engine::INSTRUCTION_RA); - engine_csr.rmwf(utra::engine::INSTRUCTION_RA, bar); - let mut baz = engine_csr.zf(utra::engine::INSTRUCTION_RA, bar); - baz |= engine_csr.ms(utra::engine::INSTRUCTION_RA, 1); - engine_csr.wfo(utra::engine::INSTRUCTION_RA, baz); - let bar = engine_csr.rf(utra::engine::INSTRUCTION_CA); - engine_csr.rmwf(utra::engine::INSTRUCTION_CA, bar); - let mut baz = engine_csr.zf(utra::engine::INSTRUCTION_CA, bar); - baz |= engine_csr.ms(utra::engine::INSTRUCTION_CA, 1); - engine_csr.wfo(utra::engine::INSTRUCTION_CA, baz); - let bar = engine_csr.rf(utra::engine::INSTRUCTION_RB); - engine_csr.rmwf(utra::engine::INSTRUCTION_RB, bar); - let mut baz = engine_csr.zf(utra::engine::INSTRUCTION_RB, bar); - baz |= engine_csr.ms(utra::engine::INSTRUCTION_RB, 1); - engine_csr.wfo(utra::engine::INSTRUCTION_RB, baz); - let bar = engine_csr.rf(utra::engine::INSTRUCTION_CB); - engine_csr.rmwf(utra::engine::INSTRUCTION_CB, bar); - let mut baz = engine_csr.zf(utra::engine::INSTRUCTION_CB, bar); - baz |= engine_csr.ms(utra::engine::INSTRUCTION_CB, 1); - engine_csr.wfo(utra::engine::INSTRUCTION_CB, baz); - let bar = engine_csr.rf(utra::engine::INSTRUCTION_WD); - engine_csr.rmwf(utra::engine::INSTRUCTION_WD, bar); - let mut baz = engine_csr.zf(utra::engine::INSTRUCTION_WD, bar); - baz |= engine_csr.ms(utra::engine::INSTRUCTION_WD, 1); - engine_csr.wfo(utra::engine::INSTRUCTION_WD, baz); - let bar = engine_csr.rf(utra::engine::INSTRUCTION_IMMEDIATE); - engine_csr.rmwf(utra::engine::INSTRUCTION_IMMEDIATE, bar); - let mut baz = engine_csr.zf(utra::engine::INSTRUCTION_IMMEDIATE, bar); - baz |= engine_csr.ms(utra::engine::INSTRUCTION_IMMEDIATE, 1); - engine_csr.wfo(utra::engine::INSTRUCTION_IMMEDIATE, baz); - } - - #[test] - #[ignore] - fn compile_check_jtag_csr() { - use super::*; let mut jtag_csr = CSR::new(HW_JTAG_BASE as *mut u32); - - let foo = jtag_csr.r(utra::jtag::NEXT); - jtag_csr.wo(utra::jtag::NEXT, foo); - let bar = jtag_csr.rf(utra::jtag::NEXT_TDI); - jtag_csr.rmwf(utra::jtag::NEXT_TDI, bar); - let mut baz = jtag_csr.zf(utra::jtag::NEXT_TDI, bar); - baz |= jtag_csr.ms(utra::jtag::NEXT_TDI, 1); - jtag_csr.wfo(utra::jtag::NEXT_TDI, baz); - let bar = jtag_csr.rf(utra::jtag::NEXT_TMS); - jtag_csr.rmwf(utra::jtag::NEXT_TMS, bar); - let mut baz = jtag_csr.zf(utra::jtag::NEXT_TMS, bar); - baz |= jtag_csr.ms(utra::jtag::NEXT_TMS, 1); - jtag_csr.wfo(utra::jtag::NEXT_TMS, baz); - - let foo = jtag_csr.r(utra::jtag::TDO); - jtag_csr.wo(utra::jtag::TDO, foo); - let bar = jtag_csr.rf(utra::jtag::TDO_TDO); - jtag_csr.rmwf(utra::jtag::TDO_TDO, bar); - let mut baz = jtag_csr.zf(utra::jtag::TDO_TDO, bar); - baz |= jtag_csr.ms(utra::jtag::TDO_TDO, 1); - jtag_csr.wfo(utra::jtag::TDO_TDO, baz); - let bar = jtag_csr.rf(utra::jtag::TDO_READY); - jtag_csr.rmwf(utra::jtag::TDO_READY, bar); - let mut baz = jtag_csr.zf(utra::jtag::TDO_READY, bar); - baz |= jtag_csr.ms(utra::jtag::TDO_READY, 1); - jtag_csr.wfo(utra::jtag::TDO_READY, baz); - } - - #[test] - #[ignore] - fn compile_check_wdt_csr() { - use super::*; let mut wdt_csr = CSR::new(HW_WDT_BASE as *mut u32); - - let foo = wdt_csr.r(utra::wdt::WATCHDOG); - wdt_csr.wo(utra::wdt::WATCHDOG, foo); - let bar = wdt_csr.rf(utra::wdt::WATCHDOG_RESET_WDT); - wdt_csr.rmwf(utra::wdt::WATCHDOG_RESET_WDT, bar); - let mut baz = wdt_csr.zf(utra::wdt::WATCHDOG_RESET_WDT, bar); - baz |= wdt_csr.ms(utra::wdt::WATCHDOG_RESET_WDT, 1); - wdt_csr.wfo(utra::wdt::WATCHDOG_RESET_WDT, baz); - let bar = wdt_csr.rf(utra::wdt::WATCHDOG_ENABLE); - wdt_csr.rmwf(utra::wdt::WATCHDOG_ENABLE, bar); - let mut baz = wdt_csr.zf(utra::wdt::WATCHDOG_ENABLE, bar); - baz |= wdt_csr.ms(utra::wdt::WATCHDOG_ENABLE, 1); - wdt_csr.wfo(utra::wdt::WATCHDOG_ENABLE, baz); - - let foo = wdt_csr.r(utra::wdt::PERIOD); - wdt_csr.wo(utra::wdt::PERIOD, foo); - let bar = wdt_csr.rf(utra::wdt::PERIOD_PERIOD); - wdt_csr.rmwf(utra::wdt::PERIOD_PERIOD, bar); - let mut baz = wdt_csr.zf(utra::wdt::PERIOD_PERIOD, bar); - baz |= wdt_csr.ms(utra::wdt::PERIOD_PERIOD, 1); - wdt_csr.wfo(utra::wdt::PERIOD_PERIOD, baz); - - let foo = wdt_csr.r(utra::wdt::STATE); - wdt_csr.wo(utra::wdt::STATE, foo); - let bar = wdt_csr.rf(utra::wdt::STATE_ENABLED); - wdt_csr.rmwf(utra::wdt::STATE_ENABLED, bar); - let mut baz = wdt_csr.zf(utra::wdt::STATE_ENABLED, bar); - baz |= wdt_csr.ms(utra::wdt::STATE_ENABLED, 1); - wdt_csr.wfo(utra::wdt::STATE_ENABLED, baz); - let bar = wdt_csr.rf(utra::wdt::STATE_ARMED1); - wdt_csr.rmwf(utra::wdt::STATE_ARMED1, bar); - let mut baz = wdt_csr.zf(utra::wdt::STATE_ARMED1, bar); - baz |= wdt_csr.ms(utra::wdt::STATE_ARMED1, 1); - wdt_csr.wfo(utra::wdt::STATE_ARMED1, baz); - let bar = wdt_csr.rf(utra::wdt::STATE_ARMED2); - wdt_csr.rmwf(utra::wdt::STATE_ARMED2, bar); - let mut baz = wdt_csr.zf(utra::wdt::STATE_ARMED2, bar); - baz |= wdt_csr.ms(utra::wdt::STATE_ARMED2, 1); - wdt_csr.wfo(utra::wdt::STATE_ARMED2, baz); - let bar = wdt_csr.rf(utra::wdt::STATE_DISARMED); - wdt_csr.rmwf(utra::wdt::STATE_DISARMED, bar); - let mut baz = wdt_csr.zf(utra::wdt::STATE_DISARMED, bar); - baz |= wdt_csr.ms(utra::wdt::STATE_DISARMED, 1); - wdt_csr.wfo(utra::wdt::STATE_DISARMED, baz); - } - - #[test] - #[ignore] - fn compile_check_usbdev_csr() { - use super::*; let mut usbdev_csr = CSR::new(HW_USBDEV_BASE as *mut u32); - - let foo = usbdev_csr.r(utra::usbdev::USBDISABLE); - usbdev_csr.wo(utra::usbdev::USBDISABLE, foo); - let bar = usbdev_csr.rf(utra::usbdev::USBDISABLE_USBDISABLE); - usbdev_csr.rmwf(utra::usbdev::USBDISABLE_USBDISABLE, bar); - let mut baz = usbdev_csr.zf(utra::usbdev::USBDISABLE_USBDISABLE, bar); - baz |= usbdev_csr.ms(utra::usbdev::USBDISABLE_USBDISABLE, 1); - usbdev_csr.wfo(utra::usbdev::USBDISABLE_USBDISABLE, baz); - - let foo = usbdev_csr.r(utra::usbdev::USBSELECT); - usbdev_csr.wo(utra::usbdev::USBSELECT, foo); - let bar = usbdev_csr.rf(utra::usbdev::USBSELECT_SELECT_DEVICE); - usbdev_csr.rmwf(utra::usbdev::USBSELECT_SELECT_DEVICE, bar); - let mut baz = usbdev_csr.zf(utra::usbdev::USBSELECT_SELECT_DEVICE, bar); - baz |= usbdev_csr.ms(utra::usbdev::USBSELECT_SELECT_DEVICE, 1); - usbdev_csr.wfo(utra::usbdev::USBSELECT_SELECT_DEVICE, baz); - let bar = usbdev_csr.rf(utra::usbdev::USBSELECT_FORCE_RESET); - usbdev_csr.rmwf(utra::usbdev::USBSELECT_FORCE_RESET, bar); - let mut baz = usbdev_csr.zf(utra::usbdev::USBSELECT_FORCE_RESET, bar); - baz |= usbdev_csr.ms(utra::usbdev::USBSELECT_FORCE_RESET, 1); - usbdev_csr.wfo(utra::usbdev::USBSELECT_FORCE_RESET, baz); - - let foo = usbdev_csr.r(utra::usbdev::EV_STATUS); - usbdev_csr.wo(utra::usbdev::EV_STATUS, foo); - let bar = usbdev_csr.rf(utra::usbdev::EV_STATUS_USB); - usbdev_csr.rmwf(utra::usbdev::EV_STATUS_USB, bar); - let mut baz = usbdev_csr.zf(utra::usbdev::EV_STATUS_USB, bar); - baz |= usbdev_csr.ms(utra::usbdev::EV_STATUS_USB, 1); - usbdev_csr.wfo(utra::usbdev::EV_STATUS_USB, baz); - - let foo = usbdev_csr.r(utra::usbdev::EV_PENDING); - usbdev_csr.wo(utra::usbdev::EV_PENDING, foo); - let bar = usbdev_csr.rf(utra::usbdev::EV_PENDING_USB); - usbdev_csr.rmwf(utra::usbdev::EV_PENDING_USB, bar); - let mut baz = usbdev_csr.zf(utra::usbdev::EV_PENDING_USB, bar); - baz |= usbdev_csr.ms(utra::usbdev::EV_PENDING_USB, 1); - usbdev_csr.wfo(utra::usbdev::EV_PENDING_USB, baz); - - let foo = usbdev_csr.r(utra::usbdev::EV_ENABLE); - usbdev_csr.wo(utra::usbdev::EV_ENABLE, foo); - let bar = usbdev_csr.rf(utra::usbdev::EV_ENABLE_USB); - usbdev_csr.rmwf(utra::usbdev::EV_ENABLE_USB, bar); - let mut baz = usbdev_csr.zf(utra::usbdev::EV_ENABLE_USB, bar); - baz |= usbdev_csr.ms(utra::usbdev::EV_ENABLE_USB, 1); - usbdev_csr.wfo(utra::usbdev::EV_ENABLE_USB, baz); - } - - #[test] - #[ignore] - fn compile_check_d11ctime_csr() { - use super::*; let mut d11ctime_csr = CSR::new(HW_D11CTIME_BASE as *mut u32); - - let foo = d11ctime_csr.r(utra::d11ctime::CONTROL); - d11ctime_csr.wo(utra::d11ctime::CONTROL, foo); - let bar = d11ctime_csr.rf(utra::d11ctime::CONTROL_COUNT); - d11ctime_csr.rmwf(utra::d11ctime::CONTROL_COUNT, bar); - let mut baz = d11ctime_csr.zf(utra::d11ctime::CONTROL_COUNT, bar); - baz |= d11ctime_csr.ms(utra::d11ctime::CONTROL_COUNT, 1); - d11ctime_csr.wfo(utra::d11ctime::CONTROL_COUNT, baz); - - let foo = d11ctime_csr.r(utra::d11ctime::HEARTBEAT); - d11ctime_csr.wo(utra::d11ctime::HEARTBEAT, foo); - let bar = d11ctime_csr.rf(utra::d11ctime::HEARTBEAT_BEAT); - d11ctime_csr.rmwf(utra::d11ctime::HEARTBEAT_BEAT, bar); - let mut baz = d11ctime_csr.zf(utra::d11ctime::HEARTBEAT_BEAT, bar); - baz |= d11ctime_csr.ms(utra::d11ctime::HEARTBEAT_BEAT, 1); - d11ctime_csr.wfo(utra::d11ctime::HEARTBEAT_BEAT, baz); - } - - #[test] - #[ignore] - fn compile_check_wfi_csr() { - use super::*; let mut wfi_csr = CSR::new(HW_WFI_BASE as *mut u32); - - let foo = wfi_csr.r(utra::wfi::WFI); - wfi_csr.wo(utra::wfi::WFI, foo); - let bar = wfi_csr.rf(utra::wfi::WFI_WFI); - wfi_csr.rmwf(utra::wfi::WFI_WFI, bar); - let mut baz = wfi_csr.zf(utra::wfi::WFI_WFI, bar); - baz |= wfi_csr.ms(utra::wfi::WFI_WFI, 1); - wfi_csr.wfo(utra::wfi::WFI_WFI, baz); - - let foo = wfi_csr.r(utra::wfi::IGNORE_LOCKED); - wfi_csr.wo(utra::wfi::IGNORE_LOCKED, foo); - let bar = wfi_csr.rf(utra::wfi::IGNORE_LOCKED_IGNORE_LOCKED); - wfi_csr.rmwf(utra::wfi::IGNORE_LOCKED_IGNORE_LOCKED, bar); - let mut baz = wfi_csr.zf(utra::wfi::IGNORE_LOCKED_IGNORE_LOCKED, bar); - baz |= wfi_csr.ms(utra::wfi::IGNORE_LOCKED_IGNORE_LOCKED, 1); - wfi_csr.wfo(utra::wfi::IGNORE_LOCKED_IGNORE_LOCKED, baz); - } - - #[test] - #[ignore] - fn compile_check_identifier_mem_csr() { - use super::*; let mut identifier_mem_csr = CSR::new(HW_IDENTIFIER_MEM_BASE as *mut u32); - - let foo = identifier_mem_csr.r(utra::identifier_mem::IDENTIFIER_MEM); - identifier_mem_csr.wo(utra::identifier_mem::IDENTIFIER_MEM, foo); - let bar = identifier_mem_csr.rf(utra::identifier_mem::IDENTIFIER_MEM_IDENTIFIER_MEM); - identifier_mem_csr.rmwf(utra::identifier_mem::IDENTIFIER_MEM_IDENTIFIER_MEM, bar); - let mut baz = identifier_mem_csr.zf(utra::identifier_mem::IDENTIFIER_MEM_IDENTIFIER_MEM, bar); - baz |= identifier_mem_csr.ms(utra::identifier_mem::IDENTIFIER_MEM_IDENTIFIER_MEM, 1); - identifier_mem_csr.wfo(utra::identifier_mem::IDENTIFIER_MEM_IDENTIFIER_MEM, baz); - } -} diff --git a/utralib/src/generated/precursor_dvt_2753c12.rs b/utralib/src/generated/precursor_dvt_2753c12.rs index 0ca4cdc94..a2beca6b0 100644 --- a/utralib/src/generated/precursor_dvt_2753c12.rs +++ b/utralib/src/generated/precursor_dvt_2753c12.rs @@ -2228,7 +2228,8 @@ mod tests { #[test] #[ignore] fn compile_check_reboot_csr() { - use super::*; let mut reboot_csr = CSR::new(HW_REBOOT_BASE as *mut u32); + use super::*; + let mut reboot_csr = CSR::new(HW_REBOOT_BASE as *mut u32); let foo = reboot_csr.r(utra::reboot::SOC_RESET); reboot_csr.wo(utra::reboot::SOC_RESET, foo); @@ -2258,7 +2259,8 @@ mod tests { #[test] #[ignore] fn compile_check_timer0_csr() { - use super::*; let mut timer0_csr = CSR::new(HW_TIMER0_BASE as *mut u32); + use super::*; + let mut timer0_csr = CSR::new(HW_TIMER0_BASE as *mut u32); let foo = timer0_csr.r(utra::timer0::LOAD); timer0_csr.wo(utra::timer0::LOAD, foo); @@ -2312,7 +2314,8 @@ mod tests { #[test] #[ignore] fn compile_check_crg_csr() { - use super::*; let mut crg_csr = CSR::new(HW_CRG_BASE as *mut u32); + use super::*; + let mut crg_csr = CSR::new(HW_CRG_BASE as *mut u32); let foo = crg_csr.r(utra::crg::MMCM_DRP_RESET); crg_csr.wo(utra::crg::MMCM_DRP_RESET, foo); @@ -2382,7 +2385,8 @@ mod tests { #[test] #[ignore] fn compile_check_gpio_csr() { - use super::*; let mut gpio_csr = CSR::new(HW_GPIO_BASE as *mut u32); + use super::*; + let mut gpio_csr = CSR::new(HW_GPIO_BASE as *mut u32); let foo = gpio_csr.r(utra::gpio::OUTPUT); gpio_csr.wo(utra::gpio::OUTPUT, foo); @@ -2578,7 +2582,8 @@ mod tests { #[test] #[ignore] fn compile_check_uart_csr() { - use super::*; let mut uart_csr = CSR::new(HW_UART_BASE as *mut u32); + use super::*; + let mut uart_csr = CSR::new(HW_UART_BASE as *mut u32); let foo = uart_csr.r(utra::uart::RXTX); uart_csr.wo(utra::uart::RXTX, foo); @@ -2663,7 +2668,8 @@ mod tests { #[test] #[ignore] fn compile_check_console_csr() { - use super::*; let mut console_csr = CSR::new(HW_CONSOLE_BASE as *mut u32); + use super::*; + let mut console_csr = CSR::new(HW_CONSOLE_BASE as *mut u32); let foo = console_csr.r(utra::console::RXTX); console_csr.wo(utra::console::RXTX, foo); @@ -2748,7 +2754,8 @@ mod tests { #[test] #[ignore] fn compile_check_app_uart_csr() { - use super::*; let mut app_uart_csr = CSR::new(HW_APP_UART_BASE as *mut u32); + use super::*; + let mut app_uart_csr = CSR::new(HW_APP_UART_BASE as *mut u32); let foo = app_uart_csr.r(utra::app_uart::RXTX); app_uart_csr.wo(utra::app_uart::RXTX, foo); @@ -2833,7 +2840,8 @@ mod tests { #[test] #[ignore] fn compile_check_info_csr() { - use super::*; let mut info_csr = CSR::new(HW_INFO_BASE as *mut u32); + use super::*; + let mut info_csr = CSR::new(HW_INFO_BASE as *mut u32); let foo = info_csr.r(utra::info::DNA_ID1); info_csr.wo(utra::info::DNA_ID1, foo); @@ -2935,7 +2943,8 @@ mod tests { #[test] #[ignore] fn compile_check_sram_ext_csr() { - use super::*; let mut sram_ext_csr = CSR::new(HW_SRAM_EXT_BASE as *mut u32); + use super::*; + let mut sram_ext_csr = CSR::new(HW_SRAM_EXT_BASE as *mut u32); let foo = sram_ext_csr.r(utra::sram_ext::CONFIG_STATUS); sram_ext_csr.wo(utra::sram_ext::CONFIG_STATUS, foo); @@ -2957,7 +2966,8 @@ mod tests { #[test] #[ignore] fn compile_check_memlcd_csr() { - use super::*; let mut memlcd_csr = CSR::new(HW_MEMLCD_BASE as *mut u32); + use super::*; + let mut memlcd_csr = CSR::new(HW_MEMLCD_BASE as *mut u32); let foo = memlcd_csr.r(utra::memlcd::COMMAND); memlcd_csr.wo(utra::memlcd::COMMAND, foo); @@ -3032,7 +3042,8 @@ mod tests { #[test] #[ignore] fn compile_check_com_csr() { - use super::*; let mut com_csr = CSR::new(HW_COM_BASE as *mut u32); + use super::*; + let mut com_csr = CSR::new(HW_COM_BASE as *mut u32); let foo = com_csr.r(utra::com::TX); com_csr.wo(utra::com::TX, foo); @@ -3119,7 +3130,8 @@ mod tests { #[test] #[ignore] fn compile_check_i2c_csr() { - use super::*; let mut i2c_csr = CSR::new(HW_I2C_BASE as *mut u32); + use super::*; + let mut i2c_csr = CSR::new(HW_I2C_BASE as *mut u32); let foo = i2c_csr.r(utra::i2c::PRESCALE); i2c_csr.wo(utra::i2c::PRESCALE, foo); @@ -3285,7 +3297,8 @@ mod tests { #[test] #[ignore] fn compile_check_btevents_csr() { - use super::*; let mut btevents_csr = CSR::new(HW_BTEVENTS_BASE as *mut u32); + use super::*; + let mut btevents_csr = CSR::new(HW_BTEVENTS_BASE as *mut u32); let foo = btevents_csr.r(utra::btevents::EV_STATUS); btevents_csr.wo(utra::btevents::EV_STATUS, foo); @@ -3330,7 +3343,8 @@ mod tests { #[test] #[ignore] fn compile_check_messible_csr() { - use super::*; let mut messible_csr = CSR::new(HW_MESSIBLE_BASE as *mut u32); + use super::*; + let mut messible_csr = CSR::new(HW_MESSIBLE_BASE as *mut u32); let foo = messible_csr.r(utra::messible::IN); messible_csr.wo(utra::messible::IN, foo); @@ -3365,7 +3379,8 @@ mod tests { #[test] #[ignore] fn compile_check_messible2_csr() { - use super::*; let mut messible2_csr = CSR::new(HW_MESSIBLE2_BASE as *mut u32); + use super::*; + let mut messible2_csr = CSR::new(HW_MESSIBLE2_BASE as *mut u32); let foo = messible2_csr.r(utra::messible2::IN); messible2_csr.wo(utra::messible2::IN, foo); @@ -3400,7 +3415,8 @@ mod tests { #[test] #[ignore] fn compile_check_ticktimer_csr() { - use super::*; let mut ticktimer_csr = CSR::new(HW_TICKTIMER_BASE as *mut u32); + use super::*; + let mut ticktimer_csr = CSR::new(HW_TICKTIMER_BASE as *mut u32); let foo = ticktimer_csr.r(utra::ticktimer::CONTROL); ticktimer_csr.wo(utra::ticktimer::CONTROL, foo); @@ -3470,7 +3486,8 @@ mod tests { #[test] #[ignore] fn compile_check_susres_csr() { - use super::*; let mut susres_csr = CSR::new(HW_SUSRES_BASE as *mut u32); + use super::*; + let mut susres_csr = CSR::new(HW_SUSRES_BASE as *mut u32); let foo = susres_csr.r(utra::susres::CONTROL); susres_csr.wo(utra::susres::CONTROL, foo); @@ -3590,7 +3607,8 @@ mod tests { #[test] #[ignore] fn compile_check_power_csr() { - use super::*; let mut power_csr = CSR::new(HW_POWER_BASE as *mut u32); + use super::*; + let mut power_csr = CSR::new(HW_POWER_BASE as *mut u32); let foo = power_csr.r(utra::power::POWER); power_csr.wo(utra::power::POWER, foo); @@ -3788,7 +3806,8 @@ mod tests { #[test] #[ignore] fn compile_check_spinor_soft_int_csr() { - use super::*; let mut spinor_soft_int_csr = CSR::new(HW_SPINOR_SOFT_INT_BASE as *mut u32); + use super::*; + let mut spinor_soft_int_csr = CSR::new(HW_SPINOR_SOFT_INT_BASE as *mut u32); let foo = spinor_soft_int_csr.r(utra::spinor_soft_int::EV_STATUS); spinor_soft_int_csr.wo(utra::spinor_soft_int::EV_STATUS, foo); @@ -3826,7 +3845,8 @@ mod tests { #[test] #[ignore] fn compile_check_spinor_csr() { - use super::*; let mut spinor_csr = CSR::new(HW_SPINOR_BASE as *mut u32); + use super::*; + let mut spinor_csr = CSR::new(HW_SPINOR_BASE as *mut u32); let foo = spinor_csr.r(utra::spinor::CONFIG); spinor_csr.wo(utra::spinor::CONFIG, foo); @@ -3976,7 +3996,8 @@ mod tests { #[test] #[ignore] fn compile_check_keyboard_csr() { - use super::*; let mut keyboard_csr = CSR::new(HW_KEYBOARD_BASE as *mut u32); + use super::*; + let mut keyboard_csr = CSR::new(HW_KEYBOARD_BASE as *mut u32); let foo = keyboard_csr.r(utra::keyboard::UART_CHAR); keyboard_csr.wo(utra::keyboard::UART_CHAR, foo); @@ -4106,7 +4127,8 @@ mod tests { #[test] #[ignore] fn compile_check_keyinject_csr() { - use super::*; let mut keyinject_csr = CSR::new(HW_KEYINJECT_BASE as *mut u32); + use super::*; + let mut keyinject_csr = CSR::new(HW_KEYINJECT_BASE as *mut u32); let foo = keyinject_csr.r(utra::keyinject::UART_CHAR); keyinject_csr.wo(utra::keyinject::UART_CHAR, foo); @@ -4128,7 +4150,8 @@ mod tests { #[test] #[ignore] fn compile_check_seed_csr() { - use super::*; let mut seed_csr = CSR::new(HW_SEED_BASE as *mut u32); + use super::*; + let mut seed_csr = CSR::new(HW_SEED_BASE as *mut u32); let foo = seed_csr.r(utra::seed::SEED1); seed_csr.wo(utra::seed::SEED1, foo); @@ -4150,7 +4173,8 @@ mod tests { #[test] #[ignore] fn compile_check_keyrom_csr() { - use super::*; let mut keyrom_csr = CSR::new(HW_KEYROM_BASE as *mut u32); + use super::*; + let mut keyrom_csr = CSR::new(HW_KEYROM_BASE as *mut u32); let foo = keyrom_csr.r(utra::keyrom::ADDRESS); keyrom_csr.wo(utra::keyrom::ADDRESS, foo); @@ -4188,7 +4212,8 @@ mod tests { #[test] #[ignore] fn compile_check_audio_csr() { - use super::*; let mut audio_csr = CSR::new(HW_AUDIO_BASE as *mut u32); + use super::*; + let mut audio_csr = CSR::new(HW_AUDIO_BASE as *mut u32); let foo = audio_csr.r(utra::audio::EV_STATUS); audio_csr.wo(utra::audio::EV_STATUS, foo); @@ -4416,7 +4441,8 @@ mod tests { #[test] #[ignore] fn compile_check_trng_kernel_csr() { - use super::*; let mut trng_kernel_csr = CSR::new(HW_TRNG_KERNEL_BASE as *mut u32); + use super::*; + let mut trng_kernel_csr = CSR::new(HW_TRNG_KERNEL_BASE as *mut u32); let foo = trng_kernel_csr.r(utra::trng_kernel::STATUS); trng_kernel_csr.wo(utra::trng_kernel::STATUS, foo); @@ -4508,7 +4534,8 @@ mod tests { #[test] #[ignore] fn compile_check_trng_server_csr() { - use super::*; let mut trng_server_csr = CSR::new(HW_TRNG_SERVER_BASE as *mut u32); + use super::*; + let mut trng_server_csr = CSR::new(HW_TRNG_SERVER_BASE as *mut u32); let foo = trng_server_csr.r(utra::trng_server::CONTROL); trng_server_csr.wo(utra::trng_server::CONTROL, foo); @@ -5288,7 +5315,8 @@ mod tests { #[test] #[ignore] fn compile_check_trng_csr() { - use super::*; let mut trng_csr = CSR::new(HW_TRNG_BASE as *mut u32); + use super::*; + let mut trng_csr = CSR::new(HW_TRNG_BASE as *mut u32); let foo = trng_csr.r(utra::trng::XADC_TEMPERATURE); trng_csr.wo(utra::trng::XADC_TEMPERATURE, foo); @@ -5454,7 +5482,8 @@ mod tests { #[test] #[ignore] fn compile_check_sha512_csr() { - use super::*; let mut sha512_csr = CSR::new(HW_SHA512_BASE as *mut u32); + use super::*; + let mut sha512_csr = CSR::new(HW_SHA512_BASE as *mut u32); let foo = sha512_csr.r(utra::sha512::POWER); sha512_csr.wo(utra::sha512::POWER, foo); @@ -5750,7 +5779,8 @@ mod tests { #[test] #[ignore] fn compile_check_engine_csr() { - use super::*; let mut engine_csr = CSR::new(HW_ENGINE_BASE as *mut u32); + use super::*; + let mut engine_csr = CSR::new(HW_ENGINE_BASE as *mut u32); let foo = engine_csr.r(utra::engine::WINDOW); engine_csr.wo(utra::engine::WINDOW, foo); @@ -5904,7 +5934,8 @@ mod tests { #[test] #[ignore] fn compile_check_jtag_csr() { - use super::*; let mut jtag_csr = CSR::new(HW_JTAG_BASE as *mut u32); + use super::*; + let mut jtag_csr = CSR::new(HW_JTAG_BASE as *mut u32); let foo = jtag_csr.r(utra::jtag::NEXT); jtag_csr.wo(utra::jtag::NEXT, foo); @@ -5936,7 +5967,8 @@ mod tests { #[test] #[ignore] fn compile_check_wdt_csr() { - use super::*; let mut wdt_csr = CSR::new(HW_WDT_BASE as *mut u32); + use super::*; + let mut wdt_csr = CSR::new(HW_WDT_BASE as *mut u32); let foo = wdt_csr.r(utra::wdt::WATCHDOG); wdt_csr.wo(utra::wdt::WATCHDOG, foo); @@ -5986,7 +6018,8 @@ mod tests { #[test] #[ignore] fn compile_check_usbdev_csr() { - use super::*; let mut usbdev_csr = CSR::new(HW_USBDEV_BASE as *mut u32); + use super::*; + let mut usbdev_csr = CSR::new(HW_USBDEV_BASE as *mut u32); let foo = usbdev_csr.r(utra::usbdev::USBDISABLE); usbdev_csr.wo(utra::usbdev::USBDISABLE, foo); @@ -6037,7 +6070,8 @@ mod tests { #[test] #[ignore] fn compile_check_d11ctime_csr() { - use super::*; let mut d11ctime_csr = CSR::new(HW_D11CTIME_BASE as *mut u32); + use super::*; + let mut d11ctime_csr = CSR::new(HW_D11CTIME_BASE as *mut u32); let foo = d11ctime_csr.r(utra::d11ctime::CONTROL); d11ctime_csr.wo(utra::d11ctime::CONTROL, foo); @@ -6059,7 +6093,8 @@ mod tests { #[test] #[ignore] fn compile_check_wfi_csr() { - use super::*; let mut wfi_csr = CSR::new(HW_WFI_BASE as *mut u32); + use super::*; + let mut wfi_csr = CSR::new(HW_WFI_BASE as *mut u32); let foo = wfi_csr.r(utra::wfi::WFI); wfi_csr.wo(utra::wfi::WFI, foo); @@ -6081,7 +6116,8 @@ mod tests { #[test] #[ignore] fn compile_check_identifier_mem_csr() { - use super::*; let mut identifier_mem_csr = CSR::new(HW_IDENTIFIER_MEM_BASE as *mut u32); + use super::*; + let mut identifier_mem_csr = CSR::new(HW_IDENTIFIER_MEM_BASE as *mut u32); let foo = identifier_mem_csr.r(utra::identifier_mem::IDENTIFIER_MEM); identifier_mem_csr.wo(utra::identifier_mem::IDENTIFIER_MEM, foo); diff --git a/utralib/src/generated/precursor_perf_c809403.rs b/utralib/src/generated/precursor_perf_c809403.rs index 88f8878a4..5378c1119 100644 --- a/utralib/src/generated/precursor_perf_c809403.rs +++ b/utralib/src/generated/precursor_perf_c809403.rs @@ -2352,7 +2352,8 @@ mod tests { #[test] #[ignore] fn compile_check_reboot_csr() { - use super::*; let mut reboot_csr = CSR::new(HW_REBOOT_BASE as *mut u32); + use super::*; + let mut reboot_csr = CSR::new(HW_REBOOT_BASE as *mut u32); let foo = reboot_csr.r(utra::reboot::SOC_RESET); reboot_csr.wo(utra::reboot::SOC_RESET, foo); @@ -2382,7 +2383,8 @@ mod tests { #[test] #[ignore] fn compile_check_timer0_csr() { - use super::*; let mut timer0_csr = CSR::new(HW_TIMER0_BASE as *mut u32); + use super::*; + let mut timer0_csr = CSR::new(HW_TIMER0_BASE as *mut u32); let foo = timer0_csr.r(utra::timer0::LOAD); timer0_csr.wo(utra::timer0::LOAD, foo); @@ -2436,7 +2438,8 @@ mod tests { #[test] #[ignore] fn compile_check_crg_csr() { - use super::*; let mut crg_csr = CSR::new(HW_CRG_BASE as *mut u32); + use super::*; + let mut crg_csr = CSR::new(HW_CRG_BASE as *mut u32); let foo = crg_csr.r(utra::crg::MMCM_DRP_RESET); crg_csr.wo(utra::crg::MMCM_DRP_RESET, foo); @@ -2506,7 +2509,8 @@ mod tests { #[test] #[ignore] fn compile_check_gpio_csr() { - use super::*; let mut gpio_csr = CSR::new(HW_GPIO_BASE as *mut u32); + use super::*; + let mut gpio_csr = CSR::new(HW_GPIO_BASE as *mut u32); let foo = gpio_csr.r(utra::gpio::OUTPUT); gpio_csr.wo(utra::gpio::OUTPUT, foo); @@ -2702,7 +2706,8 @@ mod tests { #[test] #[ignore] fn compile_check_uart_csr() { - use super::*; let mut uart_csr = CSR::new(HW_UART_BASE as *mut u32); + use super::*; + let mut uart_csr = CSR::new(HW_UART_BASE as *mut u32); let foo = uart_csr.r(utra::uart::RXTX); uart_csr.wo(utra::uart::RXTX, foo); @@ -2787,7 +2792,8 @@ mod tests { #[test] #[ignore] fn compile_check_console_csr() { - use super::*; let mut console_csr = CSR::new(HW_CONSOLE_BASE as *mut u32); + use super::*; + let mut console_csr = CSR::new(HW_CONSOLE_BASE as *mut u32); let foo = console_csr.r(utra::console::RXTX); console_csr.wo(utra::console::RXTX, foo); @@ -2872,7 +2878,8 @@ mod tests { #[test] #[ignore] fn compile_check_app_uart_csr() { - use super::*; let mut app_uart_csr = CSR::new(HW_APP_UART_BASE as *mut u32); + use super::*; + let mut app_uart_csr = CSR::new(HW_APP_UART_BASE as *mut u32); let foo = app_uart_csr.r(utra::app_uart::RXTX); app_uart_csr.wo(utra::app_uart::RXTX, foo); @@ -2957,7 +2964,8 @@ mod tests { #[test] #[ignore] fn compile_check_info_csr() { - use super::*; let mut info_csr = CSR::new(HW_INFO_BASE as *mut u32); + use super::*; + let mut info_csr = CSR::new(HW_INFO_BASE as *mut u32); let foo = info_csr.r(utra::info::DNA_ID1); info_csr.wo(utra::info::DNA_ID1, foo); @@ -3059,7 +3067,8 @@ mod tests { #[test] #[ignore] fn compile_check_sram_ext_csr() { - use super::*; let mut sram_ext_csr = CSR::new(HW_SRAM_EXT_BASE as *mut u32); + use super::*; + let mut sram_ext_csr = CSR::new(HW_SRAM_EXT_BASE as *mut u32); let foo = sram_ext_csr.r(utra::sram_ext::CONFIG_STATUS); sram_ext_csr.wo(utra::sram_ext::CONFIG_STATUS, foo); @@ -3081,7 +3090,8 @@ mod tests { #[test] #[ignore] fn compile_check_memlcd_csr() { - use super::*; let mut memlcd_csr = CSR::new(HW_MEMLCD_BASE as *mut u32); + use super::*; + let mut memlcd_csr = CSR::new(HW_MEMLCD_BASE as *mut u32); let foo = memlcd_csr.r(utra::memlcd::COMMAND); memlcd_csr.wo(utra::memlcd::COMMAND, foo); @@ -3156,7 +3166,8 @@ mod tests { #[test] #[ignore] fn compile_check_com_csr() { - use super::*; let mut com_csr = CSR::new(HW_COM_BASE as *mut u32); + use super::*; + let mut com_csr = CSR::new(HW_COM_BASE as *mut u32); let foo = com_csr.r(utra::com::TX); com_csr.wo(utra::com::TX, foo); @@ -3243,7 +3254,8 @@ mod tests { #[test] #[ignore] fn compile_check_i2c_csr() { - use super::*; let mut i2c_csr = CSR::new(HW_I2C_BASE as *mut u32); + use super::*; + let mut i2c_csr = CSR::new(HW_I2C_BASE as *mut u32); let foo = i2c_csr.r(utra::i2c::PRESCALE); i2c_csr.wo(utra::i2c::PRESCALE, foo); @@ -3409,7 +3421,8 @@ mod tests { #[test] #[ignore] fn compile_check_btevents_csr() { - use super::*; let mut btevents_csr = CSR::new(HW_BTEVENTS_BASE as *mut u32); + use super::*; + let mut btevents_csr = CSR::new(HW_BTEVENTS_BASE as *mut u32); let foo = btevents_csr.r(utra::btevents::EV_STATUS); btevents_csr.wo(utra::btevents::EV_STATUS, foo); @@ -3454,7 +3467,8 @@ mod tests { #[test] #[ignore] fn compile_check_messible_csr() { - use super::*; let mut messible_csr = CSR::new(HW_MESSIBLE_BASE as *mut u32); + use super::*; + let mut messible_csr = CSR::new(HW_MESSIBLE_BASE as *mut u32); let foo = messible_csr.r(utra::messible::IN); messible_csr.wo(utra::messible::IN, foo); @@ -3489,7 +3503,8 @@ mod tests { #[test] #[ignore] fn compile_check_messible2_csr() { - use super::*; let mut messible2_csr = CSR::new(HW_MESSIBLE2_BASE as *mut u32); + use super::*; + let mut messible2_csr = CSR::new(HW_MESSIBLE2_BASE as *mut u32); let foo = messible2_csr.r(utra::messible2::IN); messible2_csr.wo(utra::messible2::IN, foo); @@ -3524,7 +3539,8 @@ mod tests { #[test] #[ignore] fn compile_check_ticktimer_csr() { - use super::*; let mut ticktimer_csr = CSR::new(HW_TICKTIMER_BASE as *mut u32); + use super::*; + let mut ticktimer_csr = CSR::new(HW_TICKTIMER_BASE as *mut u32); let foo = ticktimer_csr.r(utra::ticktimer::CONTROL); ticktimer_csr.wo(utra::ticktimer::CONTROL, foo); @@ -3594,7 +3610,8 @@ mod tests { #[test] #[ignore] fn compile_check_susres_csr() { - use super::*; let mut susres_csr = CSR::new(HW_SUSRES_BASE as *mut u32); + use super::*; + let mut susres_csr = CSR::new(HW_SUSRES_BASE as *mut u32); let foo = susres_csr.r(utra::susres::CONTROL); susres_csr.wo(utra::susres::CONTROL, foo); @@ -3714,7 +3731,8 @@ mod tests { #[test] #[ignore] fn compile_check_power_csr() { - use super::*; let mut power_csr = CSR::new(HW_POWER_BASE as *mut u32); + use super::*; + let mut power_csr = CSR::new(HW_POWER_BASE as *mut u32); let foo = power_csr.r(utra::power::POWER); power_csr.wo(utra::power::POWER, foo); @@ -3912,7 +3930,8 @@ mod tests { #[test] #[ignore] fn compile_check_spinor_soft_int_csr() { - use super::*; let mut spinor_soft_int_csr = CSR::new(HW_SPINOR_SOFT_INT_BASE as *mut u32); + use super::*; + let mut spinor_soft_int_csr = CSR::new(HW_SPINOR_SOFT_INT_BASE as *mut u32); let foo = spinor_soft_int_csr.r(utra::spinor_soft_int::EV_STATUS); spinor_soft_int_csr.wo(utra::spinor_soft_int::EV_STATUS, foo); @@ -3950,7 +3969,8 @@ mod tests { #[test] #[ignore] fn compile_check_spinor_csr() { - use super::*; let mut spinor_csr = CSR::new(HW_SPINOR_BASE as *mut u32); + use super::*; + let mut spinor_csr = CSR::new(HW_SPINOR_BASE as *mut u32); let foo = spinor_csr.r(utra::spinor::CONFIG); spinor_csr.wo(utra::spinor::CONFIG, foo); @@ -4100,7 +4120,8 @@ mod tests { #[test] #[ignore] fn compile_check_keyboard_csr() { - use super::*; let mut keyboard_csr = CSR::new(HW_KEYBOARD_BASE as *mut u32); + use super::*; + let mut keyboard_csr = CSR::new(HW_KEYBOARD_BASE as *mut u32); let foo = keyboard_csr.r(utra::keyboard::UART_CHAR); keyboard_csr.wo(utra::keyboard::UART_CHAR, foo); @@ -4230,7 +4251,8 @@ mod tests { #[test] #[ignore] fn compile_check_keyinject_csr() { - use super::*; let mut keyinject_csr = CSR::new(HW_KEYINJECT_BASE as *mut u32); + use super::*; + let mut keyinject_csr = CSR::new(HW_KEYINJECT_BASE as *mut u32); let foo = keyinject_csr.r(utra::keyinject::UART_CHAR); keyinject_csr.wo(utra::keyinject::UART_CHAR, foo); @@ -4252,7 +4274,8 @@ mod tests { #[test] #[ignore] fn compile_check_seed_csr() { - use super::*; let mut seed_csr = CSR::new(HW_SEED_BASE as *mut u32); + use super::*; + let mut seed_csr = CSR::new(HW_SEED_BASE as *mut u32); let foo = seed_csr.r(utra::seed::SEED1); seed_csr.wo(utra::seed::SEED1, foo); @@ -4274,7 +4297,8 @@ mod tests { #[test] #[ignore] fn compile_check_keyrom_csr() { - use super::*; let mut keyrom_csr = CSR::new(HW_KEYROM_BASE as *mut u32); + use super::*; + let mut keyrom_csr = CSR::new(HW_KEYROM_BASE as *mut u32); let foo = keyrom_csr.r(utra::keyrom::ADDRESS); keyrom_csr.wo(utra::keyrom::ADDRESS, foo); @@ -4312,7 +4336,8 @@ mod tests { #[test] #[ignore] fn compile_check_audio_csr() { - use super::*; let mut audio_csr = CSR::new(HW_AUDIO_BASE as *mut u32); + use super::*; + let mut audio_csr = CSR::new(HW_AUDIO_BASE as *mut u32); let foo = audio_csr.r(utra::audio::EV_STATUS); audio_csr.wo(utra::audio::EV_STATUS, foo); @@ -4540,7 +4565,8 @@ mod tests { #[test] #[ignore] fn compile_check_trng_kernel_csr() { - use super::*; let mut trng_kernel_csr = CSR::new(HW_TRNG_KERNEL_BASE as *mut u32); + use super::*; + let mut trng_kernel_csr = CSR::new(HW_TRNG_KERNEL_BASE as *mut u32); let foo = trng_kernel_csr.r(utra::trng_kernel::STATUS); trng_kernel_csr.wo(utra::trng_kernel::STATUS, foo); @@ -4632,7 +4658,8 @@ mod tests { #[test] #[ignore] fn compile_check_trng_server_csr() { - use super::*; let mut trng_server_csr = CSR::new(HW_TRNG_SERVER_BASE as *mut u32); + use super::*; + let mut trng_server_csr = CSR::new(HW_TRNG_SERVER_BASE as *mut u32); let foo = trng_server_csr.r(utra::trng_server::CONTROL); trng_server_csr.wo(utra::trng_server::CONTROL, foo); @@ -5412,7 +5439,8 @@ mod tests { #[test] #[ignore] fn compile_check_trng_csr() { - use super::*; let mut trng_csr = CSR::new(HW_TRNG_BASE as *mut u32); + use super::*; + let mut trng_csr = CSR::new(HW_TRNG_BASE as *mut u32); let foo = trng_csr.r(utra::trng::XADC_TEMPERATURE); trng_csr.wo(utra::trng::XADC_TEMPERATURE, foo); @@ -5578,7 +5606,8 @@ mod tests { #[test] #[ignore] fn compile_check_sha512_csr() { - use super::*; let mut sha512_csr = CSR::new(HW_SHA512_BASE as *mut u32); + use super::*; + let mut sha512_csr = CSR::new(HW_SHA512_BASE as *mut u32); let foo = sha512_csr.r(utra::sha512::POWER); sha512_csr.wo(utra::sha512::POWER, foo); @@ -5874,7 +5903,8 @@ mod tests { #[test] #[ignore] fn compile_check_engine_csr() { - use super::*; let mut engine_csr = CSR::new(HW_ENGINE_BASE as *mut u32); + use super::*; + let mut engine_csr = CSR::new(HW_ENGINE_BASE as *mut u32); let foo = engine_csr.r(utra::engine::WINDOW); engine_csr.wo(utra::engine::WINDOW, foo); @@ -6028,7 +6058,8 @@ mod tests { #[test] #[ignore] fn compile_check_jtag_csr() { - use super::*; let mut jtag_csr = CSR::new(HW_JTAG_BASE as *mut u32); + use super::*; + let mut jtag_csr = CSR::new(HW_JTAG_BASE as *mut u32); let foo = jtag_csr.r(utra::jtag::NEXT); jtag_csr.wo(utra::jtag::NEXT, foo); @@ -6060,7 +6091,8 @@ mod tests { #[test] #[ignore] fn compile_check_wdt_csr() { - use super::*; let mut wdt_csr = CSR::new(HW_WDT_BASE as *mut u32); + use super::*; + let mut wdt_csr = CSR::new(HW_WDT_BASE as *mut u32); let foo = wdt_csr.r(utra::wdt::WATCHDOG); wdt_csr.wo(utra::wdt::WATCHDOG, foo); @@ -6110,7 +6142,8 @@ mod tests { #[test] #[ignore] fn compile_check_usbdev_csr() { - use super::*; let mut usbdev_csr = CSR::new(HW_USBDEV_BASE as *mut u32); + use super::*; + let mut usbdev_csr = CSR::new(HW_USBDEV_BASE as *mut u32); let foo = usbdev_csr.r(utra::usbdev::USBDISABLE); usbdev_csr.wo(utra::usbdev::USBDISABLE, foo); @@ -6161,7 +6194,8 @@ mod tests { #[test] #[ignore] fn compile_check_d11ctime_csr() { - use super::*; let mut d11ctime_csr = CSR::new(HW_D11CTIME_BASE as *mut u32); + use super::*; + let mut d11ctime_csr = CSR::new(HW_D11CTIME_BASE as *mut u32); let foo = d11ctime_csr.r(utra::d11ctime::CONTROL); d11ctime_csr.wo(utra::d11ctime::CONTROL, foo); @@ -6183,7 +6217,8 @@ mod tests { #[test] #[ignore] fn compile_check_wfi_csr() { - use super::*; let mut wfi_csr = CSR::new(HW_WFI_BASE as *mut u32); + use super::*; + let mut wfi_csr = CSR::new(HW_WFI_BASE as *mut u32); let foo = wfi_csr.r(utra::wfi::WFI); wfi_csr.wo(utra::wfi::WFI, foo); @@ -6205,7 +6240,8 @@ mod tests { #[test] #[ignore] fn compile_check_event_source0_csr() { - use super::*; let mut event_source0_csr = CSR::new(HW_EVENT_SOURCE0_BASE as *mut u32); + use super::*; + let mut event_source0_csr = CSR::new(HW_EVENT_SOURCE0_BASE as *mut u32); let foo = event_source0_csr.r(utra::event_source0::PERFEVENT); event_source0_csr.wo(utra::event_source0::PERFEVENT, foo); @@ -6219,7 +6255,8 @@ mod tests { #[test] #[ignore] fn compile_check_event_source1_csr() { - use super::*; let mut event_source1_csr = CSR::new(HW_EVENT_SOURCE1_BASE as *mut u32); + use super::*; + let mut event_source1_csr = CSR::new(HW_EVENT_SOURCE1_BASE as *mut u32); let foo = event_source1_csr.r(utra::event_source1::PERFEVENT); event_source1_csr.wo(utra::event_source1::PERFEVENT, foo); @@ -6233,7 +6270,8 @@ mod tests { #[test] #[ignore] fn compile_check_event_source2_csr() { - use super::*; let mut event_source2_csr = CSR::new(HW_EVENT_SOURCE2_BASE as *mut u32); + use super::*; + let mut event_source2_csr = CSR::new(HW_EVENT_SOURCE2_BASE as *mut u32); let foo = event_source2_csr.r(utra::event_source2::PERFEVENT); event_source2_csr.wo(utra::event_source2::PERFEVENT, foo); @@ -6247,7 +6285,8 @@ mod tests { #[test] #[ignore] fn compile_check_event_source3_csr() { - use super::*; let mut event_source3_csr = CSR::new(HW_EVENT_SOURCE3_BASE as *mut u32); + use super::*; + let mut event_source3_csr = CSR::new(HW_EVENT_SOURCE3_BASE as *mut u32); let foo = event_source3_csr.r(utra::event_source3::PERFEVENT); event_source3_csr.wo(utra::event_source3::PERFEVENT, foo); @@ -6261,7 +6300,8 @@ mod tests { #[test] #[ignore] fn compile_check_event_source4_csr() { - use super::*; let mut event_source4_csr = CSR::new(HW_EVENT_SOURCE4_BASE as *mut u32); + use super::*; + let mut event_source4_csr = CSR::new(HW_EVENT_SOURCE4_BASE as *mut u32); let foo = event_source4_csr.r(utra::event_source4::PERFEVENT); event_source4_csr.wo(utra::event_source4::PERFEVENT, foo); @@ -6275,7 +6315,8 @@ mod tests { #[test] #[ignore] fn compile_check_perfcounter_csr() { - use super::*; let mut perfcounter_csr = CSR::new(HW_PERFCOUNTER_BASE as *mut u32); + use super::*; + let mut perfcounter_csr = CSR::new(HW_PERFCOUNTER_BASE as *mut u32); let foo = perfcounter_csr.r(utra::perfcounter::CONFIG); perfcounter_csr.wo(utra::perfcounter::CONFIG, foo); @@ -6375,7 +6416,8 @@ mod tests { #[test] #[ignore] fn compile_check_identifier_mem_csr() { - use super::*; let mut identifier_mem_csr = CSR::new(HW_IDENTIFIER_MEM_BASE as *mut u32); + use super::*; + let mut identifier_mem_csr = CSR::new(HW_IDENTIFIER_MEM_BASE as *mut u32); let foo = identifier_mem_csr.r(utra::identifier_mem::IDENTIFIER_MEM); identifier_mem_csr.wo(utra::identifier_mem::IDENTIFIER_MEM, foo); diff --git a/xous-ipc/Cargo.toml b/xous-ipc/Cargo.toml index ca1bd1e84..63beafeb2 100644 --- a/xous-ipc/Cargo.toml +++ b/xous-ipc/Cargo.toml @@ -4,12 +4,12 @@ description = "System call interface for Xous" edition = "2018" license = "MIT OR Apache-2.0" name = "xous-ipc" -version = "0.9.21" +version = "0.9.24" repository = "https://github.com/betrusted-io/xous-core/" homepage = "https://betrusted.io/" # Dependency versions enforced by Cargo.lock. [dependencies] -xous = "0.9.21" +xous = "0.9.24" bitflags = {version = "1"} rkyv = {version = "0.4.3", features = ["const_generics"], default-features = false} diff --git a/xous-rs/Cargo.toml b/xous-rs/Cargo.toml index 194abce68..c9ffc1d43 100644 --- a/xous-rs/Cargo.toml +++ b/xous-rs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "xous" -version = "0.9.21" +version = "0.9.24" authors = ["Sean Cross "] edition = "2021" license = "MIT OR Apache-2.0" @@ -20,6 +20,7 @@ default = [] lang-ja = [] lang-zh = [] lang-en-tts = [] +lang-fr = [] # If this is set, then the "Drop" feature of MemoryMessage structs # will not be implemented. This should only be set by the kernel. diff --git a/xous-rs/src/definitions.rs b/xous-rs/src/definitions.rs index 7cee91acb..39b5d00c8 100644 --- a/xous-rs/src/definitions.rs +++ b/xous-rs/src/definitions.rs @@ -460,6 +460,9 @@ pub enum Result { /// the caller. NewProcess(ProcessStartup), + /// 20: A scalar with five values + Scalar5(usize, usize, usize, usize, usize), + UnknownResult(usize, usize, usize, usize, usize, usize, usize), } @@ -523,6 +526,7 @@ impl Result { 0, ], Result::NewProcess(p) => Self::add_opcode(19, p.into()), + Result::Scalar5(a, b, c, d, e) => [15, *a, *b, *c, *d, *e, 0, 0], Result::UnknownResult(arg1, arg2, arg3, arg4, arg5, arg6, arg7) => { [usize::MAX, *arg1, *arg2, *arg3, *arg4, *arg5, *arg6, *arg7] } @@ -600,6 +604,7 @@ impl Result { 17 => Result::None, 18 => Result::MemoryReturned(MemorySize::new(src[1]), MemorySize::new(src[2])), 19 => Result::NewProcess(src.into()), + 20 => Result::Scalar5(src[1], src[2], src[3], src[4], src[5]), _ => Result::UnknownResult(src[0], src[1], src[2], src[3], src[4], src[5], src[6]), } } diff --git a/xous-rs/src/locale.rs b/xous-rs/src/locale.rs index 0531e37ff..4d26337f9 100644 --- a/xous-rs/src/locale.rs +++ b/xous-rs/src/locale.rs @@ -4,9 +4,12 @@ pub const LANG: &str = "ja"; pub const LANG: &str = "zh"; #[cfg(feature="lang-en-tts")] pub const LANG: &str = "en-tts"; +#[cfg(feature="lang-fr")] +pub const LANG: &str = "fr"; #[cfg(not(any( feature="lang-ja", feature="lang-zh", - feature="lang-en-tts" + feature="lang-en-tts", + feature="lang-fr" )))] pub const LANG: &str = "en"; diff --git a/xous-rs/src/syscall.rs b/xous-rs/src/syscall.rs index 492211913..5047abe73 100644 --- a/xous-rs/src/syscall.rs +++ b/xous-rs/src/syscall.rs @@ -327,6 +327,7 @@ pub enum SysCall { /// * **Ok**: The Scalar / Send message was successfully sent, or the Borrow has finished /// * **Scalar1**: The Server returned a `Scalar1` value /// * **Scalar2**: The Server returned a `Scalar2` value + /// * **Scalar5**: The Server returned a `Scalar5` value /// * **BlockedProcess**: In Hosted mode, the target process is now blocked /// /// # Errors @@ -342,6 +343,7 @@ pub enum SysCall { /// * **Ok**: The Scalar / Send message was successfully sent, or the Borrow has finished /// * **Scalar1**: The Server returned a `Scalar1` value /// * **Scalar2**: The Server returned a `Scalar2` value + /// * **Scalar5**: The Server returned a `Scalar5` value /// * **BlockedProcess**: In Hosted mode, the target process is now blocked /// /// # Errors @@ -467,10 +469,11 @@ pub enum SysCall { /// /// ## Errors /// * **BadAddress**: The mapping does not exist - #[cfg(feature="v2p")] - VirtToPhys( - usize, /* virtual address */ - ), + #[cfg(feature = "v2p")] + VirtToPhys(usize /* virtual address */), + + /// Return five scalars to the sender + ReturnScalar5(MessageSender, usize, usize, usize, usize, usize), /// This syscall does not exist. It captures all possible /// arguments so detailed analysis can be performed. @@ -516,8 +519,9 @@ pub enum SysCallNumber { JoinThread = 36, SetExceptionHandler = 37, AdjustProcessLimit = 38, - #[cfg(feature="v2p")] + #[cfg(feature = "v2p")] VirtToPhys = 39, + ReturnScalar5 = 40, Invalid, } @@ -562,8 +566,9 @@ impl SysCallNumber { 36 => JoinThread, 37 => SetExceptionHandler, 38 => AdjustProcessLimit, - #[cfg(feature="v2p")] + #[cfg(feature = "v2p")] 39 => VirtToPhys, + 40 => ReturnScalar5, _ => Invalid, } } @@ -928,15 +933,18 @@ impl SysCall { 0, 0, ], - #[cfg(feature="v2p")] - SysCall::VirtToPhys(vaddr) => [ - SysCallNumber::VirtToPhys as usize, - *vaddr, - 0, - 0, - 0, - 0, - 0, + #[cfg(feature = "v2p")] + SysCall::VirtToPhys(vaddr) => { + [SysCallNumber::VirtToPhys as usize, *vaddr, 0, 0, 0, 0, 0, 0] + } + SysCall::ReturnScalar5(sender, arg1, arg2, arg3, arg4, arg5) => [ + SysCallNumber::ReturnScalar5 as usize, + sender.to_usize(), + *arg1, + *arg2, + *arg3, + *arg4, + *arg5, 0, ], SysCall::Invalid(a1, a2, a3, a4, a5, a6, a7) => [ @@ -1103,8 +1111,11 @@ impl SysCall { SysCallNumber::JoinThread => SysCall::JoinThread(a1 as _), SysCallNumber::SetExceptionHandler => SysCall::SetExceptionHandler(a1 as _, a2 as _), SysCallNumber::AdjustProcessLimit => SysCall::AdjustProcessLimit(a1, a2, a3), - #[cfg(feature="v2p")] + #[cfg(feature = "v2p")] SysCallNumber::VirtToPhys => SysCall::VirtToPhys(a1 as _), + SysCallNumber::ReturnScalar5 => { + SysCall::ReturnScalar5(MessageSender::from_usize(a1), a2, a3, a4, a5, a6) + } SysCallNumber::Invalid => SysCall::Invalid(a1, a2, a3, a4, a5, a6, a7), }) } @@ -1201,6 +1212,7 @@ impl SysCall { SysCall::TryConnect(_) | SysCall::TryReceiveMessage(_) | SysCall::ReturnToParent(_, _) + | SysCall::ReturnScalar5(_, _, _, _, _, _) | SysCall::ReturnScalar2(_, _, _) | SysCall::ReturnScalar1(_, _) | SysCall::ReturnMemory(_, _, _, _) @@ -1343,6 +1355,25 @@ pub fn return_scalar2( } } +/// Return 5 scalars to the provided message. +pub fn return_scalar5( + sender: MessageSender, + val1: usize, + val2: usize, + val3: usize, + val4: usize, + val5: usize, +) -> core::result::Result<(), Error> { + let result = rsyscall(SysCall::ReturnScalar5(sender, val1, val2, val3, val4, val5))?; + if let crate::Result::Ok = result { + Ok(()) + } else if let Result::Error(e) = result { + Err(e) + } else { + Err(Error::InternalError) + } +} + /// Claim a hardware interrupt for this process. pub fn claim_interrupt( irq_no: usize, @@ -1530,6 +1561,7 @@ pub fn try_send_message(connection: CID, message: Message) -> core::result::Resu Ok(Result::Ok) => Ok(Result::Ok), Ok(Result::Scalar1(a)) => Ok(Result::Scalar1(a)), Ok(Result::Scalar2(a, b)) => Ok(Result::Scalar2(a, b)), + Ok(Result::Scalar5(a, b, c, d, e)) => Ok(Result::Scalar5(a, b, c, d, e)), Ok(Result::MemoryReturned(offset, valid)) => Ok(Result::MemoryReturned(offset, valid)), Err(e) => Err(e), v => panic!("Unexpected return value: {:?}", v), @@ -1572,6 +1604,7 @@ pub fn send_message(connection: CID, message: Message) -> core::result::Result Ok(Result::Ok), Ok(Result::Scalar1(a)) => Ok(Result::Scalar1(a)), Ok(Result::Scalar2(a, b)) => Ok(Result::Scalar2(a, b)), + Ok(Result::Scalar5(a, b, c, d, e)) => Ok(Result::Scalar5(a, b, c, d, e)), Ok(Result::MemoryReturned(offset, valid)) => Ok(Result::MemoryReturned(offset, valid)), Err(e) => Err(e), v => panic!("Unexpected return value: {:?}", v), @@ -1872,7 +1905,7 @@ pub fn set_exception_handler( */ /// Translate a virtual address to a physical address -#[cfg(feature="v2p")] +#[cfg(feature = "v2p")] pub fn virt_to_phys(va: usize) -> core::result::Result { rsyscall(SysCall::VirtToPhys(va)).and_then(|result| { if let Result::Scalar1(pa) = result { diff --git a/xtask/Cargo.toml b/xtask/Cargo.toml index eac1007db..89c5c1d3a 100644 --- a/xtask/Cargo.toml +++ b/xtask/Cargo.toml @@ -17,5 +17,5 @@ serde_json = "1.0.41" serde = { version = "1.0.130", features = ["derive"] } tempfile = "3.3.0" ureq = { version = "2.5.0", features = ["json"] } -svd2utra = "0.1.6" +svd2utra = "0.1.7" # toml_edit = "0.14.4" # would be used to verify Cargo.toml files, but it's too hard to do this right now. \ No newline at end of file diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 06aa684d0..61aa414d5 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -117,12 +117,12 @@ fn main() -> Result<(), Box> { // packages located on crates.io. For testing non-local build configs that are less // concerned about software supply chain and more focused on developer convenience. let base_pkgs_remote = [ - "xous-log@0.1.12", // "well known" service: debug logging - "xous-names@0.9.20", // "well known" service: manage inter-server connection lookup - "xous-susres@0.1.16", // ticktimer registers with susres to coordinate time continuity across sleeps - "xous-ticktimer@0.1.15", // "well known" service: thread scheduling + "xous-log@0.1.15", // "well known" service: debug logging + "xous-names@0.9.24", // "well known" service: manage inter-server connection lookup + "xous-susres@0.1.20", // ticktimer registers with susres to coordinate time continuity across sleeps + "xous-ticktimer@0.1.19", // "well known" service: thread scheduling ].to_vec(); - let xous_kernel_remote = "xous-kernel@0.9.14"; + let xous_kernel_remote = "xous-kernel@0.9.20"; // ---- extract position independent args ---- let lkey = get_flag("--lkey")?; diff --git a/xtask/src/verifier.rs b/xtask/src/verifier.rs index 49c628479..f4e0614fc 100644 --- a/xtask/src/verifier.rs +++ b/xtask/src/verifier.rs @@ -10,20 +10,20 @@ use crate::DynError; pub fn check_project_consistency() -> Result<(), DynError> { let check_pkgs = [ // this set updates with kernel API changes - "xous@0.9.21", - "xous-kernel@0.9.14", - "xous-ipc@0.9.21", - "xous-api-log@0.1.15", - "xous-api-names@0.9.16", - "xous-api-susres@0.9.14", - "xous-api-ticktimer@0.9.14", - "xous-log@0.1.12", - "xous-names@0.9.20", - "xous-susres@0.1.16", - "xous-ticktimer@0.1.15", + "xous@0.9.24", + "xous-kernel@0.9.20", + "xous-ipc@0.9.24", + "xous-api-log@0.1.18", + "xous-api-names@0.9.20", + "xous-api-susres@0.9.18", + "xous-api-ticktimer@0.9.18", + "xous-log@0.1.15", + "xous-names@0.9.24", + "xous-susres@0.1.20", + "xous-ticktimer@0.1.19", // this set is only updated if the utralib changes - "utralib@0.1.8", - "svd2utra@0.1.6", + "utralib@0.1.9", + "svd2utra@0.1.7", ]; for pkg in check_pkgs { verify(pkg.into())?;

    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