From 97e8ee378e2602e6b8bbbc62d104b4a8f288b018 Mon Sep 17 00:00:00 2001 From: mmagician Date: Fri, 21 Jun 2024 14:15:49 +0200 Subject: [PATCH 01/23] move to 0.5 alpha release --- Cargo.lock | 291 ++++++++++++++++++++++++++++++++--------------------- Cargo.toml | 18 ++-- 2 files changed, 186 insertions(+), 123 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b945325..ff177f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -70,6 +70,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + [[package]] name = "any_ascii" version = "0.1.7" @@ -84,9 +90,9 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "ark-bn254" -version = "0.4.0" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +checksum = "c662c88acb89e9a9fb4c62fc5f6f102d9e1cfbd7bb6386cdb872b52a801fbece" dependencies = [ "ark-ec", "ark-ff", @@ -127,10 +133,12 @@ dependencies = [ [[package]] name = "ark-crypto-primitives" -version = "0.4.0" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" +checksum = "7ed5da133cbc7e9371314b9ba947c3cd853ee2c3f2b69f7c9fbdd06f531c5b0e" dependencies = [ + "ahash 0.8.11", + "ark-crypto-primitives-macros", "ark-ec", "ark-ff", "ark-relations", @@ -140,23 +148,39 @@ dependencies = [ "blake2", "derivative", "digest", + "fnv", "rayon", "sha2", ] +[[package]] +name = "ark-crypto-primitives-macros" +version = "0.5.0-alpha.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b9052772e97bf7787afc79340c435f62fba71807edd6ba5b9f1ec67a59b72bc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + [[package]] name = "ark-ec" -version = "0.4.1" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c60370a92f8e1a5f053cad73a862e1b99bc642333cd676fa11c0c39f80f4ac2" +checksum = "dfd2059d3f93e1e1d6895f0d605e5f5a256fe8aeaafa3e4f0fa49812daa151e9" dependencies = [ + "ahash 0.8.11", "ark-ff", "ark-poly", "ark-serialize", "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools", + "educe", + "fnv", + "hashbrown 0.14.5", + "itertools 0.13.0", + "num-bigint", + "num-integer", "num-traits", "rayon", "zeroize", @@ -164,53 +188,53 @@ dependencies = [ [[package]] name = "ark-ff" -version = "0.4.1" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2d42532524bee1da5a4f6f733eb4907301baa480829557adcff5dfaeee1d9a" +checksum = "66c882014dad87209b9c504b3d74d786be0c33bab9736d2596583255d52cf4c1" dependencies = [ "ark-ff-asm", "ark-ff-macros", "ark-serialize", "ark-std", - "derivative", + "arrayvec", "digest", - "itertools", + "educe", + "itertools 0.13.0", "num-bigint", "num-traits", "paste", "rayon", - "rustc_version", "zeroize", ] [[package]] name = "ark-ff-asm" -version = "0.4.2" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +checksum = "c989d1176288a7a591c662e16b98219505366bf48ccb5efa27984748d31b785f" dependencies = [ "quote", - "syn 1.0.109", + "syn 2.0.71", ] [[package]] name = "ark-ff-macros" -version = "0.4.2" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +checksum = "e9fbc6fa5c2cb1936287236cc76572f773dbfb5df5dd814386b180e668904371" dependencies = [ "num-bigint", "num-traits", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.71", ] [[package]] name = "ark-groth16" -version = "0.4.0" +version = "0.5.0-alpha" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" +checksum = "4ecade223752b57d97c7ca928f0d05baba9b3206d7a9a61cf6855f2eb4762e20" dependencies = [ "ark-crypto-primitives", "ark-ec", @@ -224,23 +248,25 @@ dependencies = [ [[package]] name = "ark-poly" -version = "0.4.1" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6ec811462cabe265cfe1b102fcfe3df79d7d2929c2425673648ee9abfd0272" +checksum = "b66c85f512876fd2b8763fcb0c045d2819bbda24b6020e6a893f15985d6d1ccf" dependencies = [ + "ahash 0.8.11", "ark-ff", "ark-serialize", "ark-std", - "derivative", - "hashbrown 0.13.2", + "educe", + "fnv", + "hashbrown 0.14.5", "rayon", ] [[package]] name = "ark-relations" -version = "0.4.0" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" +checksum = "67a8805794af93c9540d28f8bf1f40fa0dac8704ca0e54f508dfcc28466f130a" dependencies = [ "ark-ff", "ark-std", @@ -250,32 +276,34 @@ dependencies = [ [[package]] name = "ark-serialize" -version = "0.4.1" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7e735959bc173ea4baf13327b19c22d452b8e9e8e8f7b7fc34e6bf0e316c33e" +checksum = "48a69fbd004ea7b7fc8946475495298341e961381d33dc5c89c112cdf319b11d" dependencies = [ "ark-serialize-derive", "ark-std", + "arrayvec", "digest", "num-bigint", + "rayon", ] [[package]] name = "ark-serialize-derive" -version = "0.4.2" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +checksum = "95905921bd063ddeade5b8b992a6ee509d47c765abcbd38e70c71af1c61ee2f5" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.71", ] [[package]] name = "ark-snark" -version = "0.4.0" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" +checksum = "01684c73c36ad4a307517c0ad1872686dc403b351a96af657723da33d7549e63" dependencies = [ "ark-ff", "ark-relations", @@ -285,9 +313,9 @@ dependencies = [ [[package]] name = "ark-std" -version = "0.4.0" +version = "0.5.0-alpha.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +checksum = "0fd37a4e913a2fa8885035d8ae16b73f79e76db9c236c4275658b58580b47f03" dependencies = [ "num-traits", "rand", @@ -317,13 +345,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -365,7 +393,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -478,9 +506,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "3d08263faac5cde2a4d52b513dadb80846023aade56fcd8fc99ba73ba8050e92" dependencies = [ "arrayref", "arrayvec", @@ -637,9 +665,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.104" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b6a57f98764a267ff415d50a25e6e166f3831a5071af4995296ea97d210490" +checksum = "47de7e88bbbd467951ae7f5a6f34f70d1b4d9cfce53d5fd70f74ebe118b3db56" dependencies = [ "jobserver", "libc", @@ -926,7 +954,7 @@ dependencies = [ "clap", "criterion-plot", "csv", - "itertools", + "itertools 0.10.5", "lazy_static", "num-traits", "oorandom", @@ -948,7 +976,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" dependencies = [ "cast", - "itertools", + "itertools 0.10.5", ] [[package]] @@ -1070,12 +1098,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -1094,15 +1122,15 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1118,13 +1146,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.9", + "darling_core 0.20.10", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1215,7 +1243,7 @@ checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1259,9 +1287,9 @@ dependencies = [ [[package]] name = "document-features" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" dependencies = [ "litrs", ] @@ -1292,6 +1320,18 @@ dependencies = [ "spki", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.71", +] + [[package]] name = "either" version = "1.13.0" @@ -1373,6 +1413,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.71", +] + [[package]] name = "enumset" version = "1.1.3" @@ -1388,10 +1448,10 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1546,7 +1606,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "syn 2.0.68", + "syn 2.0.71", "toml 0.7.8", "walkdir", ] @@ -1564,7 +1624,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1590,7 +1650,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.68", + "syn 2.0.71", "tempfile", "thiserror", "tiny-keccak", @@ -1915,7 +1975,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -2093,20 +2153,14 @@ dependencies = [ "ahash 0.7.8", ] -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash 0.8.11", -] - [[package]] name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "allocator-api2", +] [[package]] name = "hashers" @@ -2239,9 +2293,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.29" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -2436,6 +2490,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -2494,7 +2557,7 @@ dependencies = [ "diff", "ena", "is-terminal", - "itertools", + "itertools 0.10.5", "lalrpop-util", "petgraph", "regex", @@ -2854,7 +2917,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -2874,9 +2937,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "open-fastrlp" @@ -2926,7 +2989,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3109,7 +3172,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3147,7 +3210,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3231,7 +3294,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3617,7 +3680,7 @@ dependencies = [ "rkyv_derive", "seahash", "tinyvec", - "uuid 1.9.1", + "uuid 1.10.0", ] [[package]] @@ -3826,7 +3889,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3929,9 +3992,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] @@ -3959,13 +4022,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3976,7 +4039,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -4164,7 +4227,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a94494913728908efa7a25a2dd2e4f037e714897985c24273c40596638ed909" dependencies = [ - "itertools", + "itertools 0.10.5", "lalrpop", "lalrpop-util", "phf", @@ -4289,9 +4352,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -4344,9 +4407,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" [[package]] name = "tempfile" @@ -4481,9 +4544,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -4521,7 +4584,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -4617,7 +4680,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.15", ] [[package]] @@ -4655,9 +4718,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" dependencies = [ "indexmap 2.2.6", "serde", @@ -4692,7 +4755,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -4902,9 +4965,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" [[package]] name = "valuable" @@ -5113,7 +5176,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", "wasm-bindgen-shared", ] @@ -5147,7 +5210,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5874,7 +5937,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -5894,7 +5957,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -5938,9 +6001,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index aa1d91d..6175951 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,15 +18,15 @@ num-traits = { version = "=0.2.15", default-features = false } num-bigint = { version = "=0.4.3", default-features = false, features = ["rand"] } # ZKP Generation -ark-crypto-primitives = { version = "=0.4.0" } -ark-ec = { version = "=0.4.1", default-features = false, features = ["parallel"] } -ark-ff = { version = "=0.4.1", default-features = false, features = ["parallel", "asm"] } -ark-std = { version = "=0.4.0", default-features = false, features = ["parallel"] } -ark-bn254 = { version = "=0.4.0" } -ark-groth16 = { version = "=0.4.0", default-features = false, features = ["parallel"] } -ark-poly = { version = "=0.4.1", default-features = false, features = ["parallel"] } -ark-relations = { version = "=0.4.0", default-features = false } -ark-serialize = { version = "=0.4.1", default-features = false } +ark-crypto-primitives = { version = "0.5.0-alpha" } +ark-ff = { version = "0.5.0-alpha", default-features = false, features = ["parallel", "asm"] } +ark-ec = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } +ark-std = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } +ark-bn254 = { version = "0.5.0-alpha" } +ark-groth16 = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } +ark-poly = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } +ark-relations = { version = "0.5.0-alpha", default-features = false } +ark-serialize = { version = "0.5.0-alpha", default-features = false } # decoding of data hex = "=0.4.3" From 05b77f0c84c0c98bd1d0c847db50f4f2bccdbf77 Mon Sep 17 00:00:00 2001 From: mmagician Date: Sat, 13 Jul 2024 14:53:26 +0200 Subject: [PATCH 02/23] update mycircuit circom file and its r1cs output --- test-vectors/mycircuit.circom | 6 ++++-- test-vectors/mycircuit.r1cs | Bin 264 -> 264 bytes test-vectors/mycircuit.sh | 23 +++++++++++++++++++++++ test-vectors/mycircuit.wasm | Bin 30625 -> 34288 bytes test-vectors/test.zkey | Bin 2580 -> 2580 bytes 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100755 test-vectors/mycircuit.sh diff --git a/test-vectors/mycircuit.circom b/test-vectors/mycircuit.circom index 1ca4dae..59af90d 100644 --- a/test-vectors/mycircuit.circom +++ b/test-vectors/mycircuit.circom @@ -1,6 +1,8 @@ +pragma circom 2.1.0; + template Multiplier() { - signal private input a; - signal private input b; + signal input a; + signal input b; signal output c; c <== a*b; diff --git a/test-vectors/mycircuit.r1cs b/test-vectors/mycircuit.r1cs index 0aebe9115cde7c8b8287014e293f9dff14dedf6c..e61b9b091d3e08fab09d4639f9763e776451f221 100644 GIT binary patch delta 46 qcmeBR>R{q5GE6RJWME)mo*3Fbk;jLZ8OT-uVlbHaQJe!L00IEXX$Hjr delta 68 ucmeBR>R{q2GE6RJWME)m2I7emd?xa==zy3CK#UAPVjuug3Ia?JiU9yIH3fkH diff --git a/test-vectors/mycircuit.sh b/test-vectors/mycircuit.sh new file mode 100755 index 0000000..3dcead0 --- /dev/null +++ b/test-vectors/mycircuit.sh @@ -0,0 +1,23 @@ +# run from within test-vectors dir +DIR="test-vectors" +if [ ! -d "$DIR" ]; then + echo "Directory $DIR does not exist. Please ensure you are running this script from the correct location." + exit 1 +fi + +cd "$DIR" + +echo "compiling" +circom mycircuit.circom --r1cs --wasm + +FILE="powersOfTau28_hez_final_17.ptau" +if [ ! -f "$FILE" ]; then + echo "getting powers of tau" + curl -O https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_17.ptau +else + echo "$FILE already exists" +fi + + +echo "zkey" +snarkjs zkey new mycircuit.r1cs powersOfTau28_hez_final_17.ptau test.zkey diff --git a/test-vectors/mycircuit.wasm b/test-vectors/mycircuit.wasm index 4a28f0c11c19939b3d70aae10d311b9d7078fb1a..ef5493ab7f3ccff754b9242aa2b7146e3568b8a8 100644 GIT binary patch literal 34288 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 diff --git a/test-vectors/test.zkey b/test-vectors/test.zkey index 882364e61492bb315a1fd37c57b7d45f07385211..22c9327dd551b58e543977db206647f461576d26 100644 GIT binary patch delta 76 zcmV-S0JHy;6qFRO& Date: Sat, 13 Jul 2024 15:25:33 +0200 Subject: [PATCH 03/23] gitignore ptau files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ea8c4bf..23997a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +*.ptau \ No newline at end of file From 021c2690518e40d5392e98298477c5494d74c75f Mon Sep 17 00:00:00 2001 From: mmagician Date: Sat, 13 Jul 2024 17:32:53 +0200 Subject: [PATCH 04/23] deprecate circom1 cleanup dead code --- Cargo.toml | 3 +- src/witness/circom.rs | 137 +++---------------------- src/witness/mod.rs | 6 -- src/witness/witness_calculator.rs | 163 ++++-------------------------- 4 files changed, 33 insertions(+), 276 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6175951..818cd1d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,8 +53,7 @@ name = "groth16" harness = false [features] -default = ["wasmer/default", "circom-2", "ethereum"] +default = ["wasmer/default", "ethereum"] wasm = ["wasmer/js-default"] bench-complex-all = [] -circom-2 = [] ethereum = ["ethers-core"] diff --git a/src/witness/circom.rs b/src/witness/circom.rs index c88c1b9..ad3053d 100644 --- a/src/witness/circom.rs +++ b/src/witness/circom.rs @@ -7,164 +7,57 @@ pub struct Wasm { pub memory: Memory, } -pub trait CircomBase { - fn init(&self, store: &mut Store, sanity_check: bool) -> Result<()>; - fn func(&self, name: &str) -> &Function; - fn get_n_vars(&self, store: &mut Store) -> Result; - fn get_u32(&self, store: &mut Store, name: &str) -> Result; - // Only exists natively in Circom2, hardcoded for Circom - fn get_version(&self, store: &mut Store) -> Result; -} - -pub trait Circom1 { - fn get_ptr_witness(&self, store: &mut Store, w: u32) -> Result; - fn get_fr_len(&self, store: &mut Store) -> Result; - fn get_signal_offset32( - &self, - store: &mut Store, - p_sig_offset: u32, - component: u32, - hash_msb: u32, - hash_lsb: u32, - ) -> Result<()>; - fn set_signal( - &self, - store: &mut Store, - c_idx: u32, - component: u32, - signal: u32, - p_val: u32, - ) -> Result<()>; - fn get_ptr_raw_prime(&self, store: &mut Store) -> Result; -} - -pub trait Circom2 { - fn get_field_num_len32(&self, store: &mut Store) -> Result; - fn get_raw_prime(&self, store: &mut Store) -> Result<()>; - fn read_shared_rw_memory(&self, store: &mut Store, i: u32) -> Result; - fn write_shared_rw_memory(&self, store: &mut Store, i: u32, v: u32) -> Result<()>; - fn set_input_signal(&self, store: &mut Store, hmsb: u32, hlsb: u32, pos: u32) -> Result<()>; - fn get_witness(&self, store: &mut Store, i: u32) -> Result<()>; - fn get_witness_size(&self, store: &mut Store) -> Result; -} - -impl Circom1 for Wasm { - fn get_fr_len(&self, store: &mut Store) -> Result { - self.get_u32(store, "getFrLen") - } - - fn get_ptr_raw_prime(&self, store: &mut Store) -> Result { - self.get_u32(store, "getPRawPrime") - } - - fn get_ptr_witness(&self, store: &mut Store, w: u32) -> Result { - let func = self.func("getPWitness"); - - let res = func.call(store, &[w.into()])?; - - Ok(res[0].unwrap_i32() as u32) - } - - fn get_signal_offset32( - &self, - store: &mut Store, - p_sig_offset: u32, - component: u32, - hash_msb: u32, - hash_lsb: u32, - ) -> Result<()> { - let func = self.func("getSignalOffset32"); - func.call( - store, - &[ - p_sig_offset.into(), - component.into(), - hash_msb.into(), - hash_lsb.into(), - ], - )?; - - Ok(()) - } - - fn set_signal( - &self, - store: &mut Store, - c_idx: u32, - component: u32, - signal: u32, - p_val: u32, - ) -> Result<()> { - let func = self.func("setSignal"); - func.call( - store, - &[c_idx.into(), component.into(), signal.into(), p_val.into()], - )?; - - Ok(()) - } -} - -#[cfg(feature = "circom-2")] -impl Circom2 for Wasm { - fn get_field_num_len32(&self, store: &mut Store) -> Result { +impl Wasm { + pub(crate) fn get_field_num_len32(&self, store: &mut Store) -> Result { self.get_u32(store, "getFieldNumLen32") } - fn get_raw_prime(&self, store: &mut Store) -> Result<()> { + pub(crate) fn get_raw_prime(&self, store: &mut Store) -> Result<()> { let func = self.func("getRawPrime"); func.call(store, &[])?; Ok(()) } - fn read_shared_rw_memory(&self, store: &mut Store, i: u32) -> Result { + pub(crate) fn read_shared_rw_memory(&self, store: &mut Store, i: u32) -> Result { let func = self.func("readSharedRWMemory"); let result = func.call(store, &[i.into()])?; Ok(result[0].unwrap_i32() as u32) } - fn write_shared_rw_memory(&self, store: &mut Store, i: u32, v: u32) -> Result<()> { + pub(crate) fn write_shared_rw_memory(&self, store: &mut Store, i: u32, v: u32) -> Result<()> { let func = self.func("writeSharedRWMemory"); func.call(store, &[i.into(), v.into()])?; Ok(()) } - fn set_input_signal(&self, store: &mut Store, hmsb: u32, hlsb: u32, pos: u32) -> Result<()> { + pub(crate) fn set_input_signal( + &self, + store: &mut Store, + hmsb: u32, + hlsb: u32, + pos: u32, + ) -> Result<()> { let func = self.func("setInputSignal"); func.call(store, &[hmsb.into(), hlsb.into(), pos.into()])?; Ok(()) } - fn get_witness(&self, store: &mut Store, i: u32) -> Result<()> { + pub(crate) fn get_witness(&self, store: &mut Store, i: u32) -> Result<()> { let func = self.func("getWitness"); func.call(store, &[i.into()])?; Ok(()) } - fn get_witness_size(&self, store: &mut Store) -> Result { + pub(crate) fn get_witness_size(&self, store: &mut Store) -> Result { self.get_u32(store, "getWitnessSize") } -} -impl CircomBase for Wasm { - fn init(&self, store: &mut Store, sanity_check: bool) -> Result<()> { + pub(crate) fn init(&self, store: &mut Store, sanity_check: bool) -> Result<()> { let func = self.func("init"); func.call(store, &[Value::I32(sanity_check as i32)])?; Ok(()) } - fn get_n_vars(&self, store: &mut Store) -> Result { - self.get_u32(store, "getNVars") - } - - // Default to version 1 if it isn't explicitly defined - fn get_version(&self, store: &mut Store) -> Result { - match self.exports.get_function("getVersion") { - Ok(func) => Ok(func.call(store, &[])?[0].unwrap_i32() as u32), - Err(_) => Ok(1), - } - } - fn get_u32(&self, store: &mut Store, name: &str) -> Result { let func = &self.func(name); let result = func.call(store, &[])?; diff --git a/src/witness/mod.rs b/src/witness/mod.rs index cbb8a8a..f396bd2 100644 --- a/src/witness/mod.rs +++ b/src/witness/mod.rs @@ -5,14 +5,8 @@ mod memory; pub(super) use memory::SafeMemory; mod circom; -pub(super) use circom::CircomBase; pub use circom::Wasm; -#[cfg(feature = "circom-2")] -pub(super) use circom::Circom2; - -pub(super) use circom::Circom1; - use fnv::FnvHasher; use std::hash::Hasher; diff --git a/src/witness/witness_calculator.rs b/src/witness/witness_calculator.rs index ce73edc..c517ad3 100644 --- a/src/witness/witness_calculator.rs +++ b/src/witness/witness_calculator.rs @@ -1,23 +1,17 @@ -use super::{fnv, CircomBase, SafeMemory, Wasm}; +use super::{fnv, SafeMemory, Wasm}; use color_eyre::Result; use num_bigint::BigInt; use num_traits::Zero; use wasmer::{imports, Function, Instance, Memory, MemoryType, Module, RuntimeError, Store}; use wasmer_wasix::WasiEnv; -#[cfg(feature = "circom-2")] use num::ToPrimitive; -use super::Circom1; -#[cfg(feature = "circom-2")] -use super::Circom2; - #[derive(Debug)] pub struct WitnessCalculator { pub instance: Wasm, pub memory: Option, pub n64: u32, - pub circom_version: u32, pub prime: BigInt, } @@ -27,7 +21,6 @@ pub struct WitnessCalculator { #[error("{0}")] struct ExitCode(u32); -#[cfg(feature = "circom-2")] fn from_array32(arr: Vec) -> BigInt { let mut res = BigInt::zero(); let radix = BigInt::from(0x100000000u64); @@ -37,7 +30,6 @@ fn from_array32(arr: Vec) -> BigInt { res } -#[cfg(feature = "circom-2")] fn to_array32(s: &BigInt, size: usize) -> Vec { let mut res = vec![0; size]; let mut rem = s.clone(); @@ -95,78 +87,24 @@ impl WitnessCalculator { Ok(wasm) } - pub fn new_from_wasm(store: &mut Store, wasm: Wasm) -> Result { - let version = wasm.get_version(store).unwrap_or(1); - // Circom 2 feature flag with version 2 - #[cfg(feature = "circom-2")] - fn new_circom2( - instance: Wasm, - store: &mut Store, - version: u32, - ) -> Result { - let n32 = instance.get_field_num_len32(store)?; - instance.get_raw_prime(store)?; - let mut arr = vec![0; n32 as usize]; - for i in 0..n32 { - let res = instance.read_shared_rw_memory(store, i)?; - arr[(n32 as usize) - (i as usize) - 1] = res; - } - let prime = from_array32(arr); - - let n64 = ((prime.bits() - 1) / 64 + 1) as u32; - - Ok(WitnessCalculator { - instance, - memory: None, - n64, - circom_version: version, - prime, - }) + pub fn new_from_wasm(store: &mut Store, instance: Wasm) -> Result { + let n32 = instance.get_field_num_len32(store)?; + instance.get_raw_prime(store)?; + let mut arr = vec![0; n32 as usize]; + for i in 0..n32 { + let res = instance.read_shared_rw_memory(store, i)?; + arr[(n32 as usize) - (i as usize) - 1] = res; } + let prime = from_array32(arr); - fn new_circom1( - instance: Wasm, - store: &mut Store, - version: u32, - ) -> Result { - // Fallback to Circom 1 behavior - let n32 = (instance.get_fr_len(store)? >> 2) - 2; - let mut safe_memory = - SafeMemory::new(instance.memory.clone(), n32 as usize, BigInt::zero()); - let ptr = instance.get_ptr_raw_prime(store)?; - let prime = safe_memory.read_big(store, ptr as usize, n32 as usize)?; - - let n64 = ((prime.bits() - 1) / 64 + 1) as u32; - safe_memory.prime = prime.clone(); - - Ok(WitnessCalculator { - instance, - memory: Some(safe_memory), - n64, - circom_version: version, - prime, - }) - } - - // Three possibilities: - // a) Circom 2 feature flag enabled, WASM runtime version 2 - // b) Circom 2 feature flag enabled, WASM runtime version 1 - // c) Circom 1 default behavior - // - // Once Circom 2 support is more stable, feature flag can be removed + let n64 = ((prime.bits() - 1) / 64 + 1) as u32; - cfg_if::cfg_if! { - if #[cfg(feature = "circom-2")] { - match version { - 2 => new_circom2(wasm, store, version), - 1 => new_circom1(wasm, store, version), - - _ => panic!("Unknown Circom version") - } - } else { - new_circom1(instance, memory, version) - } - } + Ok(WitnessCalculator { + instance, + memory: None, + n64, + prime, + }) } pub fn calculate_witness)>>( @@ -177,72 +115,9 @@ impl WitnessCalculator { ) -> Result> { self.instance.init(store, sanity_check)?; - cfg_if::cfg_if! { - if #[cfg(feature = "circom-2")] { - match self.circom_version { - 2 => self.calculate_witness_circom2(store, inputs), - 1 => self.calculate_witness_circom1(store, inputs), - _ => panic!("Unknown Circom version") - } - } else { - self.calculate_witness_circom1(inputs, sanity_check) - } - } + self.calculate_witness_circom2(store, inputs) } - // Circom 1 default behavior - fn calculate_witness_circom1)>>( - &mut self, - store: &mut Store, - inputs: I, - ) -> Result> { - let old_mem_free_pos = self.memory.as_ref().unwrap().free_pos(store)?; - let p_sig_offset = self.memory.as_mut().unwrap().alloc_u32(store)?; - let p_fr = self.memory.as_mut().unwrap().alloc_fr(store)?; - - // allocate the inputs - for (name, values) in inputs.into_iter() { - let (msb, lsb) = fnv(&name); - - self.instance - .get_signal_offset32(store, p_sig_offset, 0, msb, lsb)?; - - let sig_offset = self - .memory - .as_ref() - .unwrap() - .read_u32(store, p_sig_offset as usize) - .unwrap() as usize; - - for (i, value) in values.into_iter().enumerate() { - self.memory - .as_mut() - .unwrap() - .write_fr(store, p_fr as usize, &value)?; - self.instance - .set_signal(store, 0, 0, (sig_offset + i) as u32, p_fr)?; - } - } - - let mut w = Vec::new(); - - let n_vars = self.instance.get_n_vars(store)?; - for i in 0..n_vars { - let ptr = self.instance.get_ptr_witness(store, i)? as usize; - let el = self.memory.as_ref().unwrap().read_fr(store, ptr)?; - w.push(el); - } - - self.memory - .as_mut() - .unwrap() - .set_free_pos(store, old_mem_free_pos)?; - - Ok(w) - } - - // Circom 2 feature flag with version 2 - #[cfg(feature = "circom-2")] fn calculate_witness_circom2)>>( &mut self, store: &mut Store, @@ -483,10 +358,6 @@ mod tests { wtns.prime.to_str_radix(16), "30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000001".to_lowercase() ); - assert_eq!( - { wtns.instance.get_n_vars(&mut store).unwrap() }, - case.n_vars - ); assert_eq!({ wtns.n64 }, case.n64); let inputs_str = std::fs::read_to_string(case.inputs_path).unwrap(); From 44eae794cb88f4c54d48c49073513df94973efae Mon Sep 17 00:00:00 2001 From: mmagician Date: Sat, 13 Jul 2024 17:42:11 +0200 Subject: [PATCH 05/23] update safe circuit (circuit2) code fix safe circuit --- test-vectors/circuit2.circom | 6 +- test-vectors/circuit2.wasm | Bin 36949 -> 36312 bytes test-vectors/safe-circuit-witness.json | 135 ++++++++++++++++++++++++- test-vectors/safe-circuit.sh | 15 +++ 4 files changed, 153 insertions(+), 3 deletions(-) create mode 100755 test-vectors/safe-circuit.sh diff --git a/test-vectors/circuit2.circom b/test-vectors/circuit2.circom index 1cd0da2..db8dd2a 100644 --- a/test-vectors/circuit2.circom +++ b/test-vectors/circuit2.circom @@ -1,3 +1,5 @@ +pragma circom 2.0.0; + template CheckBits(n) { signal input in; signal bits[n]; @@ -15,8 +17,8 @@ template CheckBits(n) { } template Multiplier(n) { - signal private input a; - signal private input b; + signal input a; + signal input b; signal output c; signal inva; signal invb; diff --git a/test-vectors/circuit2.wasm b/test-vectors/circuit2.wasm index 3495132c252fea8ae1f7f29d71816c82b00657e5..706eee9253765034784789f4c2eb95bda2c43cb2 100644 GIT binary patch literal 36312 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 literal 36949 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�R` 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 Date: Sat, 13 Jul 2024 16:25:20 +0200 Subject: [PATCH 06/23] remove the test case as we no longer have circom to reproduce it remove unused file remove further smt stuff --- src/witness/witness_calculator.rs | 18 +----------------- test-vectors/smtverifier10-input.json | 1 - test-vectors/smtverifier10-witness.0.json | 1 - test-vectors/smtverifier10-witness.json | 1 - test-vectors/smtverifier10.wasm | Bin 390306 -> 0 bytes 5 files changed, 1 insertion(+), 20 deletions(-) delete mode 100644 test-vectors/smtverifier10-input.json delete mode 100644 test-vectors/smtverifier10-witness.0.json delete mode 100644 test-vectors/smtverifier10-witness.json delete mode 100644 test-vectors/smtverifier10.wasm diff --git a/src/witness/witness_calculator.rs b/src/witness/witness_calculator.rs index c517ad3..76a7eed 100644 --- a/src/witness/witness_calculator.rs +++ b/src/witness/witness_calculator.rs @@ -316,7 +316,7 @@ mod tests { let witness: Vec = serde_json::from_str(&witness).unwrap(); let witness = &witness.iter().map(|x| x.as_ref()).collect::>(); run_test(TestCase { - circuit_path: root_path("test-vectors/circuit2.wasm").as_str(), + circuit_path: root_path("test-vectors/circuit2_js/circuit2.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input1.json").as_str(), n_vars: 132, // 128 + 4 n64: 4, @@ -324,22 +324,6 @@ mod tests { }); } - #[tokio::test] - async fn smt_verifier() { - let witness = - std::fs::read_to_string(root_path("test-vectors/smtverifier10-witness.json")).unwrap(); - let witness: Vec = serde_json::from_str(&witness).unwrap(); - let witness = &witness.iter().map(|x| x.as_ref()).collect::>(); - - run_test(TestCase { - circuit_path: root_path("test-vectors/smtverifier10.wasm").as_str(), - inputs_path: root_path("test-vectors/smtverifier10-input.json").as_str(), - n_vars: 4794, - n64: 4, - witness, - }); - } - use serde_json::Value; use std::str::FromStr; diff --git a/test-vectors/smtverifier10-input.json b/test-vectors/smtverifier10-input.json deleted file mode 100644 index 5f99b40..0000000 --- a/test-vectors/smtverifier10-input.json +++ /dev/null @@ -1 +0,0 @@ -{"enabled":1,"fnc":0,"root":"4677130581325536491486966387607462164138332022971476080171400451642918512081","siblings":["3663166078965935940798554689567237216195612079341396621785946741270885707796","0","0","15268343501033916092396853374199187988748455820543796633535012025134089057292","0","0","0","0","0","0"],"oldKey":0,"oldValue":0,"isOld0":0,"key":8,"value":"88"} diff --git a/test-vectors/smtverifier10-witness.0.json b/test-vectors/smtverifier10-witness.0.json deleted file mode 100644 index 4f505b2..0000000 --- a/test-vectors/smtverifier10-witness.0.json +++ /dev/null @@ -1 +0,0 @@ -["1","1","4677130581325536491486966387607462164138332022971476080171400451642918512081","3663166078965935940798554689567237216195612079341396621785946741270885707796","0","0","15268343501033916092396853374199187988748455820543796633535012025134089057292","0","0","0","0","0","0","0","0","0","8","88","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","20401005071856934512126577919502093469896998333576395423210405098533190508507","11221637573274527616863092148963749320478792326359046885677505791311769356018","8745783385554450415208935817556852505963904666879292035461030896427986458112","9244054540770593249164904411947793447281401475699918706115188959349553172609","6581545343376332934470298595303632772511109891764171139465847680676650578729","12975903254346194675529240354727255457038095804076524091329755869393139766310","19803394941685684270813854857745644278038054764942536290820369900488658686769","5585940125353456154521445874379558632458207346008607940080790213364645505640","11244506172933668759891206264732186405597437035907023598547133839316120885010","3851610976264127763238413778601510263979165838589148071349426447569686985537","7071322364577335901969711896982054043277813863419856561388537194670266500928","3422067089417484796438032477722219695118990728746401029759595625790364149058","12805072737486811772973782049375276466806793382130045923297598542528800907640","17594513878835829024628278755667566984922043736716840421722068539653840180098","11676632784204779241861891185738674481683374135588050557642915940062806296009","17029162924965293673613365522846640100950910855072609798239625459599435756432","898211697157487519549227415570576029211121292361396405283406356883749403433","14366915830202766326462188063191230174833179536088645343834382544400378063817","12664457920371440200917881112751351791448665078161964422114373799678084000050","17225831107330066355623410954976865220779035414911632504709423461069070042847","15657915420758543114125245922743178484097012107933132545134956351582036480599","19754853673624730710977384068239569426733090852240507254234975130775960609938","8198290072019908088585613427402075944609199376238991750557143368792110056917","1333407219535987206869704320213118282868594714568243577334397935211111565715","21696472737914927716029078365694485185304677066522490566902805064270348556171","21497072371838054498503157730407578511075553217113204002988434039207246371578","5716079215469010939187327511333079592012591456756259945796209224952163593487","20404170185245755308843976534997243568739930447604335283167685199377654923677","3861104375503645343253701541822050315728344764334581528650347764808466008772","12176975535856139763876059137788210748198215908393783789694770294237423844957","9247875438240158930194335478535671336864947763413807028167313109015312968497","6592516723531779047857309550899157470275721686168529216387600586493627849431","16476508353622634039502369128688793162898765582396203485037731125713134755088","16991997937888716195946864204614725755234396710735877165513368685452596661198","3914988840617461336651438811845515669502559158528622460013509105300914427028","3863115990534889945500773133511145528863330703330314568158266628528605597927","416082415334241412724663049953052712235794129102416316011799084427861582432","7012848816004284185035158201803358903539970170529540142208517967114500409289","309124229574207157014906527537525694202070019156169063436887145561949857354","4903932045637942020910927595036398365107193846462306614299284140404690065068","7000863141160564151708317534611959556176902405007176070976400358908336487170","21691282481141582101787333268357348185168707972411497385218229921979851496714","4993846952465067232508627513995021849200978865360389076614854507987120521327","13679265692718148432964414312888965754192456198167844449126675613603764431353","17066325425121808184493925216967757222883042054035551418153107722149034573896","17710845672394130184756857369322756347951455276898130666623871172064208747979","18791922148050535258510569444323003216256558953498764128968513159495756490056","21422612213975069678703444003440769029703257979189053492384391986190935853154","14074415911075350631884210592009132418311763228478585328870829236957130742199","16712164885928936209544215710602236499399381264333010921664416671110192821993","3890144174096543702457795424381092106714103806060869185105952186578895867756","11411603826185899674971789468779496707097420392589574681030457227865151634051","11278134006242651868902384814455424534094895878266224494208932651040997774068","1357976199171393844376689379124945751111697904858997084755974405416513135130","4343153040657565323028111840502007152428817003888600450694507961870476715049","9181377387595337580491416874175160168294493245080934245751816446388796751333","2425255305536196957205709729120798214436921859930479453252945270807748959831","6578001121361113879940172957236491457133313864689528387979479021821170227528","6164826779736626116597963547825155927772940310941968391447058498265132941261","3700108232241915958613696304948507201904544448046297515460883207338904971957","6190605837118282399165843470388989860287782868077605535985954418426816486848","6106138037438722673902364538115559045760636760660522230477535279666035413187","7405964407182383200594638786755813280180795146585621289192941432152439440086","2200073129892824111028068225485916839587213026436809124266199233346024821857","777319442678688744821482923415270381777286492397327378325402245889926113240","4017789474855628294606140402010623796688815094558205632387074072916552303805","11541270330683062542002567459358015349727014574901601721365737063538627848784","2823446574700218657249665947434174672382654962132488646881644193852571932673","18645589912182584889008316601334376095060638659765559115298650825082369851287","3680029750573981264593517375834933811009820922904952587272493770675150374356","2929666058350115345342236274632809166146917579536660504655231315555436676586","8320637811295883468181433499036831046557397880226343311828585289892587214515","16591937026101200113681836715463161062807490929046078632696350632714015846273","8795690113722596255446828902343872522907104874764323843148878360839846919788","20366663702866348723626834188465001593290575846081185935326903927067034107252","12342598629879250444478089943466892992579599146445696118318894716353479374633","16259012922543827169350964030933195000537381418255367480041281802653105554367","12727226511659528038841457459572229869377155257323116804496913969535909098288","4163951756144334245982358155937243341098470553469840012078653410810603589985","16103760585047488043518047184267211279733736508403896735104081570559394710718","17968408395015647153390654310047841793100589888981506050760915440531564687486","16351568846757948082188054307032332134518555898871318879812972448998152306907","6342581867536954425364947512495207954907702963409018744505216713745289776619","9363831508530600700698420618137039463907207123540773426371039894423765974248","20075832863770169333140290362784679987512130747407669117958068862238087506494","21580125495149521509798300361163549289523125106301210180275602913697795554567","1937040316623820023960935271645884612309404618891512677359910025188104033226","21517678618944895039240977900966127769332156048840516238088842026700305705012","20728974232879640650907968365809502694287999028914817913019859489247556584657","3409922081783949327397585571502224023322363594505140360630521720238096632048","4352570094213759068010467281635359513546837716394971164736674562929400659212","18092743800455456886347218203111800469191995169022333387522916747113632570721","2720063087673413801723557690255579841302823358803320266748888047895700178045","17175110071593084131946893556501435042165047431415201347091813354122835260983","9564979330152443288757003931479794587522179114133060435658579983149254930452","3347318299939765106607470741145767094546236829410691679119011792301797632966","14304502015050510948444307105619853777717641581631912930792268465609404021745","13092175495279360971869065949746520811223147791128757546399480296412351058636","1707262360973913201290435384049854356393578103195212390738103913777738765421","19547205526504752356643386138961952832928916942163722567977251224617238914117","9085154959324178162089071949842580458454326822530247712634309003141924702486","12814237133700871021032361735785084146217842200097327414960119130631110311442","1359758249310568523959159411473149159617592555982101840296408398338014100783","3104980275139829931512442595755479318019380107275848824776224035187014631003","5493324324817078234775956780046158417049208997028274089444829337603296722426","1681520132627660515759216226058108884817107492719428021074441745269746284718","13662965712161503073421247925426256337681191812734409004926825920787983550049","13953690466383149502155233198046014428345178899886405774602488957627161563198","19508620792125602182604291052414997117479520340671156481638198006380435206454","15585806510286403785339305494026941066403103642461231767248063552270235798329","10591076546558341465956035434738467664797258248905485988162498958505153513549","7303414353594474076771047430548081276179918923761331892484251075976564495075","17809199738317839532834887681838755795863975391799342593236782185975857238832","16604278472391565348616039444424523867654345641807562460418656489568589645032","8237960180613089133251894643818308954848678663543875572693460953231041608999","20252627952247442853516997323335870309495884623902725391299640626806641363419","13010139359466442214028326184148905507075133675038826752784828106826780272511","10593150018938904650239309235782794716816364828345398853512108236577076228427","21367786691449289003262284660230829190347540659543560982766812158031120620473","6451648692626028930093936406515211657854909709777953110081985716539273220516","12766739823382181891283205641808414952509826741782530753613193983744392728448","4152627578387185259720856370164111187765235611908230932235714802983217744703","20559441146863706706612756361694163338214336751967192218824662904135304898265","21585694903436710940838237655335883320936489820548029731069199515972395902380","20086222984858344510153414643427012481264615220408902558799562092479204992935","4412297587711446043658653737773520913552739358415225931706151379637525239477","2018569567026351713371810181667215232974538547903561168814261759374068701803","19991380241176495288021205698639569317246725881199633001218387487225194499399","16690616887676576899275604530394123990808241817956807416089902772332005033784","12197411165633993311637818946920192462264030916481390428255919160240064902539","21360178049769523245638150201112394465160991252228772394025429826522876900707","12042620832074551150671733150982473051019870966564909661218834109744780832683","7575945236670015505297026945469622313829376830393540658820227626247404896917","1177554713186658763324413579030047150809337955329593674502439221398324469772","20701437816539673739193127221977693028818199043643329736436109179070047986613","21277375846212685001160649578521759416533171901229920395278837137843958994298","5167361814658027993443792587272450359866078492250847529914167555027021088752","15491994655976316629130032876017990030761400577254625018363825894120530242078","11227788182697009408713227845225539812449541448277168680929743423822707529016","6805999662232917683088357937775508272384308252402567889259796646010812882509","19147779879984705098129733151170417062086581671669029655550877954792558142120","6767138719486424092389456488423146405376629165433241332938689996397685776600","7930912798246568183862348412267808581384988460482027147004935278632461616331","2840685718056113649483300108416912411553089383486903035854107190428939595608","5168388012160650046818706408111785055211044776154200232884758331702687554334","10804401084335200432200234570784426047440267309244921012516844845499016980664","5879447319630148454436579568803516195284192221266612058486316005113897095930","13917146744616545927466577242504887257092990414335537997096436089688482879066","7281193707760517178701005290717080306813564631661049871540602881963365683570","4714562661041331587767734533894097091396488088860418963518426473589804557487","13887563944098051139877147513872141311344298949607520302221303592669471460570","16579059176161881255591784547021600660183776427736277671308519582581979168878","8694977228299859841175623888800715810340720419926627503988818183239920254073","2172253260743250401035024421278379777916382490227575054809637917357788441312","14665571968318605496084681499335240332202318897099276835041940682766807976907","13788414596479781830905239782377049622946683526352305364078392223659290971584","18846694414052465556659565992225098024384646887582834683138263144484156013216","18909694294096613181566240927846162134571252858203666549730835332103200690035","11302305857141628538629953629326471087204891592808197565589978544546426632081","6227200756618295061351735117380809309630763426846510648575304931856516037841","8021312996668423572838508273377537114213652367510483138732039589143910942285","21388094391985017261787469872068829174474019054586123619541825509796561450790","21885651340100197866119915077229901141001400587163480023167719003850464453378","1608755743284263772124938006622577179113688179673570557030033176267563213041","13050375867717790111352186875571909444667320683101020630233156531382762997902","4180493677097985629503954411759408181273462596141906530266328347694482447964","16811998889189663419776324321715740745154975581084585098481145952898063763925","16612502123140902787932370622659883066359797218657937716504038581027498683678","15769175760205404886801504889168121006624730224917112560602404161996659168361","20052131037268168276455630892186744046507841591520494885002299620411034571862","11286349682428768936719355726833992780573753672773572798304688720131939941802","15293151422103730504035658386990919038025737188769598280820302135301927386912","18703537633868269115461117846009556047576534581284962047788460371685925813668","19816902833644091320363126330118840288762510118845312064098145305766287003223","6949529972860419420429881205468865348186754309617968830960173223899557068871","21769760420707708407196283509804176958755850063132524803247207048895874481547","16473440670711897050313900169854568259807762012647829221269081056318792356126","5755517310638949109705199598640619834726909253002725292857053231304608155045","18514834954938936122733927663845294725735316174228237138021110413393046162581","17571597077800905223425674691799272951518841099899533191990592453235956462954","10343484121259456581495033186763792506225736617417894740287403400452942118070","8186370189144040948121370788563796344048042083081451096538106522673478588702","8995025199059491390637130758318854239417833814558039265434685177008885657376","3031472894766219059858005879618131510547478592444817981222996099059821846881","2096428173458244970035526371806757154215216540598106496719732366873152520837","8675946050592777564397329804724481502039667147072709891128997869096929909302","17906690355906715260861029848190721333178832439438757851850849610334161786543","4384788675154419950337779244254851527639700456846122803163036431404897343108","10634747710354045161595825225067140147638177833819964359291109028759478763621","4580007891428170105461347466211733339661434246730887454077503547854614786950","6720944024268957202412287014295868893359381461158140752090329880073245402319","21067675131658633409859213918385464384511429181488894854369374713210855461815","16177587773864804257177452843060500221886822743222984664060487906675527734703","13079635341912832179522112507633850975262973331265925673861158474356511611384","16236233157426847369987516405740925840383712577721411003080927736978196366559","17097099286724890492201072326079274906042444622668857230524228768759306104985","12374897587824358200842113460666498015857548278280740473550475324753591770620","3743009308795546792486590404059394908393015243149251676878652068279426604464","13432526247494961087744035539077952702179727966783485855320023422065068950252","14688776804642386173370616887634934837860201468381553713589845678935220814417","20904319181107930591693522497108668757957419786841420945208626464814153089193","19407641638080623902880021605403902459599192981944013662244523661942092202498","21720689962955897879072073704808757982038470068030781698960518758667577129677","11556047135933626896991588396593649827497284072272132683055383198656940349048","19257583335877403011481825317736793499880424865167133441637092959749399313502","13275085742513982073825903569505547173921689074792003972342829667341416493126","18186872120656666367984034318751888935557574116281525928633345317144781969073","14599117383639859062997186133227491056306039136668700051238992695822329595098","19740951317365036802810812995171476018610554899213047341766274684214000740145","9232422044771875096580864407828551184325758239361884860195530069570407413318","5782771296280052360904902126779087649052846261379285480209334847379086457360","17775282817901904888330413443189119364682659487019158676987538587625189917675","1066561985776794466121987377463909476153575322506563004801404340179984503358","916610154805361771422714723232443767291038192009867156950524039746086028401","4263481370387913376337920860725556717557869034134864109920649685553200846737","21527423542512274990094513736693705044639494441663212768988971472445510517978","10772690412778715474843013948287122660611007948917009503717928759138195613014","18989845603394891199611627052394615555798122422360150509305595512430227212110","1487098483796490147575884469388782159299789468561110722348429487198102511632","11667047470399501056529839354106390056855239389300339367976940850340830689602","5338067017433143995924920876000505719377099047442243276435769640883922280642","1639154030154468844685352572728959965411397422368845217263926967377984087918","13132630700141676106323558960818397425405595913465552969558631534061094705576","2458781772273794819307075201130420262482061223367508169648376645311313254366","6989078751359738075626608779501110225709667509447635458687084301860445414746","20836197943088438759206423067022986510252062173602603489446775527012291159050","18390977497454237569981882804497550599991431944174604456803823228635067811916","4479367924266739311074668717226301598844575048116616983202084854079931435570","2372419656930102328120568984777773190858918440893623551278564788948605764950","17424291298284456433265316564330140848645960802620988826169646524423608305736","5191605225433260421899104272077087002740218354346855625304698999580323149994","17898440187463079591870946871304745777602605814215664686278564822325291419191","17611859793190030697270091204050783889385403582777422405706234317717780973100","6588587992156876940819466372868592907549272382061712287684384984996473409069","7571197384407543438573501918487955350438229069418009632490500922685766556226","19622703780298965679676905213767547082077482457947888893360172083867854718926","21446166290358832595129109900917818945140329225281180988061882531971704945157","14649292190763374051361083505220623580043497183975221593597470501022875986346","9250214836887340715465257774381457509613303863101998855836867422306668714320","3799607608415765239282726340696436000586985801883310385292182905931378559808","17716236540211356810682240131328879925291668848938188875646461996226633603517","3887247465597261866432589749777530709095472168951470811122850860456882054277","6525687314391411916112093511825672263789004056033625391579990650584140851278","18592972741726720044072476390541116995214640896242376564042077906654954615137","12997212889971214092134739212016042815399565774915015723654277172229677291011","4254868471812137051590028129329703685529333363876224691622049514478855958366","14077966582517650919095650571577815704088597646103632306418723366506982670177","2119040149469535235354287029771330452747208537753577105519400357108434620411","21207697933470223869807555124325166307406257362044904072363334745276665314519","7190349195858345271646884052209071028827286750667738554028330712093377579936","16265488593955930172602312822419213417723968840302817494967024427075137839227","3815741010043562088607530283042787457524759791192323981761722086661415318698","583720915355772636555020703257046532442295128724429828849982324889318921432","1102170375893401441969298656526252647564281790059860493515220468546293038983","20767630688965793693794841558983931333464021565935903930902434604933701634957","21616121155846316756550750706226004899196665451412952515147921487185019383040","5002740013222387832459522707343247526776565128458994065010013201054029150030","6422077943179130803411797212230074834259655685154616288632319414611811921679","6019275795713350605150056395270079054684805603375188442442583000164536600669","17914078933612908061224514463417935922110346592944014164310000755613126054170","884772023111484045899873716128401230350003279147268331381189004763305996576","17473959651366673630198321431736393430579835044648223641744676465172539467775","15447258812182481040301268885975493988884370066061371405663840836784218216964","8635047604843668793061248505841409069840701926714186786314566959169242448865","1913175376077276449938876878307650673449443092618268439860264573460817155356","17706537122791580851807813119734656545999717631833479323944583835616042046747","12713533224713702620572061555868239494560543672613943047779079905883794270793","15335431588644804698232638554832153707521179263496428095244719330764160979536","16972338882045649714960232935724128881358002139149662161855864918611719193447","20510265683377915239031331609931077634777511282902061740535762044318011447054","14348591232319171989710953381320670528467798633079274942581439677296902359507","7268761067249240551039469436291066141493626057753839932909829536129404405943","11177503563612935234878370475564044265033655526751198478229137454476060257389","20518306225043379063486161411895415905822729807964259472068843201645131954257","17274735491667046764616117425484985780921016176546365036792978392889983447275","3422727355178567490283294271244869036734587792776225423412684863858585667355","16361499482646211891495144643544799199439460048105681752590733351645896563991","9831378251659910502475468716900359141926459444308789377882824537354952704571","610751981717624005026256857476647225087205352593680510310135048655409805665","1274705802853698530896831887960868150413512303073765020858441284767481108557","12911573265070499437820407902233678187536367292819490176599490719474506679709","838780343058487840022597119049399265615305670097910639521946026305859537822","21886817593090220196061836652905990482772534345601206284920261819623544068569","13045057626386605209435393764744146030789888964374754365611177028824591744466","6872197446001880821713864607137207074245510844558962930055703063293109109677","9851117414973500062343684294511405799095673206164177441983808850858510638197","10356153918708276096440724514334813427938372190784074162287576232344370795144","5422236224208691735064222120059315321102696977576093626421991175019644275419","9270939530192661239044458014881210314222813499613547255416257255885663545705","17875006811148349666757764655667275519374986324184686591199872639841653267451","14223311161352757642768299768200066774808435309343986292557601348729896785348","15426232126866833911689462701146039651872381668257636712453957459186675608824","7341609890003755608731719926354383413086148334559783936923856681083371751858","2522916755395592528799997935331603289350745805903534350854142361512185858526","7975672719323847188584994034813755253910739379403210188890471743868304156385","10361152088869789372664667844034575270433189615534296913541908638779984022220","12565165574657902894308498356020741523059341649671415591209990377145546349749","8751927430299691834222222528273367980786855265571692230466656313501870515928","3782747889242504906539232417313404774472163523681147906451826831235080368272","2357908358798385925981298822139313965517778558204913007219318504379373437268","18858304770874740039984686448203470834562578493921595648210975754608317345623","7675993016512283682207173403605941444327148756612111199564173985331381488683","18818890453076413887523765231615383836499382990172339300581405948672279661939","20252144571549047445847058871179203700989782831670248309822846431530401883720","1548099034248382487438231907714050431020571588355663997785662562789965803980","16804474097957695744497077255787193298059334569168351136160606040471620694477","19508191667931806758288226550226059879657814340243709578088346681152392462495","1728719999167062338488031868382015025692441998348761079303220639921123256253","3604348649226051022337575722529270125804601416032976114063695533907383376063","10603799316068953108041964397928911876756607480893951394891306679070664686941","11648836007515467240952473614276607091898134725313122196877249156490523356027","20304987071409008531291607394096634487514970541849677970364964525409317001703","16887097190060385275598534531462546504328245264471846147005445996927829539625","3866748619116340790322227095657732028265396618488150952705187965765394142344","2338553626517986088379244573542094345133876349395153534676872066555319122659","2989903198038977576699565058449844165648971727702772542926261896668111017225","14278108812091993370081347429490097324884501265196936847107187781917283188596","11380653571214536036495190297205289870093439158653307679146162820611556102008","10728370069888852342064543039072884588207288307463842575342439018507973749875","6397015059973528659997355436100884860480194279234476207371274262619351989712","541153916915028861555802627075793763065968288425448237372538721080483579866","18703944686825210001777887304396928822416474276215979439014172442048460507918","14758294058966360999395530764869560471829375974872409340898445816910150933642","16526931650578182231679662261327171662688393688603926959024262791659875401297","602976647786763241606729968150119992779405527249465670521719980888114456911","18058348521510457484238468261675615616734549390787035210695832199652030799290","3408352310769542203249747633896333727677518788800695461819894477600392750387","13813696926749566428491595164396687786753780912143355428869363417663150103299","19226110628051298554688993880923837902732997396390909485477580979796568268253","1751416741656305902722022764840854257058950958650470467036624232208612663135","14273497410104557864925816124947236175101464480860485988459705747849145681216","17015769229295700838532275937420211087470832686975726393205562687498866290956","14317743544567964828895913664482783398948360705243772246269021084945454695426","1163710387996022107448633858536432008182893204461095765258858907535290527398","1157472141102273214560586147623465021722506106484968954764968896766765161328","11681638321160186580228856179688445951029310816905220272006101003142657558151","7819383141229404988917287897793820336725988282324748328500126584790204946216","4951737109128262717496808639553648804593962078862416064602914582392219323452","3442536812713619147824039056757226293704728452919903288417441857326983315172","10972029915673903790920684428014880528769637778570023451906625828019451706493","14773388161979847043531770832479609075984091647516302841116078929938077685390","6832011488895261587794164577700291580520309532692302077020376875264467715555","17143902297385696174135078846256591193632419203064831489933616909690183265289","17963799875997102172022690183795592375198545029882913008170902194968455818572","18877959338292270131211824401179673216317987726501062994411176561346079618062","14358101523035386382208062475555490310717442823564620083001831011989304676139","15796568151681791272753262366429731017034321762865614705556398537444716949893","13594857027304532283889325823930658134430393819837961037773389277784045884187","12136189727726413275229170388027187858694486236901282556934338668968776031849","1878632778304231028304727355487330626473470046303885272219164588770349458891","16873156099807728926852233664688168784075341453512083976642291718576315890258","11888191400576547298317080753543279148265645791517177796081641411013662826267","12210018620533033404291042202232857902072819731256915890812287001012514424820","2720995111620673475976904476404847046702162392875915718272984382599949577930","15740015006700066587650738996931848298647799054109075680819419326780689301412","18792314519811779877573893617497033030062705897791012092700956142509339219587","4533063041836045489675809767596619288203889485091241212692263726853545243001","20087279194440392445388020521232352321771796905350016545006792036125962969008","7662598580271470898701419629406835755452899820387556478370304330574127888110","2044322434996628951886285591950247795571711833625611674952208584770381736486","9298086345190166002533620311111572062855266053987387718138964764033420577753","899023757360740488398947202266024685219176491069483977212238341721384465909","20010267753246295660761776949157831033584594444801325360922807083432616388000","4450168704469888293988828437399020403079513401850888103443449346484211800937","14818763657168994501241419792426650382460802911500420715192462379889014218887","17499922386950534814980392095212646829833012336949589738217695906642893333161","4725703200623869934067110781096149110080128914289809281524369625038851276728","21835965127088232500387522593299395557327989607714564030101094338431057597467","5820797066449247361552221309787436085379889805203375090244078627730164212530","10690618433287001275009978059717247672897362692985112411393484683451942079152","6042827480936488655202996967650552195596171412588631273445587685915755805839","2124979120726636017099604334751505752148470044032645004013782814693996776755","5330435275056975088743051229223220800904435190882376049131249876689777155160","10124640773832184137904971182012863119485346620571202390914900093461027458298","4792024075244123098429550700645522059707473361886941368732914916479154714143","19199265391861538037180779666995909618497861428521118501466940732045803109056","4847826399302624775401994843815425199296930699401308990787135212735355431038","6407450376417859266449821859393770958635892367401690415325194496013043677136","1826395464858704884123218795787675583917701212492065945897042270085201498824","15238350515275529718536633219359365300853538429543725551430697362918415181074","21884720716136022005919093587710286615177807981683063472262896460904606628205","11689623546966353939670252259858789076351178209866822513410564961318335022311","7012794711375761331676943528254022381176901806276543398707129348614811953364","7180386038316110601441275181186218169286243634048902624801201568432593598141","13992917683661928463383695371898592624570240528944920013143005531297360192342","20034382193406507934708640117013118683945312285636692120801926999004026442192","14938652037071147313292164890053271808218189916901397934979103168334918558363","6648656337341126044962186909579051464159388727291296359968541322347995250420","12687003636792713485597279951140994909100599482079709621716948174519718796052","5108026212737931447624617494967304196499275147503023686887173141950819456829","13237879168621780799452013770046455143623364293054791609245436247351123437547","4341628653085149506528562773616721450933762016986791665663158769077061948538","2872050032952832698964730829903028920310787582321093426023746057532106397812","1367067391257975331756935824189631175172150708192657401957557819332219873827","2510908003064509602380389482004083587572613328572081988132878417052528058870","7084003845943087385716519398984211467638527143523438844810938260869100814307","21021470589871879755146279959973770415620667125847333514170945742003965711484","18375929337749007201709778590417087272057251219761079367326499808386163199502","3165201527196484602864016786637760443866722821135007004482670717537305516789","16717649565776057036320806132383209226780464215331716681516324418665003576180","20084295757088902108975491392002149988322839073620040409242765620165003006690","19241439593234676080041039883677491849402159269654950325486169959046767303641","4275910305427071218515830496145381854241709860849136935348204612634119544809","12898354034815273049223090812634413302174170749584845355813712153571284519914","1832136847875618967387144179529385178062929371405576686128489060593804295801","6069947755267812432913347261315755057349276133831784919354196155981254082646","11766183173827664081811296117089138123797414603598518127011517445259099898091","3993663602157055910018053040318139873694801305099748688074646613364745456069","15977276649214691975175801642730396873722756384246035320089179093520841000256","20303338735673445164192456383185100079100313199924244751665084177273928289523","20078019286098604448173211316407882189295460838424433108031089458601795603798","3307945001378206345398846558075581322286376391921099092518022108700861563718","21251247831852952153335635921612511638716100986041125503837495470248973341708","16246658361510148897664309243464380229567944126043953870011393349640538010692","1780654817260938957384325125461246845814503286839545932803113565621260161576","18710920936002511033230033673354693186030823806023934261043809330225688019647","9909111894805078760429022088296773927960051970891988461264950755997874666368","4345705541817674840760552109695955140943188102322798018969285864074427755164","4218015441219662255997165544650931566353829817981176787648891923654028187504","14312948242537810365234703004108012126182512780396291296729098565955837200965","295429846515676001104835276665049934394487183477715755147863239617239603688","15662344495653911375885561867591476367861074324822203271697194851167934401197","4793902408684290068019571137097387781094250811250560723390621410227755625428","4917605387106365671936349402138022267056891394874514471401018603057541394966","12993315137821697215971205486742231731559446527233973456459030184764267833130","16524985806030765353574471797740141094531695570270767498985348130558921348427","17013745813130281919891782917152585107471370145883327936054547011802523582182","17100361367645562641951805935367684861196104993797463923886759602641481183803","18833494072617086391597832039235402246961190856658717439789773239549364133295","20157866969311886681148400462214545913907226429163925709394672179635388896518","239609839853616379785377333442787354361568308011318294445268661600284057373","12020614379209217917047110972341532122216802896668712785859434794471240569360","1248739678507170190094138204517434142149054474900589856533653488451999142610","347915422993469780317591223477066986796955479205331632188505297615283578389","7999351262004511546770814747439380767590917178796919996885684840970542675481","20967594534594815486207550915474044087229684419402104901430196899850653362067","12899121896433082785388065281401431678366644722544051956929985724649596205064","18983588687933404065713078913700781650024901175649432230763486533515462594521","10766551589014395287410716892733848848003231068450440677265375421579008245609","20169652396045174249228895132866242783042168925415971892597182614884452884464","8957813983054350321796051550969191364715748771015789590569930810320606596431","9643155271414084161531721957806730069165955979114015273977651814640128472366","14700897093031440778526140571254449874936272810108988470714238171786681228615","14253815871028211364121586455534782624539734061148936548728775279097248553246","12623686528624702687438004549592639102850653340068344303348073426554835546383","10887499024511455665783360424280990671057735891551733295390571273395259237282","16792183329149820420875049780284492322598361840397896565294020303662868308403","9761704149743627159698957629672578406325922760477174888401254285722061841549","12931048515074471565571865161878351893082622778237083696666972505231964577505","15634847659877970105363072070507485783478919227149202058826464081071643773101","2906908506833041965320370496001711113060506302861350052429818849770038069678","8699899202483882769321195990250850850577555890082198906596960575592479589201","42373252218515653405393706267826997457994495485868519711417565290528955998","13298926901628935863638570113103068562843821480959781806957648334812991282309","11340495629472361531751136493827214341448466196267950757968881545938240013043","4410162973634101037164287543635784419735236595410876302496731409711464203560","6770504591846631067009674695263383781064304620185766583378598703662090659608","803268033919858655611811794309731920699017330011910045611157093721121626734","12911506200920624526864882942275121636127997230823935902940985092979574078964","17918643324157271778766566567889948352259699059171047284794326313189880774701","7009959043684140466581557454305689161448928833856327927307997281234391362846","13608676044229669503858530637021492044621349605932764029187667136233188902261","8469042229294487154908793664586203937411909612880073031669159370098423984545","6503765897633991782175459954225585422528890847227322728737944812623475852139","9715672328228477028203852818176561465039698179069163699650993321831992888477","17660990464121635097256814738911507903541707401612095639122186321774484595557","14804081443437546771116013793618853310717593234517633753124568696591221419786","6724218330718468523063558898686833457277735121312680344450184429142318815032","11402319676983861046390626662653884449314993741931036168486829754142513828259","16169080210743684844396699122536061698227435085322952297967432264699685757856","7675907879276133953708522162728651878121131686921572128914246808579870005917","4230211911914155476612752596599592280759202092722649006427735130558128219337","19994913083264981050872215776005351950306358251618357787279433070487904484823","14226987613623192001061092270841034855848619059750529499586599879686324456714","7045706519369812325556555256874783203298277170448306853617215815294968449904","2062849677144799356514567881687217598261884486125775155904626936404918986032","17601920854716323001594362511208188462850993131871853150842482389118606277711","3114106057124321155037877509199474249372783266108754138849102106650508205535","15465747930743984970223812683747855883693317069587253229201455749955846107163","3334494231965751270647811534096470335132564873859376879858935312105589711885","9823807746394349345368616975004290248806613677673994895815373421919965602266","5400271608648346754918607312792816605467323464770476391129036476619221125765","11770821436383451310596048403074829165521108637308954395370893718334054277368","20773403632811810296516343407006579798380994788000675726989846280765214549663","19605822286773678860331719553999804483779045012091324038328721032301094265056","7506448280816146246231851040199126517175663891590862860617123356646005555345","18126684419189656267813215765438780356938370095844302451607818952534708829765","13515823872008853824996025558859393212682839451413033376269220015533372008124","11462818572865227301821439771555025107926322021541096417968595142068838678265","387527620292599706620064005572533814830769480236179918610678629811523562236","21160096138473093258283714457499392397390620540060924570049011188639238085803","4354453094935226486359014408208016656075153446280746499510554516975950297130","1149854953378540661435822397775744272093475010171290951176022231193252054454","4886874912923569255211212213751909431336552875722832209717634183141312835459","8121417973301734978350814829063219763930505331511762446382376103512670333855","10397108991421661604545471702024443403572229499221138846385420184468156248436","135592906362394068721135816280006619658575717043549038357198542574796191751","12470986481443840884498861270893844690324714017774615057320249066166810815131","20711627617123608281465397514094515604912076289675946973464843147332653924743","19936523306637884947878303702523543831272475518000646601478891393886307224894","6610180504156263317235179434459908562313719468361106154297126173324848499090","2835947021190105212771241626312472117135141182807194884209080228417103438754","14991719226605127306441066466338764291641727399261080758950782642427317493566","3224955852105064561373076563380816036656741761437324050875349423939116643826","17986913328344175363997927083146937336279613526299537730298828188126021779067","14956620466071915113707982931908833123655918488965732670821007021323695567331","8273230426812750549513268262802322378227809250991622030042205458961448559361","12864204175590457893253605551535554300512181117280069428500328714508946474596","3856747252245224166966728227308235343017242206197065871162867092702777748228","5064589380721614521620432648404726474344877858870050645117028128155890472157","17855084468176511297023651008689325974304699449897905618704009760228510867305","10592444459552152581761051586259401938596901225175489278318737616663685510540","6169879685391435858857691820131996505378957223607348917145825765418631880515","8113562783193356344318894437081098186897299591291373320406057303483148742065","21628375570977952288299958796859480513666871363598101523098963887399205929440","2134865132164751654161455518567670919392897747989349525945201224885061887279","19429744046477844402907598398585600388537641557514304476273967618904065097380","10334858431682540793324733752716409902705019287129525537434622640519791881859","20898874645461345309219443195795227020136151785431504665854615665433057656034","21758936607630402529195006563442025392002485085893619072588368460552039953657","6658767622080579375212702865672225131694187648045659659491640133964821409021","15945223109716077813697724894481072775767923725068384358165128896271885377185","7493788631544480359761010651349903811913677854977183784782164761002795001013","1591024071527067760292081143937838601494082577069154394739643638063130650847","12619889692927553488927714722921271374516407458651205979102849490293579412361","13544060486316243019111794113241157741412385204952590231446494676348138782433","2887841573309108233158231126323775418060676605741555803818569347039364806120","11036140437691913600589642507367009124853186496834027940452890971374326749644","13459410879887221125208802127286738607219329998144370393597168847217136752309","14138446918712369212513361591812053045469401743940362364452295564191258618071","15139494420493896979465536772798315576661564585009975882149046490426430943584","2680555907002159385123500413017583949180278933797222446966030933631028615392","15487403918133177809118221011827665334424270640296194179725020674859862311148","2253081490999534554527627661799880907320552244022209364079259863144124063204","11191815691711088981123145114348502329836887875342463606897269964110132026398","5109339959165897707712238280262288223228410318321865982030257634795492624075","4228877585466284848766757257455261240377460433844128878744325273017336623330","362614992692373963638010157404324560163964919752108254809408812315768440698","5497792324848207351089823477182027421661697005728339438037281493209918368532","18300280641113926020062358545714253222621042370181649338471915860636927514005","5165038560428976080842235638073800522486475602829240088348607001517236391108","2008091893886066583601032642095457476875986236627706624298412511701486682373","18855234687460732907670779566552575320366460980688149277845081203486429085196","13389943196844183901355127422435750731202929208969262430001608034764394210668","7021308455275082494090292683339579828621547308114648482192389995456759019483","6585222136111747436624886140691552835483743497794532311521040071922248443420","21715523680622751847043762670484689094478706333228979861445139700243365776594","13416504159545791441009914591308927615633686498715702676442432727915988269082","2248673097632858668765361179839205001457921928295571511512730199800584213625","8201617310205868515409198034710234660861203915866715605849930565273415152742","15680268660957381191262801077602444572267901505301952184208993099935462124810","16104837654487289387088073687347866178758228946202427776701306205624672792028","13684332979506205929903153264861964109520505064291381840093693876889335151993","14298782347976668524645278060067709431261037349301522981877578968571565556100","14146039703163289539879685125644412698975703808605016607740716155671097450434","11934833171060725907314404100396400102926313444214797514298446783806475079254","5914086988947997830012843744355360132724998743777726913294864331058879138715","10659686720196564899287303479729456926962280252284297382118982673601141180405","1692869277894986008249025777573665756719181333137351109659460920317143830734","11121687568974872103818642807085399340558431041449573582444977407542211264004","3501050053396506996742711102422431158646670397678002654123600295042244164171","14984319169585253070148527069125354016209833099403929166529971220165461080109","11039249245607138942408416774669487123603045223333515097649259364656805712742","2859932898082976799590321590558908799276823987835443387471293467877754277565","19478458481483880492508096426388037208182771578389243036459312837722364528292","12681295366282558699393012939095360477842070047616469520212796398808404284054","13010182377434613954012233404363979798719688181232968966240632263017157983618","16037260491735954899197790080305488568587224615297648089505787564736457655504","3774943811190403499690974560575281409833645236366071596666126241657610017452","21814452909632353471149869440665903500310360262001108752776562989491779018263","52072281042752561123298216211920776224842140069522348353471850133101459444","5393226600522078959309667664647807969543977428132923032121300709179500319576","2535335411461130857251786076113019736467112607101573495446575260857514915285","3223186631939230423000089008145326734853542787816950488463620916770299441548","7203210648731017372643394417187027255626158150779569672743304509771556031568","7365613311894109391567490056887433110920012927687918796539454353472662806193","14706919882948918903316502617047588031491849474605859994059009247259486020572","3455208500142568951439012515724503646898391143487306421264185506460408250399","6176697988969134956767325675724315996342279819575423735264769950348921409207","12951834853082027138974145617464147922857695533654628319949695487103738097783","21540266130478603719496842280607306809615541536701125437958624893911805143507","15841251123604012933249526821849462516847731497880691132669932653838678041593","18948683310275384847923387957211395414092251858762610439160163446326775365243","21295038317344811116316108726319045473711109917897691371510311266185853001380","9095729641247909707668520027352422462525417609968833674217396882088429011133","7748284092532915876871264327404847715957163892603821067089338023968276636762","15504838028731494447984781439562882212473223734774564943920587671282013892783","17710545040585682988241551019670248079649743911204771375834642632997788982222","10356848241091081418291575127603139858556280821909592538600302788565231776573","2135069867766629257670982448236296634454202981621983661012300557748557064120","17125626450944567520231005064919628723567428206918336867263540842196820837720","4339710247506255212189027358431803298527452960376838551044914736673354018926","6930242572932818307072016665941050027383664335148847099555399010971211803352","4540469819839984928572435092473380609832679284334795966063195919694411877587","16628353401446674199275380109941591337811739913828377380737794433676215960528","11535473251411739443035362528505534882481533559097828804136416323035986938254","19579697444869757236996156907979434468393725881854767726694937129865836699720","9122237435448224029760899946316303693350992158431420619823600405922536098176","14160660546759582304436411024155309006194269578272087613920265117044205512077","18077708722465603517949588398649463852351624681209651633613380178864514332020","6241268709545939837365635267975060746505512224966727723691581500981526218338","14888529711719706713295983706169954857641487121071161174594422218430859599969","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","16384","32768","65536","0","262144","524288","1048576","2097152","4194304","8388608","16777216","0","67108864","134217728","268435456","0","0","2147483648","4294967296","0","17179869184","34359738368","0","0","274877906944","549755813888","1099511627776","2199023255552","4398046511104","8796093022208","17592186044416","35184372088832","70368744177664","140737488355328","0","562949953421312","0","2251799813685248","0","9007199254740992","18014398509481984","36028797018963968","72057594037927936","0","288230376151711744","0","0","2305843009213693952","4611686018427387904","0","18446744073709551616","36893488147419103232","73786976294838206464","147573952589676412928","0","590295810358705651712","1180591620717411303424","2361183241434822606848","4722366482869645213696","0","0","37778931862957161709568","75557863725914323419136","0","0","604462909807314587353088","1208925819614629174706176","2417851639229258349412352","4835703278458516698824704","9671406556917033397649408","19342813113834066795298816","38685626227668133590597632","0","154742504910672534362390528","0","0","1237940039285380274899124224","2475880078570760549798248448","0","9903520314283042199192993792","19807040628566084398385987584","39614081257132168796771975168","79228162514264337593543950336","158456325028528675187087900672","316912650057057350374175801344","0","0","0","5070602400912917605986812821504","10141204801825835211973625643008","20282409603651670423947251286016","0","81129638414606681695789005144064","0","324518553658426726783156020576256","0","1298074214633706907132624082305024","2596148429267413814265248164610048","5192296858534827628530496329220096","0","20769187434139310514121985316880384","41538374868278621028243970633760768","83076749736557242056487941267521536","166153499473114484112975882535043072","0","664613997892457936451903530140172288","0","2658455991569831745807614120560689152","5316911983139663491615228241121378304","10633823966279326983230456482242756608","0","0","85070591730234615865843651857942052864","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","1","1","0","1","1","1","1","1","1","1","0","1","1","1","0","0","1","1","0","1","1","0","0","1","1","1","1","1","1","1","1","1","1","0","1","0","1","0","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","0","1","1","1","1","0","0","1","1","0","0","1","1","1","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","1","1","0","0","0","1","1","1","0","1","0","1","0","1","1","1","0","1","1","1","1","0","1","0","1","1","1","0","0","1","0","0","0","0","0","0","0","0","0","1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","340282366920938463463374607431768211454","0","0","0","0","0","0","0","0","0","0","0","0","16384","32768","65536","0","262144","524288","1048576","2097152","4194304","8388608","16777216","0","67108864","134217728","268435456","0","0","2147483648","4294967296","0","17179869184","34359738368","0","0","274877906944","549755813888","1099511627776","2199023255552","4398046511104","8796093022208","17592186044416","35184372088832","70368744177664","140737488355328","0","562949953421312","0","2251799813685248","0","9007199254740992","18014398509481984","36028797018963968","72057594037927936","0","288230376151711744","0","0","2305843009213693952","4611686018427387904","0","18446744073709551616","36893488147419103232","73786976294838206464","147573952589676412928","0","590295810358705651712","1180591620717411303424","2361183241434822606848","4722366482869645213696","0","0","37778931862957161709568","75557863725914323419136","0","0","604462909807314587353088","1208925819614629174706176","2417851639229258349412352","4835703278458516698824704","9671406556917033397649408","19342813113834066795298816","38685626227668133590597632","0","154742504910672534362390528","0","0","1237940039285380274899124224","2475880078570760549798248448","0","9903520314283042199192993792","19807040628566084398385987584","39614081257132168796771975168","79228162514264337593543950336","158456325028528675187087900672","316912650057057350374175801344","0","0","0","5070602400912917605986812821504","10141204801825835211973625643008","20282409603651670423947251286016","0","81129638414606681695789005144064","0","324518553658426726783156020576256","0","1298074214633706907132624082305024","2596148429267413814265248164610048","5192296858534827628530496329220096","0","20769187434139310514121985316880384","41538374868278621028243970633760768","83076749736557242056487941267521536","166153499473114484112975882535043072","0","664613997892457936451903530140172288","0","2658455991569831745807614120560689152","5316911983139663491615228241121378304","10633823966279326983230456482242756608","0","0","85070591730234615865843651857942052864","0","1","1","1","1","1","1","1","1","1","1","1","1","1","0","1","1","0","1","1","1","1","1","1","1","0","1","1","1","0","0","1","1","0","1","1","0","0","1","1","1","1","1","1","1","1","1","1","0","1","0","1","0","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","0","1","1","1","1","0","0","1","1","0","0","1","1","1","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","1","1","0","0","0","1","1","1","0","1","0","1","0","1","1","1","0","1","1","1","1","0","1","0","1","1","1","0","0","1","1","0","0","0","0","0","0","1","1","1","1","0","0","0","0","0","3403282052539321372122021860745657553680346102370129270104818183970772517761","1","0","1","0","0","3966084645890315710559696097731071392208711270577602201535613204174857094254","1","0","1","0","1","0","1","0","1","0","1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","0","0","1","0","0","0","1","0","0","0","1","0","0","0","1","0","0","0","0","1","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","4956774473297228218177808603426275447194737735524046542778880267774734984259","0","15268343501033916092396853374199187988748455820543796633535012025134089057292","1991575504460612223546114865299474646257943304515291241464893473242019507707","11901539978222853815864157529306856010584887559181293189216107644984836321368","3178881295553794239860506403451650450933820405550876097900040137017296879575","15695350304883360156960130477307936151740188875004492120906277678406001655837","16826344477007765768790409751973842888553894334227296177888903209917977713224","2009106007901283113943166088308034082354600538473906484253318833438816066532","7525444220155677323431624491196796062450779751944523627149064690527786953396","3114202767840538183458136643348998964583459476932153867036980031962630216500","894130084419891374804457629118613897039453180155016420207155096590379571637","3754100530583241061913782921521985964143185758859395900224047980883074578474","19835926942870700619272568183957007665273155871741504510470837619056870563145","15206669438158011768828946000639324293652682629446360504608348942311693201702","12893759514429389857051773396811183585585943540312231051172874714074736967045","17177418268758901697679074017597413135587647017560341550385469590292455054707","21523783649819343177656607320968296726328369806556791638567771067374155543541","17926934714980175136370185007825473093397070734787025872166057825582804883159","17172103335496635982048060007321904816970383778344287924940070445235226808229","16740394211442824929068526940423342980277871712926919740734979435694246519421","20534429616991168412824631579248633481807433008205619665399010410261851703386","7285147938824760852043379553512169493471042454820445180591294363798516953504","5858338065191558857399447934989268372377549482718256795045792280571261317676","649267084902835194895506892484476195243896686009115916268240569370720482615","4412344503212706030725332695729164257890358855855368398754391678565647710647","18112825116641850778386675294067588505837698373918324518240221651160261707525","13446941287005642598648660867624305243994406520538658464353528872741667832519","10354651613021068091280105061269139828620127206746987828693496831820991384709","14685888153730538184178501336632865156982041104412660885306971119982794203193","18951130805137323463990557961132198354618273024570578263850543915109063907214","3236986524159986738626089458635744735171106752069061563605878206760339205245","20672111644240859945752452163227865194772574062338164361402602552229632299540","20346804094507020819968047978749504635230774669530457820055786318097002987396","12177427221400458552053297752263784166814439854588025146907748683705025503990","3996793204079399282264727485456567099392754752348921747690725880902155774883","20774057399196846352489845718608549179132176576937861817866452468337600283246","7763086135164283077240542284296619630597283484252132715921373766901741661059","13192156320266213371869989251714697546302417317610411067707098188447467558294","8238415473398561129581686171879002196315831255195357045716133067849028513624","21672383245924124065509225118144789314521306926347712971658502967127711839752","13012020188926047726028750104503252116088164905278522576140239138615712886391","11531225864393872879130267963834390213135457028555196058082689632923978578504","1374429987836832024925663332381688377727183283535439399463358044766820403865","20582661762103763063532366166875823465438425236626828988386155738229497274626","18309481389731998965735505337988742256122273457572191366612888044363307609826","562305773913117542486838766414298801898118957477656487549878592277702410545","5661344675371593629781096409597824041496339269437253834648224351932645257430","14586397503536186239346683770870509842644710312929463730564598527436463692978","9546838857413394418775154878994184683591081872458942639968019116746938277253","4658406407242717241101230128271970590483603870282147488363227597433510166092","8487033676296938325562569752849951186192328003797155928293171743205223787866","13830817689267378589183429023447038311434578580343821956292500223201184276065","8527232341960925240093423454606733461221926098288184217958222517236112887462","5309819665626127251260141199519708783872167931671516622942292467800758829013","18426044073326994616926011295293612877583096735521798219254794958275996970106","10311340847007151918639209348810222528468931770232397011773810857523831534643","21372218333084513198315237631805274915148808971437236022117813339381580539314","13071258463998171088740581568457877506571845304931952853918093420392229938479","13358470148052657908379478071077874877917857080797200693638169669858410074226","4996341866536120725897007084818790395712955051004768440706180549650386359725","9245999810732205515624879891835600494908101021573195580660409568354810662111","11875891622772625040459349622604772388167406101803302091951618456850654054901","10897379450288831548596075724258446019416400381306305751899844430137451290550","21031001881432657348536049054063831665526335293110717759135830866530137577301","892399872654444337561159684752339886536591197111498717235789614721215542958","9217454942694727659283142214740373866589259280189873069616243732586004262154","3183065556397129353688953840170828971545273254343662058034962119947215914741","790061001436300500670813968286056627158323695471625604573302967314706199206","6094110202748122994882364999297794704715226174318282589357947864278534140625","3116109249531338193952352688636256706322994077028946894694080341820665229166","7070308283511555379742293522766572177284404099585736537387238626444882335176","2616215035185232844779246882667097461878620810633059006336740809881188894551","13384926003198521303447082282579113555342674460322355598715304513015516295737","15124330113880256483235539299008684969380220864662269326130288528126670818728","13103182393484386441666041524089610044109614498311759975800209774751276664476","242640624948841244551681446446860616764949736713081765695950024876924797977","6401306327267387009363875023066511762098660245437220667305511236867842354876","912158516121724360946757261638588018516344732559839393384786394370589733941","492412967391049860117888030190510117286718774561242394912681443987590808914","21468775233462144014262544317068079186166280220835341920500890437842111803911","19505618008385857991776026195606647720777707229795976329000911152729134159670","15743570610032859304902863612577958316325762049224304380049363630414876191242","7464088480431560082762430258657988736901821029940093241182933924376323036106","16259189674503681196721699370524320327422234012317071914605488973796757411689","7767696758667070766089792291118563946930123979261446866992810608914989607727","16114922267968270348578257876521155587032608455668719085462194419339532226364","2758595278431831065434780675120536664419646065702372026711392389016970114229","18686113850430112050095545567583071375793292857470663465148099499102632473309","5322569183894248800263673514874583622282627840854211368312233993262710520566","6625484671021539113351281560380355405142866337294724413032442559218736998318","15678494932063414546031234987774910766395962379039929181057832621853237355283","21044429289564547307962369331019397005789227838030127942012294995684153106988","4050352520468353076671331828580448554986143414713138398546692489036092654188","1439739037680633445304540112000249657437660715380616363849191674297153360316","17000713814571928948928596512828650057195156991943278596791869478365054048986","10039411416942330506550958143931776567211338199841725026568671831847397031229","2783913374091579171300707409294096964829607925471146417306345672104506551798","18831208237852006664103429025952176630263850450528702816723867202301425494525","2085098779219188048466154953345173682268609718189308109525769165293538377817","1061975973027025128869048938305675915509353618491584582060466050513776448218","5859169958359144313812718938573224350994660990425737360335282151756081918623","8124040687616085794332441579369944565007529336423897435297416312046654743679","1471576261258434979846610087689106111737341868166882796330645612597893060982","20096077713782165175251263772573589078961546636869869760191781291136382731114","20002169029520086001794801051926487839505647155459890398103027657173585637095","6331801728452881569711070386255679428894820373603843171016327691491354479146","7619172148835984663765033707816915118788282984654773026178320231473141279577","17258195073849769364355411475972610512919246043060024074459486058328960089122","11523331853872699658142567202962572695934907333691215222335354015651243006237","17304318129246594195502915693617224894796708659046294191109529542898384047621","12503557685051078210601858730253734848403320555769718730737467365470303706064","8597523832811491332463787989333229686410340771107146461143004365919601409981","5573808641408756617065407422920939745822915686997698756180760488431295699203","680380396063170511955934886812097722815595252098460413737851820955267163039","8712348930015407902946276402274155609654872807416667202633920963572381787777","2143256560710791052453192315538403358087069751601480750145888703451307078624","10165267555852012947690671919523590802266279591552015699909637702311266821703","6154139066586346925110455935852193710886002351660262412997170823801187658969","10797801710706169074454684753604468383030573500517082039557730174069104681837","4352510540029328744577395963422964421656494944462296812032895687721648324617","18172637147707713149277391923718739934662234396190219725555565713883085342211","13331017651337371130140111897278519298272892920042425475956549826504239775183","5096293804838394925323095609670882263918947950133415481999736312753048651626","1477954368883064545525969267932777221906039879216118233143055476101555942952","5785051025266336115174393023611611291501359164041057516562991521572201522529","10146392897807294214486414731983174724200164032512315843147088120632713387393","12362106855368077632727839538276021126255703528159840694741191987603096152682","17865840168451836787642382976979793351786456493096384077628607223640625170634","12435858343469608889189748345168550210079622384420606577144400939437690566825","250972644799670217197861620506628279104005830251498326767265313173795621470","9001223785553392683209714358621265904012695057439235774484245667613914147988","1309221989238361550533944870502285933978512176233510837702047057519043359830","8644564044205173998182078931525410917946259804224186779106747373661509836260","19624982699558820196304151432348135296945504455213926782466969453696916606489","3864421529378437699128150908697926752152026918884315700381255164087603052997","1958049682761825774417906390522999373569227917701053686252197903312948569099","12167907748329865933004053684947284030379129365128770630202470842383513251518","17408826560116516544245986948165454258732558480509024359245310150157173665554","10082438806890290593559219904867365777235436098789816845106951903520725824539","12644716140772223206205339271483990906417098607699861537319215142990085547684","5333683035288297377410555895451761420819444996948496611111835390724263244176","243060332072864390490065968940225661040364391321871587504646050584127356530","18199211436562319030481848803832082813931826084919672990110311018412407826133","15501439089553341613474441657379069434231053776909598938289026904339562776467","10211759496589822503756491422924084966612658179228530211304104147449470010167","8694526790301911899040532832909976399683855732911150828629959975665265460125","18917335890206389975142210276934292596171198392699769674208795938185779781243","20349612678925352296837761838113733555269758029206907222893840222151841845982","4711918817191370908665731294850351331492661470937334148161739728997680499491","20420930313718769240606549294796437192848049496057229249988788228004151556381","11963817253705060790735556403835107686727977102366780906012707565089958624004","18927479086766092512907063409757193407784199561377991896550147041011891954656","16086854621840714076567354556766950475380540240419236853674503374706092557562","7649813545556381889095163318053200570445747027104439942580281064681906169583","2479512249995713838311018128654752074496338305807193011347598619185330195994","2346035601324402310357559081594085679054933988920802478604068524877850016165","8355616284741545473771405721383569754997583120578798966450587860710065575348","21496298975540704215929335861534216493525290244000560032445947945485603782164","1241972191532383031210014194516191174225347001373478704376575016483446596120","8786766472153338511973666316624655064770315418111526718096759111544866972566","2790848416565784757358860123214157920808489886913855471540872549297598706625","19697267483247535705017911865295158268045154638896519829241721519500662898656","10855004975583971433505530744156157052202445376695517890491732993014943403015","3307138409419240516368553127105710179295163813339994587088795146799493191574","15071899476760622988231592898781823279231695645746570232012832365184480292781","12370370913808337832126191280163852687850585836348095262272559643754283614650","9619287458519354097076811003504062128667896608167587291870227695128479905066","7053412983942702021439666397899995720436247314245813233877959997480420996145","14336873830115607030503680640674315378851285562266113956057915302163135796126","2982459332256562153471757965199184417038573913753526444148202646059084621536","2263162485414508992438338093271132761212297813006399827398837117691893080842","6607501043765608432142359484878159163788335534386998552269157186532023292059","9458289810648986698878100050303113414880615672401029157409461366671149828256","6210563751175114358637825958428169384958432585211717149563100353809344728975","9061565527944668050570879800390996353727148706488825012048373263533460957967","7370076629450557464197799264966589599216688486111459344868817539021515588048","12785726761265753269615209982427149298165970108315769484747016554219769998789","11878087694479344057934757851109464763092847745546070478570965896990597443471","11391222998092956901470975615226364492444297516850417524619601043821719212820","221276078996291633123073491556519609534039402982765224448250964472239978217","13303819467267738582376680281528564621833366590114886958633810718235872764044","7417875460505775651394249955174491132892131966808927604723492305496341131906","2020766581450468169241576511815537903370498466044157393534317098899938241805","6294440028137816630156279162637587103755926825490729410565855128445577896052","7981790388288600144357296999402703191161930359504850289187051807778035834530","16867766050225492947997094140333889823957416992532088853574381451539577161674","20152174815336365624241530386485984852319760261776884720705806561707527615292","21605521433591925079955992983849344099581990685060614889282622278761663558980","2286860303373858708797843580152985202820815774576229020540429630068034253734","12332099424006283357272740548484988244762950910107100866085619924943832621196","14820470905339562427758929791309637474231036203230591431565123464037930230827","10656708434844362408435173201750409233112528101400499094278793363172643916458","17108304793667233809920791598656819203639526792596093761664114988130000654870","2776056854662399838577213991813944274892706180049163620697661732173438416968","4257014838677710877481260184253810428063151436900779678848411578948962418826","5050093159585158546412480617748567927812112016880240414839496170710800001765","1427314635823608480147691722001001809705237105866876885811739881560527550923","7856682833272092786224014992436092374983356055870992760391783758878943532373","11997222846668736241090844689677057174871966000282606213147356115508966327370","2633981394224615042415219599558342037076807664636376350873766413821482270489","8418793684559704515255726392210533359915714964980507264181505051470981854803","16182308147475193437792795501772907054657745460863762682060208281693449360074","6460195724997286035027662010099928664119482351968002853221029055511933699080","10942086860713563275494679565971980559253998525047642648414365582557692075947","6837348851407752128284671531402228152772091401531713757274862125320476692802","16247560353804957106084695625294264350984871862889068776851385460127061959303","19625106958920244252782365603123082965540698720846506881162808092082326452558","11904664465066223427439604734952709764641423684940638876055854929209195778504","596992363130907188298230019834975400095753761512019653738717406340170735468","19601667986638293950359301412565084476621041322890715864358600255138502148343","13323755512597739093381166653631714595776834594994383390604591519630081064352","635319023339081048884418572684131192060532929785090880064809541655956724032","1838246925016638669804090639537410806543547831682081025109597220945477003826","6957063396639585052889567910484475411107713958144190774770212006162810039977","1180029464211881174149154559623105765914162418614149520125026244406888253351","16908116785044938444516113890804284988741158512700331424311822955592610625878","19047511317391245770733548336384866723144334473969651228824781084792267718560","6431496677886142552593348803061400706409512947793604260543541320489042213509","2085706975856716043817845111247524725983792569688747134217820580802417064710","1115537774869458691540934321725770611599792846721451469791406285551276606981","7026002537300307494495439331909216065358414799222101508037688646360045099605","18130884396263326276412315018777651213919547256523617822369185259909506866144","19281260338929175730881091676996897758028583328171003716632612503005482005254","16588225225537212236652021689222338040087708398565983072730653112859609932774","15270628479944506228210873275859339540300883571757318746942561045392375516010","913642229877487927864278200010918660558298629674034607643105748738388473257","14715976480950508525942065790425683734502528748922782028224774135696744207120","13078972628916343360773748202951764256195594012695885123087240901149840845932","4942048729608056917234686680936688826917023985280996368768831507215897617015","20893794971858139489252786096429666114975805097505466451190756476932883681467","13015490760668283346847636569354065222028021012378102388437827197672584118628","6260425253543653451449270276729574291067898837831368647751150557846019741433","15923365245425515168971537301528268257372221381082153980832450078844982160690","19325485557827805129863972809470140787045220948725614656551318506266102656878","21750756342339175473834098262062989497112492015454506438667352249017294569788","2102370673968324396719114752599950196139819547315750115353646213108076712356","4998291192978343852503292600087996893642591869715997050428935676743028815672","20842299370423286594710151986946625643897640697536438338374431135541195389492","10586403989665118865526340068104904763060048914917352323191379856401112532428","4809740335351310670956646142294649972831844540363789981063786141716836290310","12401683609831156582692851843738737436320149114711815881100816554225649611253","18448848273413172901119604732207100673717679052219002564981215143860327255665","5100009475424842901004582243389236542121424367337824765690486859591754059198","15052761447822212067405216050222106162537208256668447958540169530835015064541","15203570575451941684368234745064806310935082934573870961284452290397220277537","7011500067739058094241874858440011385105123562135523418134390872645081990690","20284522327658079171256453806931620239519596408800532751630519007885849799220","4069076051897379869763734131426385973740649059610210720075367504504354993641","2783297780985287417956155801606284365270928459499385941105517247106556165919","8510591090202387138403508676716866888962470895491352804230634117706021767997","7318000136210907289537979152553438858209124950522363109906535966647009336613","17765962084307655705811295678050935179487033757998195461344713576557288765471","19587588259436856270972544685172464983467341250358633588437314101987421993981","8813299950458731729066861770423799029523263913149310364818833900860368430978","16360512882464941076332263022563180235912995063948326734474971524177813333883","21539303429249458709443918096907027023812718544674710689502070233840334338896","3194787531573319946547939620321400432538153179758058041124508989040478306247","14550263724823354762624597434286348766501934822081588334675589059707524367386","4762066029927074006557468787262677302992598560453366573279123706032017518691","3307198626653084251915858477145802723511448739653842352049492307694578789077","21503427039267419088379226163606788236114859581541934997176536618703917919565","10747872195270077093076835049659431420170298124805316539928654438399690398794","7936077029433473419850249825765589828336166328264755721818500963734671060887","18421921356520457680643410805090142837213318532677969454382843940931076456903","8795869917899145287881225926486595752236159801457409313558618232695916912781","9220418966566317012035310485032019876764484744108454038147295211893382299651","4509411175341067651418804820717502126860890538724657113392084644857054897363","18600753969592299405035242530094199444478733726104127064192859468654666596729","10100144219830699296329806757512230382270878773809615501300237958705600594411","5584392147549827507534402312439494662652570055562759610737588684342542469744","4643700462073855659415658467891388131544363621759101362202137795994593226232","14999101476838560982597529318938525107363749558426119549060180690235367377595","1749742801215464726221376113115682763119502185437942028338979018225498031836","7217214053167112972122978934836362586921988010139986135500636040464777414903","13350368314772033718223351745761596239457806203441615527738869758236136519176","3531319907680487378713359429005445544004800972187670329763680562020524605928","2617241275009032586872782369192273283211149352924265580059473448101153028492","4335568572256830794624423834281152236067439264607586340531824212026730762040","18402983565720028436985863271597586819039471794306238995563477442057619094986","17481055946625270651162595381683989493458485906220788998074635823857201759391","20678213693662454909833760153553394075445394087181580987098681423153403119252","18813252458150970201162210930039430826169533911357153642640511727456083439526","13706013703237737499951184888599169311042583332312265064831702723459992984953","5276183322797611522374357301800566272054591898551892814414663276768405505798","6220369583493884013308733411206013619096400324475864479420497513969767566943","15796441515161181042811402483908215405839700686754755812680156979577068524745","8882339836897259842652057816802624845120128920511588085166477797350766651261","18385472322902636963844486225283138325194723668732897514460264725264184886743","18245594373732537616685598877270446278729035771538482271893328862927488886822","20810927059727826691492873488353122628179338238756261487174165276561540036394","9551349055030755055111046239969931396169322570802776394837985148929110217739","17521378079931741344069826025335265620208705284376706335625199050982290155587","17449853027806717688544884433525568256647502295578720399431706934548569753809","2208173407728418249854764791574894437297135811566948439159452004438877701599","678547620830636733900467735524291466887027954585408840501510686408417041630","5017604836614881241934838437543877435687156766471893147336619935860473256797","14998643720095644268532468852767021461213698918483660074418661488108002406921","17898344110262013652390330763110560890588353123155866577387002771530665190950","17376840467006235410235393404883328056372680889805606012282782863161663875746","10113864497785684060699584364198988871370303248775082784964500855056871173062","4559202895222748568060070782182709720006136525455105143965623791506809641866","8301950795989204887708401124660719198691752284555092728571375432077438105358","16794820794362934111672146062818665846907728863622060961890966230230720824280","6308595937485122529750380234310130079369375922142927920979742309646925168983","21666215487788835037688487565043090826379731857474694573133992166768525738108","221899915559224453830708327687190978924005667567218685650885062460885415911","184093017078896451627610391377674885842010996390281170535815121123139256897","0","4956774473297228218177808603426275447194737735524046542778880267774734984259","15020599934560072742819311995443257102373150247123939115027410387178852174383","6571146414671507112385062596539640337548401531673253884883678537612139862045","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","20800852953915165279701731251313197208542053838630506717918018608743409008043","19637517025125411543094643600819326569442466502248345471095866020437323926584","17131925391885937058362808388683250733730451854841120606077116736590658055909","10275201208039256479362996766961520593397956508874680471558097955621271614549","13775445871438135597717743085601394071451098906991406527363380790460962275837","20921188461706731410257669426892072660245547106658738039672863926137956597475","7068731337741353707772677659066855028504354978163163329989946130870562802087","14492923398457611690977760765198862938916755475930529638634261396819273071710","1534567458502314451671203625376382303456773077488730271470408163975031742876","18354836306811531513969143414154384246381450892506596908347832328390268170984","5062103190874202870678977875389098512201377555551583855608475697412308156159","21863050921141162319270411552010629727018308949094968609633027550641826740489","8223687585016409650456483489058168130305896112816368995280842148036443214914","5678514600953279989581064341432760462203259070047341038758199426150714663226","5790869563885168188219394472156094596785515806323141275720187991017849379964","16408292121106481085678052064657643261083082816376367763237483327433742205108","5283007358713875716574089352637339086265741377648410420449128919948271631928","20403866156007156330177598638809149799419703185179436346409573334091110295603","3931080215402173587194987711962240938029106786078828396601706689190028306826","11180820962485005309521819111207469176176491261171652707854568914945492355370","10431100899884794357249935821834399632193310375149945138068070488162885023525","2318352549145843068967677249013967707638699794211504690819315465169075862817","147782775991416996267980707329320450334178133186634033976320891741838608853","20164175010470616883026489154582185036331706146166025182575654330739447828431","20082413891989871672665284390571617696179114795111656839508304816940972883683","13563518383615306027599983960890827912630108059077581601112276993388302166338","18331750094720289887435265582601304059173966031373353782582955679400560767183","4986461447279038243498218401523537415216600748231945581135138418026778501202","1855301108548005847265564329020111699229386336206252433922958934964260727057","202165489188669326132807606902264274563014094053205903210246124580018547334","6655371828434620793069381070451984021522613649274148767467549487940352307713","1906493706576518357804814208533412219611940642616538724388644694412047261090","5283260120021228177885521440576123782878298429517478639356327205388406146887","3457524287437302754573585166868310559470894649698441701267954345814080318909","3013319926576463129284969814498998473755714767021926618683011911770220213263","2524448462856571466507722624705430233525255657304546293742362121535437470526","7458236756997406439473578392832386717370092023346333633389128856626647251853","17276946075717024767643896419337266825098707645430284876786550033262729764663","13770360082562876550452201444608061558586008178791514017495021377429391785630","6983230762195661161111062872684498890812703398052734120062281261508572381953","11550243536486020289498173247504636462113720832953668170648807590922396468052","10743284146418616497071052531491180428329928116861554305536835001233436484222","15648489244760721907395312868398253487104638489734618268800331234852274963187","1619474093349218658754070905379214408091428551772311120346778617417747234585","7483581799045886039971638195495258310406134512831089307069369854928065216353","3305560697686400321552802584904887496583941234340660899902299420411363193841","9605016956768136946858878511011228134594480991562917428994301171940420046947","14000087697131227944183125235792191524239811939220478963875620998902378923918","21409604652967323500505645473533175991268239532258119471638457690561695823859","7416167539973463884793370714341035280490604862869902264078976311917046049818","16656748690714553961373658037649828111623804193985860876193218779037303989376","18126875283673785905463021136941960044660446456284810591440936631725862067625","15992305506590638390627912394276180953511836808058374683334394266621505097165","1500603340629377031926355750358428270340945389151979209631798539490509462313","16858740614736996272728499582568108676053182799270388444628065999791546766252","2526533860530002429832263381734908469724338499969900157304805275884976084281","14068052553272949447642598467828447796947053512343127245586466510925612650222","2595169997633131822598271573774226989886327923322777743673207893352528039782","717544360827521319573145518556015111732662241111152008214247219704688645762","21683761927605653765257555903066305704452920250993890452330089898442232581295","15017690644136973635801820985102104866896165274407812055980894786598708097716","17958178981066275624374751040166872167460968320743741549197591608274805451204","10743671881677453413206994559556913857056355225671373795144755107985058949164","14968270360636450526332875777038741015883062136885077184633194090816189537278","11036365339059614131502625911715497322523990266071121757857149248382113116229","9792617854789273803690563845446990611819772706082001052837093974113861262658","5176825492333344738861128244946472882355252850938020207007824855766170967514","1681502771573743691466896168204392110865013317893081160456825505988446428914","11274136766533675504059500458218425573372573604247375548216505874471074119093","8231953476579117928899082651669466683806231172627853588615340245444080176733","14008292228271998595079333007940094146980785460162019168891125058577411037875","9561799681581992544369447977094037689179404221082812996782923843449893438432","10837432733134321046192392439909030181002352224519385453276809203947699585642","8473576508825401914663024312011581385209483675314635453081965822651218104910","10938015929139916391501256574729469835227526158763735700288765110295864715423","10970047472783352649113368542168031197537813388748236307361519865500719892116","8217256957904405570680855987650476046040835131138759785733282910548352005760","16947759384730242837315535293307408195798333587889316777014475973462519183751","20828786081081740245197772816677699716375287470931394145103299208671137980728","4548785010718188507585256584958027182833931512721489188832467141668531530464","3444095815990163735567411376285643966393543832533624107086993851870748011591","21412351554205603558560947794046637696853821878604961240670688901535834358109","4809607585612698998163071932522742412806950821610110407272085717238387786453","18201448307727407208293135996438216164678070146671411720664697341763217892686","15148275309925046193313364074834009070693282804956177087628016957056101798361","17212189019581296994734101187479368823355718027532223901119443771333565029710","9452074805075577843977732328111072109079544577871443171118191041130221226030","1518510376928189137697592011923210522474691071478499397600878144982637239305","9105659608912038991507885305984201728084794386405880358754194125806112939402","1547007121594912409196168514201325629156228979576173723159462999233481775753","17877536886473562411651791990260330862906343337434329156199075892389033569058","20018232428841292912322236332793682964287044335047362917356229310181344094702","12795610582894453295146242025564461425830785142206046716936285872174835697173","138917001805879009238785772772727038581509098759884749801002569724589256727","20839567880827611313913067480023950531418803861937779861017293153899021874890","4693833060650845777453602416157846281709991079913390700059389719552028920586","11063830608885832898290485909602509991149870026108589659700004310017310545991","13655160511766157554909318560181656751857846987211597492841603460768442778654","13583197062396015634602398145463190601202016745073086341531287376882167999789","19593109830037210032603257626916277083757834120566284187542213115829832110896","5808045504509063029281653310463681837896726380509355951701362955953755766497","9916645817774681651828386440191225764980441377134843611957734204710402209732","21021841410452588680943768866213722730562087732566060711818235067476546332102","1328901797911920278980605322760282297690676582026575379730424555956255270287","7990014279717545852460429224653677884486427448261112721413945751528119932439","21788573547090681348494034462487537740304516272017157060728696185917160311359","7318196305184339832084514639343264649253013581475809496827174379407526573834","5121934731831852713447588944621960338030446891936535541278459223049637654108","5047296893187988423204769174098015717307734361170653795349981818324730232402","7662799757891377700716456249909632175552898602390794716114936989496604209922","8481681875283861656493858520671022184277761824008049192936786815820982029034","17384085968354796183812430182256574891337635704464041695236776677975372073608","351847291761995625299503641588532696445489644372754650102000998657130392366","18346017095827432860309117460907204230873430401265883851770003214463517895587","12530364241296294143391558013912087063511568001483137568507794924277291295622","1453319431089160978593449191277677211585847906857708739864741167563099185090","4409292638060270164528998793651815889564980014246171109319977754479235612837","4912656500609713351113974512236066601785692266861512173652568134706793536086","4858644212798333261520694726068612266732835566549406176373907341501445147003","4729796287332722014047402832191335133987382356937536253986159382952274661241","20153694902604730742266800396854044977964219406201479408628501331575554915534","2246237554154196683052229449181274361152525994319819470031299128551461172766","21446872171783539325536889070414254154753620636693569685957508948111137576705","15523806856355966439308424449616428231588735329848537617743377119161425965063","19430099545167544182363778459846178588081655328937717471365671773009202455037","17812124303569349289007889686491697667808352804902069991220159140591928786027","2615431786994166921035062630728052388038797493073765637192655817923690822296","7466575407465698872310716104947932612922177006057764525473968855471299501760","1568559646838940587422952301547054630705654939604152438798943434454905772094","16450114091237873959912800396524840399303070602965789288489241444724054340415","12544327242261247081356134780881024354609886005858079734319643263768462109298","3951189432525127718286118344860273719665578998875454166098133266801666448097","4684498636757721257672604806701649066723187747945139598693704097455330752246","7913851146292070962122661750868030665527311243664676556744302467215637604288","13693825057163630254198719260802906670395995075429822925637197637525162510800","11257936678851657411357528111784849899914875900555320409552427342018776626109","3009830878454912770286031430239990083124511083643323830025743329452432760442","11255781350895373823952671865487602212684008238766606456010353145402647299621","20703947193811759748459136395319722397893499584729354540114463717315911237904","18927236606919050665495280857793179280866899971153078091020873787561910660447","21208171312305087598895861622234435762763862899992768296682082769136982408496","13003644900902803665290247029256054448679537100575636702611458522200072408069","5473910709076170351709690614875062899058178996149854104909204655073693590718","5396740791499115651456300775929326781813959665924671440180584662261507716345","14608261260060536686613574465412211595158438369022778316883526776841385120692","11716895316353911597438772743005153995110366877152357690211038319567629681858","825291100640455876773086336494198796686944339403876997635060839259347591439","15131836487938806014426502448675727338490936870373243227752287178209774629560","9530505315934479917317575510664040836322601782081521335426112560211750963067","10076960225848838827900741485794259270198967014739774444563053174731526349476","2510923561491809223675031845489427723237847936839068014582092991310782772647","17623373863057439484514395529244363795826608326214680242497255650471737944065","19254757455558891743347449304921480210555042974764325624888942553008985088887","1308981555541762315607879574001026783189188588713693551262113824338075460083","13244418375848503929271695219020093742356576856076590172634439535108133587100","19362817571890280238405906636118193171711512699068613190741449281651186213947","15461791478280659128410317239068204606301666045485267872815292784028372519987","20415790267817442656846049153170278049323991404856454786146369061736328514282","1675425092345973426079571139973717567461162339074323918493233539973949363080","2406291853646761879939570680825607281847886147213112505748895576585158843519","8085260532616940305492373405634735216476729481754444910186903275762098872191","3912512698099563816951480690586011955756727244798542766155341341505298975111","18458146202387438386723241440394119476346283206297777332230845309804372870506","11755102566855177947535088692958671812218272433141265138394385455245793172827","15297152988073525627618405202877312206681048866156655726186038535484032545396","7164039784256021764265111842056249353019938833034024017809741044875411350177","18117693211234728313301036865827519361707977031781383859909979617555539954427","10996246499181496366801125638994134058257475270624048027175258190700427424596","7431215567561721862879796332372889653781909073175518128078996375618293800161","14392096580471347460488957898075766549739963384432083345902389045032634508216","2122192146049736861519183376657707765561457499563424195396206246579935142840","10256560709345835944687100803882590753541780961115827069187202150944107340680","16183821823551662134196784677025995628908561391637893029788657854565546003526","17799479956199141430859217440701567787136301050313443727642780551013711895518","10416914256883998062411054317760417749683325445242290590222465311236790105281","14779397864783948269364847534245295869022829926071185969628221948493790926559","16782448985807234530930392048021836422173964674956312427241645802407544090688","14321923343224701037179898406802193072768993135135381655613423115308455146996","9149186459397994047070202015755246695067694729307047224488799592236535709152","19558057485729958361934940507714021620010473760995101229249828379810281627447","12404742950531705198927681174223119696538571306856062080781751210627819272598","17369072670723312888300913605322550459382061433704673083367980516718754093119","3766761814170390381003117208546234980075440311822048827565329664575660583957","4901400009430839052255905472495426663828218482442922700340345538010440933459","5548554043405818226314898894791172369041668979252518654986931307153642154462","21515481709502223117910790816596884353079921395071223608063203457760487366134","11731067651977271844303178486259341480614085998886696632291221427316590347345","1142580132310126188845654788084195906434250024886999332926644706494983396166","7615518475005949869642573506518743949281645656979639288104391220389961787860","20643851082304414077408219942650798176193494074608766795930958482150395283941","10911465643821173067928818358919399134097282536299175752448941383520216424853","12702640540792217740436753454718920375645350058543792614948182942417115846689","449784471430716148064476341044391193387418416135616928346350591613580983713","14407044595137479434395815778260976339038265267528854273042920997958884354905","6570195508956610873426197573518874606539344909974108420277822810113641869705","9003078670028489521444785369205536341582390637339594013125206321960702984435","1573275973007329382340393629895581190144332913246810103365111711394208091694","6791168078026816421294840058822356736143214960888426142796501093416715235923","15630306348544298379217318071951550231273184428938228853896188343210470897190","4576746304196287032525847074784255599724176195692026840531484682498116377142","15864618526591215932771971137938812908783716121260351432339290319154244240191","20154317798462654520688066320551744478835081213507062396948957391183961213190","4217850033314954834518693113185374123393986948538558166596305129963326583641","739244962995441822997609491212567933809540402340960936758829105990093694875","4028226704901728469924582315757008913995336976972370070688352460945670209223","10591199388281276196076139827903028901929071722281939618112978231512165502500","20769873214273986079771211255494552368291410905831879794270214744986908114921","15912663029859676247040839483550221414191378704553985749507220595441668989890","9693027975721393095990900240985306805407152688503911448687312931574900853101","11484138150152751045203843899004183974207040034194151197586233755150141468667","16060024950720278930111806345439512258601445083798973542265137886014997752828","4065216147560638044834769735156213301682729796453975378303838760014703180171","12722196740161008042104063230600160916692591587307698282267739098104595392019","21442658871897924936434273103779296897320517827105661470249084250476899874515","13941330616661018529909436917201050211167996319696145260344766889645194016812","17946104200075105031482518856976026160272234205866287179121863864382028076689","17558354977867991058688364696361951976053210204255200572217074563658522370648","10902521568281866861523544064315280488095865806110221985358343592167540730121","10480646453511936101817842827276089617243072047003452927803825891921884883229","6643766403045495726977580197310085865588045098078258941752684370100934852836","9759297382606100166316216368175194356984391868580089414318996697912511188168","20686369114800811678648912138278012301751017059792657085899350106668064382752","2240276784633228882169355617919063914849374750013394580916118793601738807792","5389129762926746785370016690162671993854854880020955309951549075860208430217","21757828191223838980875048177672288146504494313568161156805121742619482174422","6589672340977795727478600486490482082688020181028116689423580126630216000086","8873943799620836427044171063707741355498423896746484957121164657037540932037","13160449352321991449988162050474550230515434401287357747880542980458793339102","13197501097050994905124371615976870638093928341445614314492454011032144220208","8340413740313657825973895352056539435197294761588407482889367602122602519887","7915509595726843615213771320240731347745156038257897701451096327955114641407","12716360689406071594764978435858390101997592070817784737113176977175770613855","11799168279103580012612433741693680191901212176687068912950785896805583177628","1552755957700638351598863195613840438289566583786422640903190114213936992530","7717538040594804644764198775753802442414066091823420105018618571014719890833","17869335419303568150034564173825172349391626172381176470372495087578615665039","16122846906100860579917160904118514092773318210416526909669780898790744824521","16114623241407635035253109690281710992349406337620190853935787477446564512160","8429089835636988890248325280114299822475003178580844782033335791949765717698","5021909288758969923449519368320048166705558618923758724165745045524092266753","11609780892597551938282093189666560403264400102545840409186025853398791339463","9734561960597991217192257635216971992678556710475259956187522144832750358531","10813638491244873310753483096939437342464961518696248443235952895038827482505","18663052058712080061795498100085868370958023478059914080660637096727647524975","9314525365222734972430756928736762448968996137856042241530361075805449377487","3070891224229804247627316094324225981593571222241652834112032934603492908107","16218873953268949747247900038835681418510078596341723885199658550649690425465","4393067842296990738414238004379500890796846784497932263550364506116302729814","12632418182338359794579314603327050190398968273335067439004197140400764590431","16259566184736886586335166896505547781405793629246315539479374599816810898962","2814325558055560774451012402571814942633788122220820739410071686684473280059","20338279412829767787632971674447333540274381888801095036358347594010786917874","2670741219913096168491334970723751636861418668023160348945317323630141327853","3892922157227799154715704147796797293447538770944492697942492570337305079250","5421196209553978835297307680517334106781140431673808912244126560565421048646","908236175468125124399338251190434374103447781784945338498096575397462392668","17636652273564107602080223987422514190933021331205576336366194778306365693715","13237642964137974353034360160812907385295055350391099870951039269784991779442","21221704416496446280060742130558845210799432949631006286203132118378345458707","4760938732010539612860168182130195361794840324422686826654830513617969238645","15609882888198881188317773535465797441429270866964119087978092950491961282109","3376212591015867709418028163351858870844417293825928905794220299702995650369","21425570543740282292132723103003656376617362904062035083532563051097533584212","6038202164226390018148656452648793708041019387555958551925347600525046600910","9721523909769562025273904542256123188806194958268176372877129715195649855964","12919014082719941506939437885142976246821800568119469413691028388157155818408","21047678267058890933412820510845854686111009729042350009279179228996071172314","1976349694806914063727842382214699343150764776931556073512809751095584246469","7783006621919737708273510859069326994168642573850103474571193791641445323553","13988546799117480465950733734130268128651148524257772236826468463902583439300","14358933516360269478259537430589252014348293049101099741973616463086676556175","9474800921698013823200892202591390267183628835688359957261740808407150804923","20037963706347165289902778363364556553678330389044611843700541418525546453004","19834717385187461063045168682510320544755369359400299076199146066987299539521","4620538607744049053855505445773408482178850741346990639581369035567675135548","8525603914196154577626558950234104470205987308418219670490217782779458913642","9048524527786065362533944085668320973357100178455488417116873972121025312775","9407801745735906368820522773825936338297746876589824483201629117426655995254","18458321063088465493769105335825974675378034787055416207054788511625124993063","8730753262450729445383895118589725381322125855724151334101848272326538887883","14547478919862241451106685784075048510153449024919071285440246339347145809552","13784593680788409600222260504003016581812247565511746972111819865392303462361","3420650765080622730813285352060580115144694966171377384339315837865789278996","9498478900982330956868115105655688321830657086417737707809970786192590239832","13164965619929553143332487255090729945651488864819577796986840432984858642747","12268150008840644397762847884242950933323013724025772778394784669401193356399","13188938044754060601469350653570787594998424477012300220812121256933705998025","18868615403387088416221198733774983032952549529017690432789470521164135904579","8229496080095108580918697035847521304964184769704442283730808346804969792663","8836920514787085863873040159436840030156960504558988182134965722143427786764","485860726022179166258204252374459416241771897108574947876994082085171183625","13825827330340300271940154756621989995086725025841626849532144465526715261749","3534837266022333996579426382846482531279356009099547006793408523227168632940","20861694880891403876362220464584622298009456414773768354811101113256810097364","15235466958402292861886087686722081507924755655072117045235955376958545610957","5894515418844600982921652895004096199665471191336541200960273569999551145621","18431674051297470736240376664888248824736879882201010919853670121185087280801","13163611329737748038819352294442642532280030294321129848712818446496643511212","16873948796440522592380293375331833615142971316765741607250824726656849064701","0","14352042597084731985167090523380966166849342735501537582515475409458617286578","0","184093017078896451627610391377674885842010996390281170535815121123139256897","10855480517023430349633912891071539318144989487091539966933621136564025987722","1475047252880002794117418469635715039620267508189956844949734258701523594107","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","5498573323171700318974442619770432471979388174675152408694259178961317117128","9261264167091492680322526000307190022174326030211500860420415738075544248006","2700532010941515051235117126371817675834478983550078195959484069809510166238","2614901965480154424359734022345137380599249970129627336690279167574032814318","19687862591820860089926147913441511589529440708225724639768017380338512972761","20231158944731277914957275874588281336226523231541097142445154007934345376944","9035484728985075995887083372660716228440296723601874712069882323426553142923","14028402467948526338761593336254970636019840296296546628049365548198505885422","13121808051306228808174111089630942026234886027315445815249447899750402363499","4527372625915062643209835479106309680507163243271678272729965486196852910420","16189979657721792924136577757822719385200418970252818352930222157989377257664","12164333722906565475074936982031012094208830010462001772696179692368311376875","5858370205943885943197474658221555694546571503055354486831610651631015836408","15270908199160540014367572925176882846874278865445377675710981534978223874893","11286729051408980855944168759111974269745178899257472373453896392302685435401","17289573715850909531812283193116346377931687763109543103789593448888152085453","7105741248909320113102505404513273089479652539904035618384873213091298254540","7074114940217186800406075628601455018311224185155464287511228577282040608737","715583426535854106463418752301381005500493761704686059735560513627309309179","12321604619126171361979592235460332183189160477865388902373936323802038912852","18190016005341990844148178297161190651172518846193049031369577377147984371424","17670829257462863871248629155809975849172626610799880870872305867158500188295","19594856787609999310690221094254583430514085336933115629128875588124494098855","10606612421072869162361656308145350823375991111296091340625384433072717183898","20983151867428320058845307293063785400007907380688115780148446035831321822910","1069974199764745898360103165659810005476344160960940508775094244893280452294","12079370783657983066371531276032803534378514351917926610229723180686420071082","12677296700344575464377357413681719606711607149256248374094787358863961649047","11938816100371165126976615978464798598420879993438443613074775265137702724945","18311245538233003706063069652909402120896222049718972404023109633559726294885","15794204827938797645162965750023554318501333819245289116482417688391341641595","8231534103677942875131000798848960381433781148655319271028893563889162379270","2766371540459561411737866933191660197562179823316731217303605261350998865103","174158064191872851418088934839822586856404443510475027422708748258229548733","3061293524954116761536350353370996557677749514535836027593325270861425233240","3554263895404584440154455511723512694047655420085772109708843713132375160762","7209379385057044748253261941814808569341518505007939141391123583104156927357","7306584942825882914302290894613387082682701525016374653956358033276385658392","2518149535352104381776345626886043183594674403698823901150244678327320921468","5581648650991852276927977167681766388490280842674960775941221560787230484545","17883694010798015849432367894079485717020271196567402381116192761974875572717","5977145130276793204043062269836655190783756459415218549551558044792975644158","19754386008710536525416038830817883084219899610549700326214066673104005510017","4105929946744209569133466396266046737599143563686422211800976803155222825742","21770901673960671282817451044366626054689162118590321728191276250541146147445","18554333663717636387381497437066120044065043997075943084601789352232163710118","3229944547201899627459711451241293172565108462885092439611847672015867445844","5025128695089026932637044021822414470493500183859188592019000631358582058815","21351482877833848842950048414861530988910588809336890728805799101884814110094","2580417795427688841110332802041457792912990931107885802056099046051394343208","20217453554976491856162621332289712918621552424181807185429093282741752407254","21356532404406996697081811349181897661406629246933280591113574903262463603755","4440014799478015355464075073962791955273636061611434328008981149274259385149","20843690474175127027273418888401580675425591967425767647356385165618233383167","17147970141429401025221000547342789232065463813831534845777771000391022505157","3597144142325569659839379046014686983329334622151978868165056915901645933562","6209531638366131710391199976252623036613987753076336616804848655147954394419","12924376785494490979045153483490119729324374404017188198699562863400832181416","9271954831445524937003351352270207203032987503409904688159223247456739162845","3506478951236426769115175508595425366287783691027816248862857623122706232593","3084250401572683617954076346006354865621707184383685778773665994692341858491","214937813484326003224036523827668299458243253921819586247641172841468344415","8441949007944436788468393086872889092620006653515759573245998674092919893035","5472204380982124305910371770584485273106619914000710696867278805337005048614","6957451303354569278122219961744612443655520675903833514582885389940461142337","5223695888445379151376126761842426317508027349104222088986256916070987227003","20759291015924141143489800711379500123670247171074786799669843043398508400513","20184325008178519139976204343423988714240828501622788042494704688999415735798","11094010350979218178409535436164979011221721457812496384533043506854053636902","19708018327503696718388479569347893621763926758569942481653711892940091446689","16239576760969556170245792487272775369975925096355053939862336412836709479930","12008121136322920586706238961334135492193994190852629384667755039803446647363","3938404938026443320997875488947263668426539575808147935781602032624388960567","16801713734429980792941203920003094648125183482183110723068392336325309041954","1348135736933873313759975759082842047841214037877011424039604914043212513364","10142538380243983753373248080068852715920793144614672667969585374528888041159","18286836573655984306012297166313463508450538607381625443348344786122995347402","14282178562099256241255469758055058528755211992281625357843046812099847456631","18310498504586098472829857362352463885170006582772479924761688074043255713348","20931050264933145513630154494146233109393636518003931889413900508273793152952","9117815489738355644295849428412003959081005458572860622048785525579819030131","19674676409453156577641701174130088374544719924762515855772825552204250790099","12217666530439855117870645320098850988684982441090141971279563337640081737469","6721147151554827579361586155763227090268714334062665099692917568899843175261","10393168006744278329721749418497705931750263896983902791526082297629822889476","17632382680567142321436824059295058152002507243188736047847725648421698926063","8915644815668215345087302861999208273742901368327590784358018441159811237379","19731092025693122985802144360142842146081743175693460146246146825438643278265","17653368603469212238948115034339203459550448357852824407551138265318018596240","20124759627749000772083196348479267605219009066228480442280858812864945298645","11853405674287861806396328147409404987103713520025699961317518417996316568170","10739116108352466483706634387205541202897545935029060507639823557349868929804","13870493301708581977871588064204896213315254481309505768503783016381785331655","4984277491507589099021974203166018421298409443693664313544662897676891503802","3813732491939127711872266925744617081981315718429011837147980575659381967059","5152934487799436357469531826806992991613558447322571799097305643879204994449","10475716151282745236368134769213248762564031478051618164990108824183737138343","20363281645962116706206801013109651698981355310971094340421354149812446325081","11149179791944629329084734656996501614903770068946878537396539586990604080534","20098243382461320106285402641532827367988692819387395302752081381569882348426","1753740335041062953435448145197363234707260348882068214931327343994875509340","11051255147516774647347134674124069066118855995496412182590304206776480641926","20959895544950066469347932903054230050048584659924310004082332316941759859508","18046662860504645170415451280713122498761168709387916159677756142032155910391","1755364709904298538442632773692058690935194900475887045395397423993838154905","16339606506864102980481476642574322167227419298111069541131542259980182181306","14408190339524969255388148576103299243778942876131961128354488113360949316157","9946460841813640866303402323884640663809344878510859564035517298772497437828","11219093149395628075183617779327553350908301794270546796194409084720111073341","18266139222091589375002467056650215336108288406927775427355560986457460639245","12092461750855134153263659752634687685480675014226328265844503427560199899284","12811512370756406280305371756309902128882727869228201979564338901652745554703","11494056611759290047400852808215427827865818063077750182066726283970699497313","1803103182997812362098649507425788010868991092238470914303344732612462422377","14381384503340300376969621193673109559740622823268831769681657915927479537930","20689236677701319733035204107546407443052878779597943650988887820832482502331","1248518465214635185310085763365946516309633048890537633763446119540321507061","15438668411853453212540489112724859770045942585564826504302486277163682264660","7341588775061129682139585657500389460048429249157465614228748370605121745325","4504761562080710809980598228305844612440881644633955774736651528528114010280","6768183425857782144106609917958447108911958549983993284783628330670083056936","18864432800539670157345842134501598535338024565284719980044881952181029433067","20242538135648097132855504672106382652225627231576405656996231424694213405641","1844464264083964639949284354287245336079489413185463075241207601686531360131","15911845300181463490669683845444097224126436423089406008360448429769777249021","18349594087636997940578113096804447148766618716832098484494987951204901542227","11284900867871484372816498154731023247071308261560664832246483877131493039953","13838067842390307292889016643938081307355899984423741625766940861130490334211","21262378979357100580670681435005220519933903042102444710095150612917203628780","6763823444922283981664855408288620066187523164280354839882753893730994207617","17198062372160935437857774405709773339424576390404933065772606842999255674379","4910589862759713464494680189783100142557385266784678566622717308750539574154","4495951938469765785379638928746803607434714393817532336381990527909331112082","10803423628537408724106316755720418678339457902731908590103549451586497435336","10742327604900791063375842750150159797501166658200942332917857864560095120434","9679015926270038281693237022936405908196319179165590326436004117358731369469","5859855229596809504556883163898845215505148039026600647376023403071323590229","8581194482353982229751614886354094486481078914838249180382996332495219638002","9869150423685094824044620504437355830592578599545482916582058524091976899262","10340057311908145870761282618099355730314916526724401591914529569238350632624","12842484708736224952204598365009720775499254193155989261323979859652732035384","6563574412407294097531030552666651821281370399094531096921555950933912468661","19336329742734989817981929120071722357096297178705076476273820653458140471501","10792923362080851293438248678431463349104184014136158937434524926676052138356","20665471031713454471299179907068607631127914980059325861302423029909655446881","19498075856863189474465312538175648563189747074446590367093335221830119666484","12210141297135413050283577412215336753593399088011993643006076938426450107881","12745540000965325745762732554429477978272189358622877690649886804232154058328","15419080570877769057759861677263504753328528236890174029223392763316069360176","1975708587934604012930285499355289219819427728112756325113502381852663658073","8422847378077687555385650917720234230036996957646299570659503827573008996988","8164476917417001252303510319369129362938630457787404172063532118910760052473","11109653701888095116791718755715250231427569592439609325987755597017115369531","1164045375325713841528353040032939032004151354772989040760025905459493553879","6114825241034332349878615848208065435840371956972900517509523038525294873262","21289945861044700959112897348334363812511733301272168208297533740451194472585","21503366579840938548869055939283915852891660934066087121873667092423924426009","9814493725866910528119842233630493992285550489057511124320186653893078229304","19181317395842408077869078515529437758720817083447018324521176515003658121203","10803508348256412756528470672974859990882174412771382054494808592955628600607","1383499853894667547751048998607684963022365054135499018492077124908089218954","467597696092317806685514243378304817821153329038105295482090363446426854008","6634126990851268334329622985879147606931400989679034298663845518703600812088","18316445900325501015574749152926889553256499264193184167094513613055281628332","12553617163472948590900828371992549553838996451111132020977067418024622529368","18711776837508932058595797908640031074280534633388881655129106420254077003","11423415306137320992612411701604642665147643107944435596437299409222239593753","11086115545141332550127683235360023637567089807640246203203561747435004546068","16588213891867416029248996145650171785509550670052395458837866690786128043741","6122890984368707030294350808316139003903481896452684404113672823411767976448","10245770158110495044175374357996262023745451819162550542312818378749308858319","11110298553387506419487999687023725358665784587262140579459409909133185575816","12279716397042387836021180906034916026465854018095077805204670466723514130053","18925369362678743894371007162715619310278065865461468080994071484671699901658","3730462150304384339239844018799048781880432519592563313412325919098582762357","3001670925246768025104148396008970819268699110545674656425975049467629397719","2729093747896400923881121667604602885026869700920338692253606409766253040792","7601814481566775355932596400768899503055729476380746921047852937238606050882","2180429045590997930178685510945499091793051313517761237068062499741628607039","10640962102127146206203172866519716614799115684110184500846315292600066321682","14549995177129860220283326765457689361152011864054035015409711209998745301978","7912783951395381892370861903784398511270889178023116264093895326398669440032","6677936569341470489146536051534723755962339705066712415750681884050723886720","4689039987287828844035990330511592114655778401762086802473777626638694045871","7565203297999487881299344230417955726606067489753172511296510548502450000704","16894076289281711923223371657223874097050025590789987183176804148627339921381","21769987021973538973537771295047578201770731661547614730588357565035246687083","11751090026303123550968222877559659109084228976878612812257992410322631997849","17609929111513573495171422231275155433152100855882264908396738196365944575766","991638530285351961974565729925758199525502712836532897115477564422303172858","5587820493811032168975297339648215582631464967872422044527448186701943582669","11603307219491384450184264414688236151446359836907477588488333738162703067395","2817235033002616590478273073712668220292276075342564015516365568229473060373","19173941449619955423111523731978140087089523658415950629931985410287649223040","7775902678892155277020721365799713026862432382817405723134361447854641571549","14655648660822188082994283171380679532389311925192515841619091208903510690289","1054831658900196957032995305926092688263657921859476658376407346723872871892","7910018696695413763653676079429008688524054782592388459532241363570351895559","21685667989670097838195041724962487246345909555273974130674326936124823253804","10718377430185158216011972060989907431397341634342237353240892249163825637287","3370973000491187483301765661851937061584050953941652254787113083493139110639","14644371919996480618923281639637343154335242300764339976733421198710959191972","11017976584600876609560101707758997747688081537442193105471904109059666441560","2394145884055511714450101398368242201875252603865873378540547912073267002143","16475980586795094327998812904836099235872469231110678866703229052382331906751","3393434901211683125524426394295029750077567767740366520910205802039793128604","10550241816606396205493532763321464988582716786222628438952341144255283176099","20518093270940094592138661269574403676775738830392887885121705052411686726348","18585594617777786526574165478527055353810131282858741147251146699144499611363","21273355500829751599527467120134599367717577330813929419070330486814611438255","21081927402841168319225110000333017731679819783367475410978031494152269888478","19509945338488550864013184074471765288376447125716252178043428237171491394691","21056058455809115512191988736205121822122360402123348743261753944547271505621","19045728006778800114381925014930049689524013319330613879630169959616841045616","9197604064637434475633225046925309739258545760150199201478904049528524048714","3210494913588713658633170116991575813298984483788435892775305008140239786897","20774901451275498028346805187799972580346069021281531744709122219644834387069","21523530811397236422010920557625638264916622019781698772417425258608015775205","1775555806052010318517360041281044811967018968367144818464300346428689313728","21686196627420940475797485903676443885440247308324122371073702528230919695358","18195190869178190484857892490334582166200707383696765004954115903319113066929","10980833978698361647263291367005093649906507516189313224172562733675948803021","17901978073658661162555488132404488935185267781522868431972778700748559556563","15754207966213815261985499561530265008284817026655607745108970962174201777533","7535773959690953269858712398275045838867893512018772662288091701754164978889","19696647246099647008696947079565087471154689832143022678817329904981509060181","2433926364711440080318009005753673493119257157249272327528094280882533860683","7868613416378449609675145999271678699158893521020147750593953140884080842364","15109342000414947193659770672188932250263214251312258593558002431030409885535","12669063041159174979424355802217581389306284668172481446282666755975377508106","17398054546870228083635199797478425660409075418595768390100778415191743424750","7934432584182696217164896095231362921691811768628662668373553323934305702965","14770303802705954124357958750067974610659609027343277372134946768518521159819","7064810488604233400033665884894690550179079962315061684082377962618248318965","9797211311858379764548903003139234131189138432232127015154782331493293601128","7846536474862987093883452980536159673751514303954710719133412028597973787251","4342989761844924824304575001440622309798545773745205548666129612872846145665","3891840832321639653175375576021426170078143003403021050132167038065081122204","13351528928196462891775729454342987077777540091274588067687383746747378753652","12732942825742574770068246954507030870667472655281551938966553941507387920870","2149482838844812387328352010585781629132915629500267381654136052072556537119","19337829133441271394383073296894990589126556338841438163823150597634985258989","16784790767866341338488002091883210505575076250347250794850878186894289110068","10482203233181600321241862176344006964662845307262074302437559986139232978426","8685976927427569517234915666091323888044897085837039536418091451170972722642","20490003833892240126935171211725757307488895950013800683178777452047576685042","1792162546879669313079163252446239161584700278214879718025605106631155615052","16064967547666639159515475511728654357685356010003598167585817572073379131343","2038324787232656409008948325869121177955199828854492699623048320829770467595","15696764031720860396919319001270179511581976202411361505429650947122124156312","17283377180786374956482947897724899741178434227255570834555404003835920866276","14698103524149569790301170945199793813326615628875144743246545241523694282446","6711063981137988186054169514779081438187470451686181505149070714454963101621","16857786182614103745145068620440842106806526694988538716333762769445868521130","15604931241790873830364282309087391662060266742664226964048688340766005827280","10728539105276793651897915093373411061587968279592965052697286530941365119673","8150860183442563718234800303914947876489919504227757192551478583314830059760","1426011333499250627953277387899688717943394734512178191484358329110163751144","13177021691461814757931777945341789768014185972466595046473710344010902851311","7534816129895264216878988811287428070883087362155113915366664473966664407529","14907306218199423424009247464904850993845191759256992433462632822851237612939","21163558241656044032472484534570527554368559972500360120943777980440523489115","5806397363033575426733460140404456453420455775513579380426708391441581270480","12364893884339333481523799997808990418911395791120224416361911865066875344248","3285266335096234368246532951544109732496011454251910737027849014913198987020","6738931146060499630761261653740567296043717658735751743879732171521836643264","10154452935594378204310846328036542082422689475780912228830139418160667825062","17173180625406101462429874268119575850799153984239959336167050246264875679929","11771759310671378070699571044737439373328418081704224134523199700571340453492","9201903010012294769226852618291328744138737168712562893561843081771853758430","18960575342806736097710212513078198499458264848590465526477817843282481159982","3786196741889484593648668912306452888245857791503087215320303509471899342034","9703108444393759620540983287148844030520253463014600450168885024356900554727","3705512247342131061920752676775918700002159699134352604893181674951834634263","20744380440510791068139627699555983784622526728039699416413477789335384413351","3509571601503556797669726886723663988433777922319888684019919141867536119602","13464915406622156297246286138929337387213467000995562465912367092350373336895","5184570673647053904035204849227819495776866012096422262744508501362530834642","16559518735657642074781960597600690088236852657657386047402706899970619619292","7703031445895422684034813861829354907029697524965102343228012205263910012570","4323874702421756221348476529012862396295343278223040426473174934502309285506","1578246331581202023879462895616463893909003870144121780590247241272523019641","9405879209721841317735974076209089263531676578417778981608079155139124027510","5937531089973867130316073975849611001398387503344701470438380911070861813134","7586511101544473155628541563617283123855353944073339155504232394211636103246","20859541098754048180298650325144834746110266291446964077336161796057865394130","18727398282885211934264671492551679457379492085372408843741660101013904064102","4483059390464830600305549616024869617415312489603482081489702556383536025114","569424976868306527856939406112364732378879754424510474659674031814541936764","7160289598139169925111275663988656373195647367305418507047960882110233073518","13843534446977373194157708959350809754094366991880678507495068572432492413153","1731917977665707785491091151062047912440812041201301360199112497894863675291","18299894985127633911581733626839452484292587866256917340398226423862554260919","11723161258567311533267481676341749364046177524968389565783704083380042064285","3982014996535111335264910190990826134502695803304697193896973827467806070914","5278339249940715518195486229712488968746505216413992114938342323551310357081","12034289354429946798181172311271198817161819978412411597686825724158852395415","21149441216914406541307441677139767537954931534486209534533763713444887915736","16627339685570972729527550183374933390203362464634838874586934884758332025227","0","4677130581325536491486966387607462164138332022971476080171400451642918512081","0","14352042597084731985167090523380966166849342735501537582515475409458617286578","20916834489524676120387097251535110444656698997153522703702345228187536332278","21786793935749494030701688869955871496912951351227898285599497639304771955576","10106735684790818457532258261695309347960776498772507430862800235146625135911","6428336958575254710332929958467344286379890417184593457768755197698276154344","9449357492676360883383358736330895668205912007904523605095822464017918670092","10111826883044783982102986732748653727827142675462565443846826176871513211676","1771614050520464755206567655437318955982568195475607626784805017809388908288","5181279093174687329726783812472167791709283592241840611012716019918769478996","19625330646091720298063185968805653622676674484679604912292515387337432408380","2768547782412073820810017491936220882567133374177389674714899611953029437729","17475858856642439946980886543613194476338688500709749507600444801508604750158","7936792328209678047590373229423008993770556793413258795813309943120313626362","21106911891928118227008245781708322897030448201446386484252960412614050392520","160923774132320138700309004142113885600469201993366299668857339625017763491","5648419216415384962210458616735048423783715757436852584018245551951672011375","12794453646271580692341785003470758044545839204088267229021463921856395617141","4601111709451948750538176472417274134490289312605627760161636077955943386715","10046283988380359324089468034447747413531065892268432343877377634782154660053","15887677480719890671704364987620562587954199613181979602582670224874937072060","5438806375578094804831996047256409601555998721704437116661615079052029229318","5430413829515608588299355610289879610496459872289866260579830278166710730809","8145153039485907902924794186182610289619367017177493868825686177746062074445","1928055138345427173859768658228754543158160037198012776182643107002265549313","19148490879735980915881361532422442541647190982033206577056178823663229748018","15656199054564982743907282071148579734980421838890045115571976090095098908226","154385660123514729365083840665563286612278642507487979936772015106480239271","11208063791115789664132153463836658703269005261853507810845677534632997047231","4980809440531928728382703477924651480613466034938913251377451359358208444982","1524057743203707519771353758649057348821286393731662706849362699486541753697","20665772595673886610059453735047124512981228960204655942695865552527752062241","1186807049699863402614882220003404557936839845187039754254628070626999741402","17655038260012023135991290457846630864347134132580096200058808385064420065201","8611084470868148809619940947805816480328036373935749220344165889392208549066","14142021595071918637986615420464369649728263276169785551023784313537577850888","17529646521554209382090880218011559871098272786987483465327107853286525994015","2040120642145596755572958772074026593399853090022282847294099647519752674971","17441803420271734262262418113785367400517983644769014072249558857676583365841","14156854282914612037377595913998497683980086971401899494541558075190351078424","10308221695667650140824826698531380084253631646490839038942942820966443197178","1101075129627707594434795803085623600522496293366442348748641072145714313183","19677319713816485771367212710795169913554477042767130022080162547884591626835","1236846904444624228218387816906331097034114618823114640245569332172064170170","3863999651943662904698904223317497819688544316226543069403948316601299911686","12968780794630186127894580430757459497437943814584371356170317519787096939403","18863964568216050769470855559607562761266854018811972360221119130648889660792","10980261057999539251342546154236953034152339724935668212029609846924397277909","6026183834429687141910761667665922459653205258849554538784504128540565267336","1325043933861691665819857415353543770328043482420922910524231709731813667285","10589598308619843106485973650162272837596868161731075129339123435634198572461","8357695535586512211131946173362697455939833584794382884292782320057641326258","3266373818615810805668585014538319832164771358602208992778943606894321985502","18074036499232490737494376693273339549688279163529537133214580364038088452119","14546600935577453311080433298210017583552443833692869656397239924176678151900","62421923620952991049984345814361879507286905070378237971492277578884351755","2879305999280748670279596944091327725232783479182912283150258658013359202277","7523008511464539555363599283132387734730173166982034845113285257594190534571","18414482382566740341309247583593587007335730216957603601657405131212831855483","21394158508691554288650769164250181829130540505570006604337113503793855355089","3200024352877513622415018610494358821826750054405465741396212494995821808793","18583601133576996595318160918578674678969104246013129013445112203099162324171","18145796007621772673239628826341501194293386796962167313526920065550313851669","9017311649741339502776691175400746954392649822047832536464207822656263252345","18362153168146140010215500928039287765459305871593496986566097271273730470963","8137596771531974550052910834199969557513818608344170025457145708469308409450","11489710840914658197112766295355622336099662907481775802420795475591935283516","6058418132558955183419693683832885398030980244262108898194450087280714698915","9464081716596322521583000253221386386542755701460501796887792800466818656833","4632263594413868498046387574568246343585648386718332974123490129408377035667","10864241267652382605762892597967987630991129737444544094661970984675195013148","672358381702519991326943764232335661923027122379208701880241660583211134830","3761419021881601449881516496390736400485736023258109551903848109531739223589","17584406156472306411792753846436958310897643228197558963900144344391941663268","3971086869354857837849050662671299737755403778005549416025416054070598660601","10418511769505660582145729932381356184056323802622588692263341282910371984971","4797673340500968789264941728451210426517927485539179025374975158473672144452","17506198805163936374805099938249109026161134938981585080451710783307614059632","1040538094214261382342456714209928670108244506572414582343994883081549888627","8914237510183240036197070003576388278879856057333560041693484758143675412051","14136593229869768312671049017309061304916651966018774777219667597506273214492","7527723058881573789910103935542251697457377309520228918711333293361918094559","17845034079768720633587635855803543601730406332999770754820779691546073771420","21192136449597606223524416011394268741807793865773093724735117166899780629350","17373928156792733028689348291740168640653686458686956074731612260838585734814","3575368361532172470819365421276300750922234087771221899636718765016432822727","3905671105615810841459498276679360601703611477355673076626657199152012335238","15834118966270774933036160410296424804265992656663500408606849145866701384044","11478411596860076878924788039412485713469009933305956193622571610650670207929","7974995804847810087089361516207533885924725750378272650282210229701213841341","5586865468135814967155407606864943593861544125559374266768853244327870360878","21610930713652170889166724369867254991075653160934238460190568303332119478948","17624839613117754113564249016757715027543803112272999539840841522244457629696","1022828462709321781206541996477450874052205698837736284984882458921416309143","12852628556728825566063930085359387693025047800276801998355627378544817469368","19713150109581181529955111379609486187117895722984560839793360814469629849318","5932543672239276476639392190134177610613994515130077252972000475128833993384","1756855040245189244185066341251595005826600382941410411264827521512267616126","14148960300564481641723530280760331599172711625127160077562802934651248087931","7722436309303682404542338415923946887003293553690572439820783469295411557373","20181390128258432311306385639955684507799165158513111684639997512737961800642","6968695124499410410328881418357876454538640230325461589379951362119783514335","8197346742708753490316632007085567712202839808324687455720697134891771701796","15843213830049750820258924263954632157488713493766287624725866593354019821802","1136112052222840614098601355856515069132620308582288307028750080622947127714","13793162625994519669206124932882928398981281982393461833207855953389090729236","2549722931441909802045353415509789475753004654940223515640269416534011821452","7581546647231145039357843571727876093136874076189012795251837560817987835168","3178234878552349246446888469490810586915942054809687415308617892075255307146","5572844367232517123630036487187625695440724918633434325994187425118192314983","6147217437024431580333032878654189079187266975263269529682366795273863832033","6620440888196864004957187722173623559560428983575315095984883584010044721007","21064554752872326168444667299414163879267344549714658633443512435247988295697","18733929743595219000457736481205393897675261941048819192609281544001491833918","74262819453204314187032042949667126970531919617513109699712532293153052656","19817843031215322467449239686176491022005761637072356523323167107950458594960","17905799030681814098208917555553114635617130785899988937798239849677038639072","16467541242437006000937806486215059273437333814714155998058609926643084746939","15346489018327906979341197843122942677020799582323229554312115534384342653397","6191590290363373453367278699734419696317973267689457700357234880966969607617","10102758286675126959906910166416650253569709129091664775410655517120601142533","19345352068069583849468708720227412659917406066348547053591244726672850984163","7731393168849691706965639728709077130299967496624041282922566445374035140041","13491044766832735894129095968097035809324027220821307874650319867589259203595","3396121818530974718122128988839627908492867826179873957531772192410875168730","9332629899007158487860716968279057723451833688900833510093477880802118969327","15453738946247922339645953025611193554081803042107693800193436831611064979877","18402677359691313778544318618903807830053441248686715452277393234747896261111","17699783811594016107396523745249380734146142111095573410219441912254869169388","10196184477336946429058129792284767028887210759900397352539077004940307235082","1081048751663016364559287530733941175187092360143277946288263314141267495493","15666883780225654343768337579037066221222490743521349831879191427874051214534","20749633832027356771603080252941602160804773577201846103187993006788685364493","21280720740695336860241115195812678273653215769922325592484702031848572721841","11715091083799613211838606449386038606470286291531419751520936471432739777644","1396037898644720241038825278560456606840375596186803477804350108641205306191","15435489464480645023958555741910908127252750481973327817620594589891712718687","14282884387573018248170420244473809202291838094638125538372311722152682407229","16785755960612602693943689432362361252837265428736643652531343881373589554010","18588669734727830452526286160196895687629590988754399071542510952874738180512","12615624596138008374241676364549312261205233366800097353387669050203476239049","9648392158742853026279845207386596440233628849169922788285790786793859427512","9698888851569291878440984388306084829532454035508353411131173617695243247644","4045452527076401019123537666081584366271373644567173713485050917122002019694","101447657324998084631736015602099248795440871322241237135264914140818198655","19887977951695038430455355171915333136235427746933190050840059783291674444782","16822334910906330018043211691716481949407129441464327761190020861708410637894","18340615507041879138619945991193985936475013212204746156790572162345792866934","6492538905968698744092985292745515296774117118852782830423983525862287342061","17289457466059072271961683718792741130740848154451675903698023334126055508448","8266008839223898579207482390222765707171840709376057446806430945724128446773","20281322631836696128777818154300454619146167974321171741286809497822733383238","12746883555800763712340812704068794329671259529019312662694409466617843235855","13133373844877330979353596486808474768128550677418549726414851446030432425987","8517743111398713899446180873246540129981144789135164913011851636988636618115","13615837005393800549364959510402965363495880213595575836477248190911380828159","12983933107666410088451392119104666055510683045559787526223305449120053688868","11210095788742571138423364236556478789411138223693859451543904342912495002364","1248458388163700672553156877801464658098414275847455344338444158902914342522","21778797850437966011801561278712977446470365798367850242800274294981815462344","13880604069081745993493253444562611393411922691770166198154081402037384670321","12511364708941586390568576778734983575427556616740931367145271790495459730208","10177525155508517402444519785793706138014287945026159129805018472521879196615","18767034183407827662031849034249026720831776493329956084663314282784219648016","18446075931376843256755920288797542648895543039667334053872484379686241491759","601658358420916957515968586163334467775445316575609128521317613437886137663","3048898915739540483421217565916989616820618761804173778112648328103655908071","11827742977340056738668126219168485786743305173012217923776698939463188061048","4788481611407301552917874540100877298336307972894526719774751510000838552049","5246338387032244190936197954441775026832455339739791667790183881879390270571","9275159226368331820264848636887269226318435469438425455731857596624087837070","12808344752070911920125566557523441588528570288407269312833230082265878196036","5973146863499562382214403505101202790618332541088016139487265253025760691886","181773925380621806730798516391631046341308014351545270518224656589807329007","7566230827992671316582712850385076068372183345712374598417692791055677028171","9526131204014660111263049913856679194104958295990671049477356209528752784114","13898922080711164687632728609251600884092341718724614054608878947732139781199","9952905432227502901987480392002201826693405707296187271662703679138879035421","14930221752674034213069779625709183207015296293139260536301330288552969816379","13979716509246576712581752293796296578070809352951945374143604295842108749696","8837178851583302818012250483513131287930714695742896818439916675551633921251","17035058658868065518163787706347185595648574299800222478170208759484064100629","15738790380323215659314428152342905782920004173906671949036824734994947763972","254815403416886490292404111743295451823358546736088944714228920649615908998","15250394470238044691246686241363623084771009698343500754290547823455997356247","11566604637517171511320374812623239805802465672915509885938175806142195147543","13909544979807882940486158991319404082942285644825236974944272077605416772431","20270416794122893546310457938320908979214136683492311646397353827965590669225","21767968172081220368524624319991562826785241846226894046710704992002013573687","16800864232599625404040534100536192882555443598291580184514662713361983420795","9018437577276583223596033140000559262825067868924284628710541914712593813999","3590585516955949990606168714500101791775670484479492819125441944159308337958","8628869411482005535639967600472561497587987723670328777201735626127568518719","11344013658521002344690631802764255176875963934239945695411546612896227955133","9634800889761353203457902532773470978757390784076428115678386643198076827377","16494924078532429037949061721277637940177934958917595239609127547708216863779","12260926878276473456432531895591862109231144671712827104727696685648033185731","5428065688654636694816285783430536095162717907887303462427928317699137265060","864012232016536040361697649146426591162743030823879964436643556703288058739","18972980804916582032327458886546452293316468875210766937534963000785322338703","5599238491258459247663659222094678855028764276840101552343461881384655863615","19233110274874677832163981443875790397742281594752144104059237970363891987967","14070533422982996710571410823881497484641786074835465094301713398825817547386","9087040390106271520526387144824250194454584429758165598392415155013666070093","14819826212031517347706774444287357787593103280176123143805265799607886374644","11684865548303830373818994722978439826734897501818382073998899640000510870927","13217339991743625889020912890502674388874672750242515773651723008096132322480","21561492364629846860479575968676037090993818957872067022139278078410910567556","9652657510840913687283255531884636077426604021055245139324795316395357738551","21701065316576384724378611149896850079553846404766654009198380988627043483211","8584841688366786065175191525076795440618700175375699352836665763106007596507","1732880429110977690824692669512279435946034737430630671373275790060365858760","10989384373533411398934349035597651841026223977659975686831433391964321121417","17581879464327113629598059977308188798908598477188609110903586054531568194237","4983246918614401771403238451287888499627187661559344404878266649522123415975","17927586882427310414006039408756606349269887209556172456303501611954696245883","13478550220436188194659449196266673840266672673887481049379881468314482103896","15442086590492535694878147767541594332149941518169180324695095099946497406205","15961911644462550294832022363389702798897918043174675324908361840518934169083","6587238612369334809733150808492262365086016088136623316008381683713145574529","3960401538068620934293325804257790037030208617316439118176315992164490591367","8698869664656668592923288507779934530316310776564919189820527798250200016551","14078437371642486814939418687098082732837167303385854666611389854728114512015","14014053205034671651113209176990956491085322986542282729856309547575946166798","13450217988163925031529636357261523518680682139363724402142759193061401003183","5879305527329645764719940009850187156117537246973695803381894351618252936191","9535557588636877793302277601888636736203917450339345011911698906956685327561","10829397868747239332243469182818559643011871343705715337673406183505617766695","1522649784809598252969090640089238327799394027809457268139522550823786826449","21010621436384772196881485911200543293268072660704580727505286599592716262605","8685268402649855090203988007442233833895365101294176368637668259444535742709","2134824389233360612539548607315930135387245846757533527041287607229397043898","8351869308795975651007937161652701296806688225641220735516959514932426697643","4116964139548913643112307888681197321780237983193161921752566790052896577383","19285292543161846099945364265169028621449545136076343418281390450837440032037","13724571107571584158073727547100686006873482261042052896038359220749743211002","15498274670911767846657383999478689258628277969653801065570045869462289771167","9677472299448160872635229465200146211181099620459651013350801406153798956054","8086717759962761210210905563240428172622501663215145957724065959478278408610","12923957414318231884705146440634021452985877189151701250626033861001244754537","12639886095636790755295332848615919528536316592839662017730114336822288541936","17964856986555319688390956952043468289783413082504127836350346299117842391890","4747136001097288857897375480313604426813532513951329367277792776423097788179","9788217150961472919640308563140176433847378871289282053276236344897471454491","16385218653892945650292895644891502784549657220526490179167755975423751896899","10504945336773723198014568044893572141916082439606658533571269406722305170074","3132758735905925540956018936342424212465490883344905333915386132155909641872","7693335852674675105337160825601248941673214184527772377498711774055807812727","6966877680107369034555572617658405689818681536527999611156822752308832908839","19520027782094352765595181663242314078224379050887752160323715312678492792624","19431234150682860647166802346634687870975313118689028268569515754062641181675","13364888858828568309599020886930936312758923058729592876257579650548403432380","4429336109190542545589327541163073283763313741603338777418489811338331963269","13303046617709922830900573453510706631957011412206677051964373158947396442149","19704385789638234259822975087242048608266192779802943912526366123151390535733","14045854768084475400757200889398660014059702795733639818306991084651587001283","11957619786392163964463621957378516434098941270737269121057718912597903306945","17811574064465368240747802047757187877765268944965687166508823127712743404164","15447026909359981861012600769812413786873660543547592040588530158648635889576","3652657328622525736865169151264366713720974824963609264234288227106439173821","12388551482532089134030199575537255785604909966611429793645638518342308611392","16000259395848052448009241875712240318742689059667753996130836559744974524298","15769136814449627202065272831251629709221888718931463351486243799566218755278","3129986775045982922390756625875681524153806914767530519644185715479209684678","15714806473545215061423205685798798012077459003081275714250881249451629322399","7757338970824900168178792700719148514100545244185553595939433108971748654835","9963979060542394161028821389467035220018178055792442311299464560576076577435","3231841111896678064239284790919154538046512531965913322293106284630906089404","15830824095291483834299244415818220330517778955678992920043677001616420125920","14966057823560468136917364313352333830345151306500382084656394975409255004732","12859391473658587722285604207494597829206746636757700619387211514019202884572","14310785551130071949875889448564196402099992603453536024066073362728556967323","12039768811721609412777015875459884003302443363369058125155527082563701279213","16847357014297880196342159177015958744805411492956048834636578961677311777055","1691980987335649322421188959259457482607530415243698541760108647785644142776","18666744223261778964184410220945755969726096204315886287930254587726956834075","8962457031462687192049138804348731783400445889407696098397965070905360762505","7384354940894232750810965214256843133893828234838625249184714570616029975822","21405742246651619351159096336099984397012902273001702952006932819970505943514","13716650118149995559080008009964363618246902837324171491466697424749420636843","6707613599497919386705904880086784270785884563531729415964783035104194061773","20631714840674168036171577412492662608900348900498313212512136921971259956750","134109077250314452203022315966647067839520543766217804829085439284183190730","13169651344249706869219241644867851569464128890966340534825217568668202987732","13167578019634904591546414111215492463545633998427272233699027431078968999337","10874644049757609067573478421900734068687770474279752119273092557335160517746","5041196669573658919647887109742564681935374826142416864168837598473602587238","2414830299666006258645673349772293044459144661103518188772254029962769281622","2486172372301551270005139443153384934952252396111278091785511578335654605911","12057330972659423422390731602477471176220899187703401729214830054645509582049","18399658521760301015112605843795715442296493965942591791286892061171549958324","4051995101124423356153781359967593019298253052388354167135583239078023449300","5358269630999833994345164198099784462567072582084855157913403977548512197456","4250314517292094528439701162504824105044853754117759762139820466351640555901","7048807064629087156949927187424019447786535600445056497976015327272550707975","6984580619131083356200383873039017606387471078698328791782303726902102599125","7336634356649738652656660282271341992082685709984485230251067537014255344791","10530909002106582229347273337544027855926506125004369394509193368470413384704","2435905354250757634354515411069428219702585532124951087402792008915185691998","1119619308682285200380888041816049747432661408134293078744532894417598260570","15183590380309605365392701288078748215744702705186547669038375710606027992156","1677501667477086293363082452892533260790073937459298239467226388635565927170","14384161985092103893292730106138577422172386461012454169181531673940244634553","18344264980400400742239745043250986937409895423338942347938056392929853524910","10299776350807701382858990585817991708413536318656769270728919653361249973711","0","0","19152212512859365819465605027100115702479818850364030050735928663253832433665","0","0","0","1","0"] diff --git a/test-vectors/smtverifier10-witness.json b/test-vectors/smtverifier10-witness.json deleted file mode 100644 index 5d01926..0000000 --- a/test-vectors/smtverifier10-witness.json +++ /dev/null @@ -1 +0,0 @@ - ["1","1","4677130581325536491486966387607462164138332022971476080171400451642918512081","3663166078965935940798554689567237216195612079341396621785946741270885707796","0","0","15268343501033916092396853374199187988748455820543796633535012025134089057292","0","0","0","0","0","0","0","0","0","8","88","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","20401005071856934512126577919502093469896998333576395423210405098533190508507","11221637573274527616863092148963749320478792326359046885677505791311769356018","8745783385554450415208935817556852505963904666879292035461030896427986458112","9244054540770593249164904411947793447281401475699918706115188959349553172609","6581545343376332934470298595303632772511109891764171139465847680676650578729","12975903254346194675529240354727255457038095804076524091329755869393139766310","19803394941685684270813854857745644278038054764942536290820369900488658686769","5585940125353456154521445874379558632458207346008607940080790213364645505640","11244506172933668759891206264732186405597437035907023598547133839316120885010","3851610976264127763238413778601510263979165838589148071349426447569686985537","7071322364577335901969711896982054043277813863419856561388537194670266500928","3422067089417484796438032477722219695118990728746401029759595625790364149058","12805072737486811772973782049375276466806793382130045923297598542528800907640","17594513878835829024628278755667566984922043736716840421722068539653840180098","11676632784204779241861891185738674481683374135588050557642915940062806296009","17029162924965293673613365522846640100950910855072609798239625459599435756432","898211697157487519549227415570576029211121292361396405283406356883749403433","14366915830202766326462188063191230174833179536088645343834382544400378063817","12664457920371440200917881112751351791448665078161964422114373799678084000050","17225831107330066355623410954976865220779035414911632504709423461069070042847","15657915420758543114125245922743178484097012107933132545134956351582036480599","19754853673624730710977384068239569426733090852240507254234975130775960609938","8198290072019908088585613427402075944609199376238991750557143368792110056917","1333407219535987206869704320213118282868594714568243577334397935211111565715","21696472737914927716029078365694485185304677066522490566902805064270348556171","21497072371838054498503157730407578511075553217113204002988434039207246371578","5716079215469010939187327511333079592012591456756259945796209224952163593487","20404170185245755308843976534997243568739930447604335283167685199377654923677","3861104375503645343253701541822050315728344764334581528650347764808466008772","12176975535856139763876059137788210748198215908393783789694770294237423844957","9247875438240158930194335478535671336864947763413807028167313109015312968497","6592516723531779047857309550899157470275721686168529216387600586493627849431","16476508353622634039502369128688793162898765582396203485037731125713134755088","16991997937888716195946864204614725755234396710735877165513368685452596661198","3914988840617461336651438811845515669502559158528622460013509105300914427028","3863115990534889945500773133511145528863330703330314568158266628528605597927","416082415334241412724663049953052712235794129102416316011799084427861582432","7012848816004284185035158201803358903539970170529540142208517967114500409289","309124229574207157014906527537525694202070019156169063436887145561949857354","4903932045637942020910927595036398365107193846462306614299284140404690065068","7000863141160564151708317534611959556176902405007176070976400358908336487170","21691282481141582101787333268357348185168707972411497385218229921979851496714","4993846952465067232508627513995021849200978865360389076614854507987120521327","13679265692718148432964414312888965754192456198167844449126675613603764431353","17066325425121808184493925216967757222883042054035551418153107722149034573896","17710845672394130184756857369322756347951455276898130666623871172064208747979","18791922148050535258510569444323003216256558953498764128968513159495756490056","21422612213975069678703444003440769029703257979189053492384391986190935853154","14074415911075350631884210592009132418311763228478585328870829236957130742199","16712164885928936209544215710602236499399381264333010921664416671110192821993","3890144174096543702457795424381092106714103806060869185105952186578895867756","11411603826185899674971789468779496707097420392589574681030457227865151634051","11278134006242651868902384814455424534094895878266224494208932651040997774068","1357976199171393844376689379124945751111697904858997084755974405416513135130","4343153040657565323028111840502007152428817003888600450694507961870476715049","9181377387595337580491416874175160168294493245080934245751816446388796751333","2425255305536196957205709729120798214436921859930479453252945270807748959831","6578001121361113879940172957236491457133313864689528387979479021821170227528","6164826779736626116597963547825155927772940310941968391447058498265132941261","3700108232241915958613696304948507201904544448046297515460883207338904971957","6190605837118282399165843470388989860287782868077605535985954418426816486848","6106138037438722673902364538115559045760636760660522230477535279666035413187","7405964407182383200594638786755813280180795146585621289192941432152439440086","2200073129892824111028068225485916839587213026436809124266199233346024821857","777319442678688744821482923415270381777286492397327378325402245889926113240","4017789474855628294606140402010623796688815094558205632387074072916552303805","11541270330683062542002567459358015349727014574901601721365737063538627848784","2823446574700218657249665947434174672382654962132488646881644193852571932673","18645589912182584889008316601334376095060638659765559115298650825082369851287","3680029750573981264593517375834933811009820922904952587272493770675150374356","2929666058350115345342236274632809166146917579536660504655231315555436676586","8320637811295883468181433499036831046557397880226343311828585289892587214515","16591937026101200113681836715463161062807490929046078632696350632714015846273","8795690113722596255446828902343872522907104874764323843148878360839846919788","20366663702866348723626834188465001593290575846081185935326903927067034107252","12342598629879250444478089943466892992579599146445696118318894716353479374633","16259012922543827169350964030933195000537381418255367480041281802653105554367","12727226511659528038841457459572229869377155257323116804496913969535909098288","4163951756144334245982358155937243341098470553469840012078653410810603589985","16103760585047488043518047184267211279733736508403896735104081570559394710718","17968408395015647153390654310047841793100589888981506050760915440531564687486","16351568846757948082188054307032332134518555898871318879812972448998152306907","6342581867536954425364947512495207954907702963409018744505216713745289776619","9363831508530600700698420618137039463907207123540773426371039894423765974248","20075832863770169333140290362784679987512130747407669117958068862238087506494","21580125495149521509798300361163549289523125106301210180275602913697795554567","1937040316623820023960935271645884612309404618891512677359910025188104033226","21517678618944895039240977900966127769332156048840516238088842026700305705012","20728974232879640650907968365809502694287999028914817913019859489247556584657","3409922081783949327397585571502224023322363594505140360630521720238096632048","4352570094213759068010467281635359513546837716394971164736674562929400659212","18092743800455456886347218203111800469191995169022333387522916747113632570721","2720063087673413801723557690255579841302823358803320266748888047895700178045","17175110071593084131946893556501435042165047431415201347091813354122835260983","9564979330152443288757003931479794587522179114133060435658579983149254930452","3347318299939765106607470741145767094546236829410691679119011792301797632966","14304502015050510948444307105619853777717641581631912930792268465609404021745","13092175495279360971869065949746520811223147791128757546399480296412351058636","1707262360973913201290435384049854356393578103195212390738103913777738765421","19547205526504752356643386138961952832928916942163722567977251224617238914117","9085154959324178162089071949842580458454326822530247712634309003141924702486","12814237133700871021032361735785084146217842200097327414960119130631110311442","1359758249310568523959159411473149159617592555982101840296408398338014100783","3104980275139829931512442595755479318019380107275848824776224035187014631003","5493324324817078234775956780046158417049208997028274089444829337603296722426","1681520132627660515759216226058108884817107492719428021074441745269746284718","13662965712161503073421247925426256337681191812734409004926825920787983550049","13953690466383149502155233198046014428345178899886405774602488957627161563198","19508620792125602182604291052414997117479520340671156481638198006380435206454","15585806510286403785339305494026941066403103642461231767248063552270235798329","10591076546558341465956035434738467664797258248905485988162498958505153513549","7303414353594474076771047430548081276179918923761331892484251075976564495075","17809199738317839532834887681838755795863975391799342593236782185975857238832","16604278472391565348616039444424523867654345641807562460418656489568589645032","8237960180613089133251894643818308954848678663543875572693460953231041608999","20252627952247442853516997323335870309495884623902725391299640626806641363419","13010139359466442214028326184148905507075133675038826752784828106826780272511","10593150018938904650239309235782794716816364828345398853512108236577076228427","21367786691449289003262284660230829190347540659543560982766812158031120620473","6451648692626028930093936406515211657854909709777953110081985716539273220516","12766739823382181891283205641808414952509826741782530753613193983744392728448","4152627578387185259720856370164111187765235611908230932235714802983217744703","20559441146863706706612756361694163338214336751967192218824662904135304898265","21585694903436710940838237655335883320936489820548029731069199515972395902380","20086222984858344510153414643427012481264615220408902558799562092479204992935","4412297587711446043658653737773520913552739358415225931706151379637525239477","2018569567026351713371810181667215232974538547903561168814261759374068701803","19991380241176495288021205698639569317246725881199633001218387487225194499399","16690616887676576899275604530394123990808241817956807416089902772332005033784","12197411165633993311637818946920192462264030916481390428255919160240064902539","21360178049769523245638150201112394465160991252228772394025429826522876900707","12042620832074551150671733150982473051019870966564909661218834109744780832683","7575945236670015505297026945469622313829376830393540658820227626247404896917","1177554713186658763324413579030047150809337955329593674502439221398324469772","20701437816539673739193127221977693028818199043643329736436109179070047986613","21277375846212685001160649578521759416533171901229920395278837137843958994298","5167361814658027993443792587272450359866078492250847529914167555027021088752","15491994655976316629130032876017990030761400577254625018363825894120530242078","11227788182697009408713227845225539812449541448277168680929743423822707529016","6805999662232917683088357937775508272384308252402567889259796646010812882509","19147779879984705098129733151170417062086581671669029655550877954792558142120","6767138719486424092389456488423146405376629165433241332938689996397685776600","7930912798246568183862348412267808581384988460482027147004935278632461616331","2840685718056113649483300108416912411553089383486903035854107190428939595608","5168388012160650046818706408111785055211044776154200232884758331702687554334","10804401084335200432200234570784426047440267309244921012516844845499016980664","5879447319630148454436579568803516195284192221266612058486316005113897095930","13917146744616545927466577242504887257092990414335537997096436089688482879066","7281193707760517178701005290717080306813564631661049871540602881963365683570","4714562661041331587767734533894097091396488088860418963518426473589804557487","13887563944098051139877147513872141311344298949607520302221303592669471460570","16579059176161881255591784547021600660183776427736277671308519582581979168878","8694977228299859841175623888800715810340720419926627503988818183239920254073","2172253260743250401035024421278379777916382490227575054809637917357788441312","14665571968318605496084681499335240332202318897099276835041940682766807976907","13788414596479781830905239782377049622946683526352305364078392223659290971584","18846694414052465556659565992225098024384646887582834683138263144484156013216","18909694294096613181566240927846162134571252858203666549730835332103200690035","11302305857141628538629953629326471087204891592808197565589978544546426632081","6227200756618295061351735117380809309630763426846510648575304931856516037841","8021312996668423572838508273377537114213652367510483138732039589143910942285","21388094391985017261787469872068829174474019054586123619541825509796561450790","21885651340100197866119915077229901141001400587163480023167719003850464453378","1608755743284263772124938006622577179113688179673570557030033176267563213041","13050375867717790111352186875571909444667320683101020630233156531382762997902","4180493677097985629503954411759408181273462596141906530266328347694482447964","16811998889189663419776324321715740745154975581084585098481145952898063763925","16612502123140902787932370622659883066359797218657937716504038581027498683678","15769175760205404886801504889168121006624730224917112560602404161996659168361","20052131037268168276455630892186744046507841591520494885002299620411034571862","11286349682428768936719355726833992780573753672773572798304688720131939941802","15293151422103730504035658386990919038025737188769598280820302135301927386912","18703537633868269115461117846009556047576534581284962047788460371685925813668","19816902833644091320363126330118840288762510118845312064098145305766287003223","6949529972860419420429881205468865348186754309617968830960173223899557068871","21769760420707708407196283509804176958755850063132524803247207048895874481547","16473440670711897050313900169854568259807762012647829221269081056318792356126","5755517310638949109705199598640619834726909253002725292857053231304608155045","18514834954938936122733927663845294725735316174228237138021110413393046162581","17571597077800905223425674691799272951518841099899533191990592453235956462954","10343484121259456581495033186763792506225736617417894740287403400452942118070","8186370189144040948121370788563796344048042083081451096538106522673478588702","8995025199059491390637130758318854239417833814558039265434685177008885657376","3031472894766219059858005879618131510547478592444817981222996099059821846881","2096428173458244970035526371806757154215216540598106496719732366873152520837","8675946050592777564397329804724481502039667147072709891128997869096929909302","17906690355906715260861029848190721333178832439438757851850849610334161786543","4384788675154419950337779244254851527639700456846122803163036431404897343108","10634747710354045161595825225067140147638177833819964359291109028759478763621","4580007891428170105461347466211733339661434246730887454077503547854614786950","6720944024268957202412287014295868893359381461158140752090329880073245402319","21067675131658633409859213918385464384511429181488894854369374713210855461815","16177587773864804257177452843060500221886822743222984664060487906675527734703","13079635341912832179522112507633850975262973331265925673861158474356511611384","16236233157426847369987516405740925840383712577721411003080927736978196366559","17097099286724890492201072326079274906042444622668857230524228768759306104985","12374897587824358200842113460666498015857548278280740473550475324753591770620","3743009308795546792486590404059394908393015243149251676878652068279426604464","13432526247494961087744035539077952702179727966783485855320023422065068950252","14688776804642386173370616887634934837860201468381553713589845678935220814417","20904319181107930591693522497108668757957419786841420945208626464814153089193","19407641638080623902880021605403902459599192981944013662244523661942092202498","21720689962955897879072073704808757982038470068030781698960518758667577129677","11556047135933626896991588396593649827497284072272132683055383198656940349048","19257583335877403011481825317736793499880424865167133441637092959749399313502","13275085742513982073825903569505547173921689074792003972342829667341416493126","18186872120656666367984034318751888935557574116281525928633345317144781969073","14599117383639859062997186133227491056306039136668700051238992695822329595098","19740951317365036802810812995171476018610554899213047341766274684214000740145","9232422044771875096580864407828551184325758239361884860195530069570407413318","5782771296280052360904902126779087649052846261379285480209334847379086457360","17775282817901904888330413443189119364682659487019158676987538587625189917675","1066561985776794466121987377463909476153575322506563004801404340179984503358","916610154805361771422714723232443767291038192009867156950524039746086028401","4263481370387913376337920860725556717557869034134864109920649685553200846737","21527423542512274990094513736693705044639494441663212768988971472445510517978","10772690412778715474843013948287122660611007948917009503717928759138195613014","18989845603394891199611627052394615555798122422360150509305595512430227212110","1487098483796490147575884469388782159299789468561110722348429487198102511632","11667047470399501056529839354106390056855239389300339367976940850340830689602","5338067017433143995924920876000505719377099047442243276435769640883922280642","1639154030154468844685352572728959965411397422368845217263926967377984087918","13132630700141676106323558960818397425405595913465552969558631534061094705576","2458781772273794819307075201130420262482061223367508169648376645311313254366","6989078751359738075626608779501110225709667509447635458687084301860445414746","20836197943088438759206423067022986510252062173602603489446775527012291159050","18390977497454237569981882804497550599991431944174604456803823228635067811916","4479367924266739311074668717226301598844575048116616983202084854079931435570","2372419656930102328120568984777773190858918440893623551278564788948605764950","17424291298284456433265316564330140848645960802620988826169646524423608305736","5191605225433260421899104272077087002740218354346855625304698999580323149994","17898440187463079591870946871304745777602605814215664686278564822325291419191","17611859793190030697270091204050783889385403582777422405706234317717780973100","6588587992156876940819466372868592907549272382061712287684384984996473409069","7571197384407543438573501918487955350438229069418009632490500922685766556226","19622703780298965679676905213767547082077482457947888893360172083867854718926","21446166290358832595129109900917818945140329225281180988061882531971704945157","14649292190763374051361083505220623580043497183975221593597470501022875986346","9250214836887340715465257774381457509613303863101998855836867422306668714320","3799607608415765239282726340696436000586985801883310385292182905931378559808","17716236540211356810682240131328879925291668848938188875646461996226633603517","3887247465597261866432589749777530709095472168951470811122850860456882054277","6525687314391411916112093511825672263789004056033625391579990650584140851278","18592972741726720044072476390541116995214640896242376564042077906654954615137","12997212889971214092134739212016042815399565774915015723654277172229677291011","4254868471812137051590028129329703685529333363876224691622049514478855958366","14077966582517650919095650571577815704088597646103632306418723366506982670177","2119040149469535235354287029771330452747208537753577105519400357108434620411","21207697933470223869807555124325166307406257362044904072363334745276665314519","7190349195858345271646884052209071028827286750667738554028330712093377579936","16265488593955930172602312822419213417723968840302817494967024427075137839227","3815741010043562088607530283042787457524759791192323981761722086661415318698","583720915355772636555020703257046532442295128724429828849982324889318921432","1102170375893401441969298656526252647564281790059860493515220468546293038983","20767630688965793693794841558983931333464021565935903930902434604933701634957","21616121155846316756550750706226004899196665451412952515147921487185019383040","5002740013222387832459522707343247526776565128458994065010013201054029150030","6422077943179130803411797212230074834259655685154616288632319414611811921679","6019275795713350605150056395270079054684805603375188442442583000164536600669","17914078933612908061224514463417935922110346592944014164310000755613126054170","884772023111484045899873716128401230350003279147268331381189004763305996576","17473959651366673630198321431736393430579835044648223641744676465172539467775","15447258812182481040301268885975493988884370066061371405663840836784218216964","8635047604843668793061248505841409069840701926714186786314566959169242448865","1913175376077276449938876878307650673449443092618268439860264573460817155356","17706537122791580851807813119734656545999717631833479323944583835616042046747","12713533224713702620572061555868239494560543672613943047779079905883794270793","15335431588644804698232638554832153707521179263496428095244719330764160979536","16972338882045649714960232935724128881358002139149662161855864918611719193447","20510265683377915239031331609931077634777511282902061740535762044318011447054","14348591232319171989710953381320670528467798633079274942581439677296902359507","7268761067249240551039469436291066141493626057753839932909829536129404405943","11177503563612935234878370475564044265033655526751198478229137454476060257389","20518306225043379063486161411895415905822729807964259472068843201645131954257","17274735491667046764616117425484985780921016176546365036792978392889983447275","3422727355178567490283294271244869036734587792776225423412684863858585667355","16361499482646211891495144643544799199439460048105681752590733351645896563991","9831378251659910502475468716900359141926459444308789377882824537354952704571","610751981717624005026256857476647225087205352593680510310135048655409805665","1274705802853698530896831887960868150413512303073765020858441284767481108557","12911573265070499437820407902233678187536367292819490176599490719474506679709","838780343058487840022597119049399265615305670097910639521946026305859537822","21886817593090220196061836652905990482772534345601206284920261819623544068569","13045057626386605209435393764744146030789888964374754365611177028824591744466","6872197446001880821713864607137207074245510844558962930055703063293109109677","9851117414973500062343684294511405799095673206164177441983808850858510638197","10356153918708276096440724514334813427938372190784074162287576232344370795144","5422236224208691735064222120059315321102696977576093626421991175019644275419","9270939530192661239044458014881210314222813499613547255416257255885663545705","17875006811148349666757764655667275519374986324184686591199872639841653267451","14223311161352757642768299768200066774808435309343986292557601348729896785348","15426232126866833911689462701146039651872381668257636712453957459186675608824","7341609890003755608731719926354383413086148334559783936923856681083371751858","2522916755395592528799997935331603289350745805903534350854142361512185858526","7975672719323847188584994034813755253910739379403210188890471743868304156385","10361152088869789372664667844034575270433189615534296913541908638779984022220","12565165574657902894308498356020741523059341649671415591209990377145546349749","8751927430299691834222222528273367980786855265571692230466656313501870515928","3782747889242504906539232417313404774472163523681147906451826831235080368272","2357908358798385925981298822139313965517778558204913007219318504379373437268","18858304770874740039984686448203470834562578493921595648210975754608317345623","7675993016512283682207173403605941444327148756612111199564173985331381488683","18818890453076413887523765231615383836499382990172339300581405948672279661939","20252144571549047445847058871179203700989782831670248309822846431530401883720","1548099034248382487438231907714050431020571588355663997785662562789965803980","16804474097957695744497077255787193298059334569168351136160606040471620694477","19508191667931806758288226550226059879657814340243709578088346681152392462495","1728719999167062338488031868382015025692441998348761079303220639921123256253","3604348649226051022337575722529270125804601416032976114063695533907383376063","10603799316068953108041964397928911876756607480893951394891306679070664686941","11648836007515467240952473614276607091898134725313122196877249156490523356027","20304987071409008531291607394096634487514970541849677970364964525409317001703","16887097190060385275598534531462546504328245264471846147005445996927829539625","3866748619116340790322227095657732028265396618488150952705187965765394142344","2338553626517986088379244573542094345133876349395153534676872066555319122659","2989903198038977576699565058449844165648971727702772542926261896668111017225","14278108812091993370081347429490097324884501265196936847107187781917283188596","11380653571214536036495190297205289870093439158653307679146162820611556102008","10728370069888852342064543039072884588207288307463842575342439018507973749875","6397015059973528659997355436100884860480194279234476207371274262619351989712","541153916915028861555802627075793763065968288425448237372538721080483579866","18703944686825210001777887304396928822416474276215979439014172442048460507918","14758294058966360999395530764869560471829375974872409340898445816910150933642","16526931650578182231679662261327171662688393688603926959024262791659875401297","602976647786763241606729968150119992779405527249465670521719980888114456911","18058348521510457484238468261675615616734549390787035210695832199652030799290","3408352310769542203249747633896333727677518788800695461819894477600392750387","13813696926749566428491595164396687786753780912143355428869363417663150103299","19226110628051298554688993880923837902732997396390909485477580979796568268253","1751416741656305902722022764840854257058950958650470467036624232208612663135","14273497410104557864925816124947236175101464480860485988459705747849145681216","17015769229295700838532275937420211087470832686975726393205562687498866290956","14317743544567964828895913664482783398948360705243772246269021084945454695426","1163710387996022107448633858536432008182893204461095765258858907535290527398","1157472141102273214560586147623465021722506106484968954764968896766765161328","11681638321160186580228856179688445951029310816905220272006101003142657558151","7819383141229404988917287897793820336725988282324748328500126584790204946216","4951737109128262717496808639553648804593962078862416064602914582392219323452","3442536812713619147824039056757226293704728452919903288417441857326983315172","10972029915673903790920684428014880528769637778570023451906625828019451706493","14773388161979847043531770832479609075984091647516302841116078929938077685390","6832011488895261587794164577700291580520309532692302077020376875264467715555","17143902297385696174135078846256591193632419203064831489933616909690183265289","17963799875997102172022690183795592375198545029882913008170902194968455818572","18877959338292270131211824401179673216317987726501062994411176561346079618062","14358101523035386382208062475555490310717442823564620083001831011989304676139","15796568151681791272753262366429731017034321762865614705556398537444716949893","13594857027304532283889325823930658134430393819837961037773389277784045884187","12136189727726413275229170388027187858694486236901282556934338668968776031849","1878632778304231028304727355487330626473470046303885272219164588770349458891","16873156099807728926852233664688168784075341453512083976642291718576315890258","11888191400576547298317080753543279148265645791517177796081641411013662826267","12210018620533033404291042202232857902072819731256915890812287001012514424820","2720995111620673475976904476404847046702162392875915718272984382599949577930","15740015006700066587650738996931848298647799054109075680819419326780689301412","18792314519811779877573893617497033030062705897791012092700956142509339219587","4533063041836045489675809767596619288203889485091241212692263726853545243001","20087279194440392445388020521232352321771796905350016545006792036125962969008","7662598580271470898701419629406835755452899820387556478370304330574127888110","2044322434996628951886285591950247795571711833625611674952208584770381736486","9298086345190166002533620311111572062855266053987387718138964764033420577753","899023757360740488398947202266024685219176491069483977212238341721384465909","20010267753246295660761776949157831033584594444801325360922807083432616388000","4450168704469888293988828437399020403079513401850888103443449346484211800937","14818763657168994501241419792426650382460802911500420715192462379889014218887","17499922386950534814980392095212646829833012336949589738217695906642893333161","4725703200623869934067110781096149110080128914289809281524369625038851276728","21835965127088232500387522593299395557327989607714564030101094338431057597467","5820797066449247361552221309787436085379889805203375090244078627730164212530","10690618433287001275009978059717247672897362692985112411393484683451942079152","6042827480936488655202996967650552195596171412588631273445587685915755805839","2124979120726636017099604334751505752148470044032645004013782814693996776755","5330435275056975088743051229223220800904435190882376049131249876689777155160","10124640773832184137904971182012863119485346620571202390914900093461027458298","4792024075244123098429550700645522059707473361886941368732914916479154714143","19199265391861538037180779666995909618497861428521118501466940732045803109056","4847826399302624775401994843815425199296930699401308990787135212735355431038","6407450376417859266449821859393770958635892367401690415325194496013043677136","1826395464858704884123218795787675583917701212492065945897042270085201498824","15238350515275529718536633219359365300853538429543725551430697362918415181074","21884720716136022005919093587710286615177807981683063472262896460904606628205","11689623546966353939670252259858789076351178209866822513410564961318335022311","7012794711375761331676943528254022381176901806276543398707129348614811953364","7180386038316110601441275181186218169286243634048902624801201568432593598141","13992917683661928463383695371898592624570240528944920013143005531297360192342","20034382193406507934708640117013118683945312285636692120801926999004026442192","14938652037071147313292164890053271808218189916901397934979103168334918558363","6648656337341126044962186909579051464159388727291296359968541322347995250420","12687003636792713485597279951140994909100599482079709621716948174519718796052","5108026212737931447624617494967304196499275147503023686887173141950819456829","13237879168621780799452013770046455143623364293054791609245436247351123437547","4341628653085149506528562773616721450933762016986791665663158769077061948538","2872050032952832698964730829903028920310787582321093426023746057532106397812","1367067391257975331756935824189631175172150708192657401957557819332219873827","2510908003064509602380389482004083587572613328572081988132878417052528058870","7084003845943087385716519398984211467638527143523438844810938260869100814307","21021470589871879755146279959973770415620667125847333514170945742003965711484","18375929337749007201709778590417087272057251219761079367326499808386163199502","3165201527196484602864016786637760443866722821135007004482670717537305516789","16717649565776057036320806132383209226780464215331716681516324418665003576180","20084295757088902108975491392002149988322839073620040409242765620165003006690","19241439593234676080041039883677491849402159269654950325486169959046767303641","4275910305427071218515830496145381854241709860849136935348204612634119544809","12898354034815273049223090812634413302174170749584845355813712153571284519914","1832136847875618967387144179529385178062929371405576686128489060593804295801","6069947755267812432913347261315755057349276133831784919354196155981254082646","11766183173827664081811296117089138123797414603598518127011517445259099898091","3993663602157055910018053040318139873694801305099748688074646613364745456069","15977276649214691975175801642730396873722756384246035320089179093520841000256","20303338735673445164192456383185100079100313199924244751665084177273928289523","20078019286098604448173211316407882189295460838424433108031089458601795603798","3307945001378206345398846558075581322286376391921099092518022108700861563718","21251247831852952153335635921612511638716100986041125503837495470248973341708","16246658361510148897664309243464380229567944126043953870011393349640538010692","1780654817260938957384325125461246845814503286839545932803113565621260161576","18710920936002511033230033673354693186030823806023934261043809330225688019647","9909111894805078760429022088296773927960051970891988461264950755997874666368","4345705541817674840760552109695955140943188102322798018969285864074427755164","4218015441219662255997165544650931566353829817981176787648891923654028187504","14312948242537810365234703004108012126182512780396291296729098565955837200965","295429846515676001104835276665049934394487183477715755147863239617239603688","15662344495653911375885561867591476367861074324822203271697194851167934401197","4793902408684290068019571137097387781094250811250560723390621410227755625428","4917605387106365671936349402138022267056891394874514471401018603057541394966","12993315137821697215971205486742231731559446527233973456459030184764267833130","16524985806030765353574471797740141094531695570270767498985348130558921348427","17013745813130281919891782917152585107471370145883327936054547011802523582182","17100361367645562641951805935367684861196104993797463923886759602641481183803","18833494072617086391597832039235402246961190856658717439789773239549364133295","20157866969311886681148400462214545913907226429163925709394672179635388896518","239609839853616379785377333442787354361568308011318294445268661600284057373","12020614379209217917047110972341532122216802896668712785859434794471240569360","1248739678507170190094138204517434142149054474900589856533653488451999142610","347915422993469780317591223477066986796955479205331632188505297615283578389","7999351262004511546770814747439380767590917178796919996885684840970542675481","20967594534594815486207550915474044087229684419402104901430196899850653362067","12899121896433082785388065281401431678366644722544051956929985724649596205064","18983588687933404065713078913700781650024901175649432230763486533515462594521","10766551589014395287410716892733848848003231068450440677265375421579008245609","20169652396045174249228895132866242783042168925415971892597182614884452884464","8957813983054350321796051550969191364715748771015789590569930810320606596431","9643155271414084161531721957806730069165955979114015273977651814640128472366","14700897093031440778526140571254449874936272810108988470714238171786681228615","14253815871028211364121586455534782624539734061148936548728775279097248553246","12623686528624702687438004549592639102850653340068344303348073426554835546383","10887499024511455665783360424280990671057735891551733295390571273395259237282","16792183329149820420875049780284492322598361840397896565294020303662868308403","9761704149743627159698957629672578406325922760477174888401254285722061841549","12931048515074471565571865161878351893082622778237083696666972505231964577505","15634847659877970105363072070507485783478919227149202058826464081071643773101","2906908506833041965320370496001711113060506302861350052429818849770038069678","8699899202483882769321195990250850850577555890082198906596960575592479589201","42373252218515653405393706267826997457994495485868519711417565290528955998","13298926901628935863638570113103068562843821480959781806957648334812991282309","11340495629472361531751136493827214341448466196267950757968881545938240013043","4410162973634101037164287543635784419735236595410876302496731409711464203560","6770504591846631067009674695263383781064304620185766583378598703662090659608","803268033919858655611811794309731920699017330011910045611157093721121626734","12911506200920624526864882942275121636127997230823935902940985092979574078964","17918643324157271778766566567889948352259699059171047284794326313189880774701","7009959043684140466581557454305689161448928833856327927307997281234391362846","13608676044229669503858530637021492044621349605932764029187667136233188902261","8469042229294487154908793664586203937411909612880073031669159370098423984545","6503765897633991782175459954225585422528890847227322728737944812623475852139","9715672328228477028203852818176561465039698179069163699650993321831992888477","17660990464121635097256814738911507903541707401612095639122186321774484595557","14804081443437546771116013793618853310717593234517633753124568696591221419786","6724218330718468523063558898686833457277735121312680344450184429142318815032","11402319676983861046390626662653884449314993741931036168486829754142513828259","16169080210743684844396699122536061698227435085322952297967432264699685757856","7675907879276133953708522162728651878121131686921572128914246808579870005917","4230211911914155476612752596599592280759202092722649006427735130558128219337","19994913083264981050872215776005351950306358251618357787279433070487904484823","14226987613623192001061092270841034855848619059750529499586599879686324456714","7045706519369812325556555256874783203298277170448306853617215815294968449904","2062849677144799356514567881687217598261884486125775155904626936404918986032","17601920854716323001594362511208188462850993131871853150842482389118606277711","3114106057124321155037877509199474249372783266108754138849102106650508205535","15465747930743984970223812683747855883693317069587253229201455749955846107163","3334494231965751270647811534096470335132564873859376879858935312105589711885","9823807746394349345368616975004290248806613677673994895815373421919965602266","5400271608648346754918607312792816605467323464770476391129036476619221125765","11770821436383451310596048403074829165521108637308954395370893718334054277368","20773403632811810296516343407006579798380994788000675726989846280765214549663","19605822286773678860331719553999804483779045012091324038328721032301094265056","7506448280816146246231851040199126517175663891590862860617123356646005555345","18126684419189656267813215765438780356938370095844302451607818952534708829765","13515823872008853824996025558859393212682839451413033376269220015533372008124","11462818572865227301821439771555025107926322021541096417968595142068838678265","387527620292599706620064005572533814830769480236179918610678629811523562236","21160096138473093258283714457499392397390620540060924570049011188639238085803","4354453094935226486359014408208016656075153446280746499510554516975950297130","1149854953378540661435822397775744272093475010171290951176022231193252054454","4886874912923569255211212213751909431336552875722832209717634183141312835459","8121417973301734978350814829063219763930505331511762446382376103512670333855","10397108991421661604545471702024443403572229499221138846385420184468156248436","135592906362394068721135816280006619658575717043549038357198542574796191751","12470986481443840884498861270893844690324714017774615057320249066166810815131","20711627617123608281465397514094515604912076289675946973464843147332653924743","19936523306637884947878303702523543831272475518000646601478891393886307224894","6610180504156263317235179434459908562313719468361106154297126173324848499090","2835947021190105212771241626312472117135141182807194884209080228417103438754","14991719226605127306441066466338764291641727399261080758950782642427317493566","3224955852105064561373076563380816036656741761437324050875349423939116643826","17986913328344175363997927083146937336279613526299537730298828188126021779067","14956620466071915113707982931908833123655918488965732670821007021323695567331","8273230426812750549513268262802322378227809250991622030042205458961448559361","12864204175590457893253605551535554300512181117280069428500328714508946474596","3856747252245224166966728227308235343017242206197065871162867092702777748228","5064589380721614521620432648404726474344877858870050645117028128155890472157","17855084468176511297023651008689325974304699449897905618704009760228510867305","10592444459552152581761051586259401938596901225175489278318737616663685510540","6169879685391435858857691820131996505378957223607348917145825765418631880515","8113562783193356344318894437081098186897299591291373320406057303483148742065","21628375570977952288299958796859480513666871363598101523098963887399205929440","2134865132164751654161455518567670919392897747989349525945201224885061887279","19429744046477844402907598398585600388537641557514304476273967618904065097380","10334858431682540793324733752716409902705019287129525537434622640519791881859","20898874645461345309219443195795227020136151785431504665854615665433057656034","21758936607630402529195006563442025392002485085893619072588368460552039953657","6658767622080579375212702865672225131694187648045659659491640133964821409021","15945223109716077813697724894481072775767923725068384358165128896271885377185","7493788631544480359761010651349903811913677854977183784782164761002795001013","1591024071527067760292081143937838601494082577069154394739643638063130650847","12619889692927553488927714722921271374516407458651205979102849490293579412361","13544060486316243019111794113241157741412385204952590231446494676348138782433","2887841573309108233158231126323775418060676605741555803818569347039364806120","11036140437691913600589642507367009124853186496834027940452890971374326749644","13459410879887221125208802127286738607219329998144370393597168847217136752309","14138446918712369212513361591812053045469401743940362364452295564191258618071","15139494420493896979465536772798315576661564585009975882149046490426430943584","2680555907002159385123500413017583949180278933797222446966030933631028615392","15487403918133177809118221011827665334424270640296194179725020674859862311148","2253081490999534554527627661799880907320552244022209364079259863144124063204","11191815691711088981123145114348502329836887875342463606897269964110132026398","5109339959165897707712238280262288223228410318321865982030257634795492624075","4228877585466284848766757257455261240377460433844128878744325273017336623330","362614992692373963638010157404324560163964919752108254809408812315768440698","5497792324848207351089823477182027421661697005728339438037281493209918368532","18300280641113926020062358545714253222621042370181649338471915860636927514005","5165038560428976080842235638073800522486475602829240088348607001517236391108","2008091893886066583601032642095457476875986236627706624298412511701486682373","18855234687460732907670779566552575320366460980688149277845081203486429085196","13389943196844183901355127422435750731202929208969262430001608034764394210668","7021308455275082494090292683339579828621547308114648482192389995456759019483","6585222136111747436624886140691552835483743497794532311521040071922248443420","21715523680622751847043762670484689094478706333228979861445139700243365776594","13416504159545791441009914591308927615633686498715702676442432727915988269082","2248673097632858668765361179839205001457921928295571511512730199800584213625","8201617310205868515409198034710234660861203915866715605849930565273415152742","15680268660957381191262801077602444572267901505301952184208993099935462124810","16104837654487289387088073687347866178758228946202427776701306205624672792028","13684332979506205929903153264861964109520505064291381840093693876889335151993","14298782347976668524645278060067709431261037349301522981877578968571565556100","14146039703163289539879685125644412698975703808605016607740716155671097450434","11934833171060725907314404100396400102926313444214797514298446783806475079254","5914086988947997830012843744355360132724998743777726913294864331058879138715","10659686720196564899287303479729456926962280252284297382118982673601141180405","1692869277894986008249025777573665756719181333137351109659460920317143830734","11121687568974872103818642807085399340558431041449573582444977407542211264004","3501050053396506996742711102422431158646670397678002654123600295042244164171","14984319169585253070148527069125354016209833099403929166529971220165461080109","11039249245607138942408416774669487123603045223333515097649259364656805712742","2859932898082976799590321590558908799276823987835443387471293467877754277565","19478458481483880492508096426388037208182771578389243036459312837722364528292","12681295366282558699393012939095360477842070047616469520212796398808404284054","13010182377434613954012233404363979798719688181232968966240632263017157983618","16037260491735954899197790080305488568587224615297648089505787564736457655504","3774943811190403499690974560575281409833645236366071596666126241657610017452","21814452909632353471149869440665903500310360262001108752776562989491779018263","52072281042752561123298216211920776224842140069522348353471850133101459444","5393226600522078959309667664647807969543977428132923032121300709179500319576","2535335411461130857251786076113019736467112607101573495446575260857514915285","3223186631939230423000089008145326734853542787816950488463620916770299441548","7203210648731017372643394417187027255626158150779569672743304509771556031568","7365613311894109391567490056887433110920012927687918796539454353472662806193","14706919882948918903316502617047588031491849474605859994059009247259486020572","3455208500142568951439012515724503646898391143487306421264185506460408250399","6176697988969134956767325675724315996342279819575423735264769950348921409207","12951834853082027138974145617464147922857695533654628319949695487103738097783","21540266130478603719496842280607306809615541536701125437958624893911805143507","15841251123604012933249526821849462516847731497880691132669932653838678041593","18948683310275384847923387957211395414092251858762610439160163446326775365243","21295038317344811116316108726319045473711109917897691371510311266185853001380","9095729641247909707668520027352422462525417609968833674217396882088429011133","7748284092532915876871264327404847715957163892603821067089338023968276636762","15504838028731494447984781439562882212473223734774564943920587671282013892783","17710545040585682988241551019670248079649743911204771375834642632997788982222","10356848241091081418291575127603139858556280821909592538600302788565231776573","2135069867766629257670982448236296634454202981621983661012300557748557064120","17125626450944567520231005064919628723567428206918336867263540842196820837720","4339710247506255212189027358431803298527452960376838551044914736673354018926","6930242572932818307072016665941050027383664335148847099555399010971211803352","4540469819839984928572435092473380609832679284334795966063195919694411877587","16628353401446674199275380109941591337811739913828377380737794433676215960528","11535473251411739443035362528505534882481533559097828804136416323035986938254","19579697444869757236996156907979434468393725881854767726694937129865836699720","9122237435448224029760899946316303693350992158431420619823600405922536098176","14160660546759582304436411024155309006194269578272087613920265117044205512077","18077708722465603517949588398649463852351624681209651633613380178864514332020","6241268709545939837365635267975060746505512224966727723691581500981526218338","14888529711719706713295983706169954857641487121071161174594422218430859599969","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","16384","32768","65536","0","262144","524288","1048576","2097152","4194304","8388608","16777216","0","67108864","134217728","268435456","0","0","2147483648","4294967296","0","17179869184","34359738368","0","0","274877906944","549755813888","1099511627776","2199023255552","4398046511104","8796093022208","17592186044416","35184372088832","70368744177664","140737488355328","0","562949953421312","0","2251799813685248","0","9007199254740992","18014398509481984","36028797018963968","72057594037927936","0","288230376151711744","0","0","2305843009213693952","4611686018427387904","0","18446744073709551616","36893488147419103232","73786976294838206464","147573952589676412928","0","590295810358705651712","1180591620717411303424","2361183241434822606848","4722366482869645213696","0","0","37778931862957161709568","75557863725914323419136","0","0","604462909807314587353088","1208925819614629174706176","2417851639229258349412352","4835703278458516698824704","9671406556917033397649408","19342813113834066795298816","38685626227668133590597632","0","154742504910672534362390528","0","0","1237940039285380274899124224","2475880078570760549798248448","0","9903520314283042199192993792","19807040628566084398385987584","39614081257132168796771975168","79228162514264337593543950336","158456325028528675187087900672","316912650057057350374175801344","0","0","0","5070602400912917605986812821504","10141204801825835211973625643008","20282409603651670423947251286016","0","81129638414606681695789005144064","0","324518553658426726783156020576256","0","1298074214633706907132624082305024","2596148429267413814265248164610048","5192296858534827628530496329220096","0","20769187434139310514121985316880384","41538374868278621028243970633760768","83076749736557242056487941267521536","166153499473114484112975882535043072","0","664613997892457936451903530140172288","0","2658455991569831745807614120560689152","5316911983139663491615228241121378304","10633823966279326983230456482242756608","0","0","85070591730234615865843651857942052864","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","1","1","0","1","1","1","1","1","1","1","0","1","1","1","0","0","1","1","0","1","1","0","0","1","1","1","1","1","1","1","1","1","1","0","1","0","1","0","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","0","1","1","1","1","0","0","1","1","0","0","1","1","1","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","1","1","0","0","0","1","1","1","0","1","0","1","0","1","1","1","0","1","1","1","1","0","1","0","1","1","1","0","0","1","0","0","0","0","0","0","0","0","0","1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","340282366920938463463374607431768211454","0","0","0","0","0","0","0","0","0","0","0","0","16384","32768","65536","0","262144","524288","1048576","2097152","4194304","8388608","16777216","0","67108864","134217728","268435456","0","0","2147483648","4294967296","0","17179869184","34359738368","0","0","274877906944","549755813888","1099511627776","2199023255552","4398046511104","8796093022208","17592186044416","35184372088832","70368744177664","140737488355328","0","562949953421312","0","2251799813685248","0","9007199254740992","18014398509481984","36028797018963968","72057594037927936","0","288230376151711744","0","0","2305843009213693952","4611686018427387904","0","18446744073709551616","36893488147419103232","73786976294838206464","147573952589676412928","0","590295810358705651712","1180591620717411303424","2361183241434822606848","4722366482869645213696","0","0","37778931862957161709568","75557863725914323419136","0","0","604462909807314587353088","1208925819614629174706176","2417851639229258349412352","4835703278458516698824704","9671406556917033397649408","19342813113834066795298816","38685626227668133590597632","0","154742504910672534362390528","0","0","1237940039285380274899124224","2475880078570760549798248448","0","9903520314283042199192993792","19807040628566084398385987584","39614081257132168796771975168","79228162514264337593543950336","158456325028528675187087900672","316912650057057350374175801344","0","0","0","5070602400912917605986812821504","10141204801825835211973625643008","20282409603651670423947251286016","0","81129638414606681695789005144064","0","324518553658426726783156020576256","0","1298074214633706907132624082305024","2596148429267413814265248164610048","5192296858534827628530496329220096","0","20769187434139310514121985316880384","41538374868278621028243970633760768","83076749736557242056487941267521536","166153499473114484112975882535043072","0","664613997892457936451903530140172288","0","2658455991569831745807614120560689152","5316911983139663491615228241121378304","10633823966279326983230456482242756608","0","0","85070591730234615865843651857942052864","0","1","1","1","1","1","1","1","1","1","1","1","1","1","0","1","1","0","1","1","1","1","1","1","1","0","1","1","1","0","0","1","1","0","1","1","0","0","1","1","1","1","1","1","1","1","1","1","0","1","0","1","0","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","0","1","1","1","1","0","0","1","1","0","0","1","1","1","1","1","1","1","0","1","0","0","1","1","0","1","1","1","1","1","1","0","0","0","1","1","1","0","1","0","1","0","1","1","1","0","1","1","1","1","0","1","0","1","1","1","0","0","1","1","0","0","0","0","0","0","1","1","1","1","0","0","0","0","0","3403282052539321372122021860745657553680346102370129270104818183970772517761","1","0","1","0","0","3966084645890315710559696097731071392208711270577602201535613204174857094254","1","0","1","0","1","0","1","0","1","0","1","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","1","0","0","1","0","0","0","1","0","0","0","1","0","0","0","1","0","0","0","0","1","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","0","0","0","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","16751074199471344286802035516092717228413021805857911221340709282829922649570","16607689897250896163839120369329143853138821982212506869796223602775242163908","6306670965815533610139978731151082260521747949859106157811737942199411096763","8230394042541507458651300722707802655073997691897399557296075563607891385931","9921340941556354371580059537039333469973209453102024699252654455316059290620","16798896597145667139496131042097011601219503268718208432881915127321311248865","10761622635138561113453616724326151200504548364659640959171019993528403053596","4201374595453568719536041091370119651099375260803977706482746783208488880305","9971587591474752610461421108018095077842562578014452361783151616467835435111","5516956972178305312309254917389099764623678730180225999630364134360264110082","15066785865404294422881557619360885995614121995592112712990143250762198336884","21755300202021669800310961644948292234097575522286241219994206014548021317507","44312224132391919278568080003847402581022440080536924033423180021727388015","17589524827975147485715615321649189469791625723245721893742228097834086947532","8719984869514470722047522645705044152404773497435222154684105742564180785917","12838432770668333832140112504623798777955855545564491234660602333126926294802","10962219331981126937794734082126576683795140107663121675442940913117472782171","11315763313939367564880085930200632291397536948843222126556649652575069224853","9490320164035243469515553845741859611832694165395589257142226352243136301303","14573213588623917823708851377700803537638194753660392663536665732379880810694","11957092005664205224141548929385856436673493267279705778466447868093190736829","2201153109770645202954444876374528386609966279164593010871872560011817397913","11082747672059648638492717211402437406817522242047530271849521934851141518229","20477546427784935443802032434219911124745095329100703429739367686725375043621","20413669078949764936443689287676556111623164824373754014432737811311226761753","12881136730064110218094313142501866107021596701447009682940537878392614463314","13227437990758291440620943688822553930025228016992494659907178847660023537124","16572644556309208037124906701824425475845839679912404017132481770297056142431","19207525364486005896906208137031026335360739161340583275343816203229308414622","13749935216854607186487641922071692492037890524402382020370477865659977471212","14305753616231100452668590820745059778506427001382290586975701645092921660548","765857276287722813531198419619164140070915902829725892404102530083930750063","17837831429010867898764848684310505000314798050293841430668793505708981358048","21265099592359165713925953648362407254559580913936166135963567928466675766562","9836732997058077094526466589020739322840803019139480203465858201631980200718","7950736069218471132276924429739021815862792210045959677128696849570697403704","4769271140055336949069111665742509949024134261124654997310716329224630277762","20393350587508813313089483176581445684689819238531002176517292760755869721350","38149718364286962749939608665460785683852940908425655353420799858383968080","294908462199902072876663185334271659283432370640074451060800538373960973112","15686183370543867546923411519048855269420334921977460677980634391907762285104","7739644896700310773878882243266703498955498777056626589614168707182557659069","8962053441358370892949398584321217001524120474906547766312555570245268276141","10485968530935240560535418413665896337924134365028112810521932629743032594567","10455176935063524730554996425761077284254888258693211809138770824018864886743","14115566565369486572031311310429302802089825334724609634263576446726737605806","20073124591363501366789760608831383241995767850640689122251701726731390338567","18044196147441334580548109144408355893452990965490068051314106336265811591526","11777763830067607118918986120012546064057341507222391327324648823238698980251","5076285475125881250450494722872064230965358749104743996583186222500686678935","9433671005987645330351463650157742363370796004102441907383343518108550265783","16007614664479860453771437441344953439396368135713518528960723657246075833228","3670983463941934079214226480204001841287142286161279531732782678406433460843","7046179718502550936980595924901442920616633571872416339261615305735715278602","17608692011920050118706235959991963886935386829021365964093748239332711649084","2996821855883838728759536316610792557284394221854997002429026293476701752866","1677231509722364930842177352080930133827209916580071048531613825027648977700","20514621385694392131023051208602786923531777062045824148198436025028161478292","18706232149332458956113227927382844148669824578035828945319576383268514596397","11536282866871845249336852725858083392404317076310198593892963050259371331649","20466198999255199834400800454553246058101307023747737024879595930133188864963","17213082575127239224295748117279913461834934345205651804512629361221712146029","19484671891372768411934382885285679105157644357942611948795072906049381809678","8503442112050525052228756834095001115345112944909240539866003384575979945546","1591002621123168604526593223171654111798901832992697089266968330710061317327","17926989791280931197506965049310631268713794343236183001990363712296100776267","9818426793010627181403113577980666147935770130277255691539405567600286312065","9942988821595010693836539395678956414086510769345202336272828286806505105690","11428337004946391003737882643329882420040707267209738526410651698195832612398","5246173256091330545722754324790141877812115594929637564770216594001202665291","9244678589481971155093167074568918052432648706230664195707777716588708425821","16484327628325306003364245414567032312084673791908596909706339237437400759774","15909549332391486405320400238323446874739232392980137232129556119929377881543","4605603680690078397409074258309278031489863163721440064230911400507819976731","11932390595676097724926919191547257683296828193773941999444763120344004292794","21261316293685003751543366541787086957146195861519918738279059420379259769912","21694342134861979785664822222441943407054500023420869221254046994410705539047","13455418065215420116004885303563860520053149691344937005371740002984186620259","21294895762334183277561199056622692153331598314844350195434334666176806203759","2298913285650149740197504916695862209035358355428627300724306426005525816892","6433628427964344837720421894751973624448162124243791938584892092692934497062","13980638727833468810299341230787216089256640947577023476618983231259366747402","16386989380774535566905941270495126370482370902137781001804268887369782038022","3779483885209758277783355831078003188483448889651898318713331166172699636659","13118689370009477102054967134335796733104690982621174244425832900274928932116","21445533669518956637854447045256826873132438263003600821648791482859243407079","5527331762329369159390944165620100309794622537826464839886395712108419580582","3982772412651522640643769699838411900841643087659996933180626455834078733729","8936887292441133154504378719580283709673438127834570894253255440130778560891","5689786437531621897454594927415077264858288108775631464102476970728285871609","6370104324738040905290397305607362815394997849284017671587890146354255852594","2562605975511809500373038481836128711166779361259424204015484454382469913903","8009939360434127939211330421690368857019489809160778015418598167076961485953","6207214611018146300599438189744645959242652217703597746064748175193260329591","16671090648797063256204148088217002774332376248497761795371610457828028740038","351920541540014679905588425887435163878844099034359672557071300875572975398","21058204412077323033815879298722170627087867902547775349664797410908803369974","14564771468858246038476497989063618180073537400380117152664301508245795360502","8272882885871254955349820427886161624704712655862030935537145720959792892274","6909321091395274276146501993203761280720491918442748432524267471458601993221","16580321413206363974123623814602922867712388513971038402753464758491015803565","843281673245380754722495246696808119685404475704137112513160388856240699325","10171659328829219575897640303524498462582095234092978615905848203599889269897","5280538311454636369301273025630273683522547291583648504386454238616356441491","16623616276068850220179897023862034811947741374757987914392112935677729609272","19853123512203259979603644963397956834690886149706076304732426191753395611491","955364103151966477697350532913523016231165744311492647080211628659701871391","20523715452656959031445477013594952421617762425683127800448733851153498579066","14293535687965811563014333045217822091100404926900397852150955930734852567984","4229676629734606989516536240720033922492197958317336524425272064033701231219","18901397382211336164186387913666617814943452495137150951121911861411601103404","14375484255313188168372529479566281408768539401520374973084172059374055840588","19545798768864804171001454865226638660566831783618291009839659068600532212741","12755887933202061913161194217993793715343250197162556258497417497956440593759","8686513030225489957270848893530798775170299685233413267611917464195410557211","5880638904324026409005302950304740533498165011473478865956931412853188357431","7354389273252412391825625422266284022910347922206550320847139744353922366698","7016237351930429912019063230239434124147424389329878468689095040305536565141","5620972089534918638996272688507749091836816762473512644976785924112182176059","20413835273287925719552648605928582957864781808563858039878873559057433938566","11990352873652827398677739409877583255209694499432033562422373811536346570826","11452116767092430632569157126777353261344552818614541313334131497235795274616","13608939909527726586864284167014632459539109382363764498491490357609068357661","19699932497952889669632765576298327295926506735107495829131115663202263356665","15251682785177950917305927011901953367908953567062062215661324049886315524643","20988180365782566790010352815052502389134630736373419926172473693216627536947","7836720310496068244885024104589560761724497802627198466406853572609572183783","8038431537840849850004264549778072928837344446259802659731886224882799164652","2029425248168573578041930579769085260473443689520829116695151637114698378179","14014583048054989975362949820515352457455051497561401705089149965549711007728","10229910039445142063805930610858936389530402461507274678278419431360560041672","18414356640728818641083254061594699427771424933767295240543780118943302353557","14385363499980792320572694168709347498076611078827580165565397937806655843600","17574003158941143569210345425977586387561202207597212418442851062273722778557","5020456663555107491462633901410150293006360280142421036527516054973198917775","20127051627292194507636525988626707066686058957062478135802400381125882156129","20897939964842847172746478761928317623445313616223360444114601438540638075545","4768232651051213290835674042772040002316324578972496328572277887954854608839","17294503583995767475859552377185515589678216285313681942711238998872988167848","14649373813471851945320940299605201018392088399780709659677169234196157620092","8780430624549024727143069679282190039037099678026940232022642526296513616209","19379993141583360349219631444991584062781246208701481966534256751049466960129","15269077688496085659395433896981555224821074535243453599961761864702497339408","5391117857262141392878145098178984215824926943428788260915775917501212609214","7908721172934600956268520018234658066175251014237965624123564978124712802362","7874341505294103336917508655326356231557632351889805234868207045464424182027","14717357719887344869049716594829853959760329970432750252010555421746110830753","3360261399639751762974090530765480555630239123582758200815794978493014885586","9821826804670125425236325658293385777765305748666267887783525427098280556536","17204157028222666500796136628457984571840002100152982240371475388423494849033","5542034861058754185477946991198906162285361355155642038893943908835601160038","3683282103686594289964931403051831385975351230136466856931777064461047733401","15224685775706801324889650391158158261567751841767486050473559405133656352415","14348433140170281101901970266749278653067511062361719376252531576778262236894","11561449914623393122383031050474623941756403082164093879442389899363860513713","18245049492685205869746697260817503761252527622829228814032380169292346673291","17504537922258513011905565287240975149408627350242698790215780212356407248353","1087354866746490755068915240098723302841828156617728293233180699369449595227","6969042902258472469564623163041902613727762494563269234625798939473325810728","19781365794109169059730125820268469324655465578674107499591208131269329184831","19197720132445970072674786026374184753486316604335554230360798533521780079016","8985344752484815619908870528789201141893762847988902632020302966238055069038","6180566225714340566468063951590163252160515912634301758875151812293005995707","7886321650473731550722613550286337225983696528924522412475864179994945154038","1770329309062897291917236776676146963443813646104822628855480965002025402285","2672465549015492990178140878418702146106524780378266324725481883753805796676","9510938473472052600166974310685487461419214920988365840433371267775469202990","8763681409640408511774703386738865004873345690332395131153581718682846235816","5086184804083998594076230176630486989159676487216439626195171443687145611476","3444180739794824231911901354495926100580172575807360182050883799956253686124","19959585945609801580752975266494803324672866918723431810286213367913961455037","3606118653399557978017653345353488674231963545742074503030228140079743128217","9802232062091145454674219420688213272404224274164975947158499021341809478056","14753794963203840670689834131757653710719077219319396758581277854471817219976","10293226843634758194510263296936027709342071523680880184525420653949365085783","12718806094899532360102670898087743973296203292888146926436211859399441382266","19720557165108559470587427734825443980468432595646509009288337442868761549209","11247390882107475711483619058539054176238525726311758865073230404212341552278","15462509904958076555211488611104595950707114200311503866776513865723341096539","19234760699502123418676309783515052697057041962626575225401675314728972650121","17158261287148866987348692179057818719922602171392849314284493894658836825746","15365955529424977292357623764025498682706496161142382817837522205572607763997","20052202240009352261741122369957280265238958638450496105242649976727648471603","423357909332235822254079656696928158152503031658093508494175901331804543226","15922263825513783744583412081948095026829380051325974037117331160273000625665","21608880876703158853582170966053859080506692816444303830697579496441737611292","14979302256083977877181830607642975718819599820161889327504074019516836927010","21610296362574306626509926774800244990065257145430368375419027492142934708446","17595716914975830356499498547074024086847211138200645735802384039048171815958","14654668119168864815561684444214692059474181246705559164525875353227464689053","7909137102568989978451284135464888703672144746229046026942372688255268205369","14812130315252358082784842576665409029101165747479648757059927502821594119043","19533381322254969505860938447353219937929507327716748825809064520539543455254","9403823843450196420799337565010549178259435908490320872849582783166065168282","10464241134417201329419510220104949346527274013274592882563416495012556125132","9301345819661937440725860028779312914339790525885214274554275091844623535968","11291714547013661830332569817711684505569815478772306103530109513027459828741","16566712313878755327910485384356179345881280692463454520410105624337016288883","9857254387540706281892224858708177932493833333242386469874406815551456850784","13235323444556237974521531300791907080635475702604350856205423158574376182435","6837328857570342508089383303046615979341710677796715226424263996563411126589","9567191971502453137803265066675229742925788197509550723183106561667775516503","13589520733675005345281874911032983354954922397198387703860557678089764021921","104175365654736775178218750541299505009591406942062749114421467907345346042","590163818614270202706155060786980081635141531931653658533034907216652933183","11630836030911095078662233290280414853525666587225870019070111475894870557937","3143463001554546949388574227992235144909572072667494575339346439434777710214","17210674657600746455132196643290051407032499980059412222084673652147666262244","19558381360647054135714232130709740454803497350056006816389092459633204536306","16883239974151654186618501613502254189172694896294262882551553603289459762207","8413661446386279271250258046703699372256294759176301597443419113141652463386","17926420509822647309653607861708033860852594098459584436645268742667896895558","19824925766389886827250259916041015429740610094218960702010388823681796598372","21569124030016608055974854740419962472020200788866623348222538997741654501795","14232424310854472834356314082148076539296957249563473004688613559676523926509","15193615028121862883292210509489791742567273312408676269715846648108564480216","4571863685585148023589373809103548979799867639025504561868195666694987162026","6206779924996162752046602034743078689551092997538497731303258570990576183904","13551354910729069809580067054835607774880530108885793285331679609370500875004","9899791381683262402504188099370233883995824403872277909479896171174493425427","19676726055572810021222964113026140207269355942060367353065169172081559784672","842852341267559061264418048500907996345833086685212080144270808293582991176","2374896551530407137601201042234188834144647343362619212010730934843698743587","7541169441788393045940373474338091879780271077778260807857446771010926024429","11136936778745143751630950186644088027953411966465838448171145474563978816093","10104692900610618203101067220992674388402050900350351026933004613495030125962","9448067584436414960964337190111983737612300524270450316697483521460203416821","8950186827869639604172647121100447815900277491673507364868135313567370094566","13506425119440201268368754328546416032565667481881592632895304755531522876713","8980168571796290804339343950808891004720242960395088290536220280570423270238","18170882696616761010489613056792567852402646771641587111297862995908970291284","17964914132412404677996740117340161470056406021410685722116447488755963163990","4999254529824068728272549382468024522346083624068028557197677399460354032302","19863286783514673257602438096028698340633489355546438580505275806712888618797","8597501472019579693110022148133358484974050449265021769883471363830981070438","15745697387452707443485700990949175358831586983137296283366195319537908003288","13137385666206357557612894624274538332141042254638811649741671391041335368023","17489444249761129472685381315022721658390849238308934118982939182052647535064","7817235089381823509145374360042255112726388997005284838446772709175711038688","14266303771668205536382691342596456410509199091923271798848518821724529136059","3636857805719964585971325322044663359458065705759731491721865284507973354939","15992868605947752108489235540799285759772965578817149705232162327368620329585","1335686142273152709365597717137409998821127623205060581051968539417021206504","6433290482925748613794540660743040431650259914794007152150057855153874666944","1361143257838811133926634806224247744517655450729374562521500236431831031476","18225681286815161411121137668234617452312048153276117017888242519394843989168","19843309075203033669895762315323851121116692526905833370940041980425774744571","15228011749951502720507138380119493145011628580619540200408217541371854380957","19619902256720178830677177598316556548461566595041053642017410940299852914682","511045245706260898110690359652263936223759289411819460157040898756960539462","7391377516085877772042712644814217270885890613808054711267621194257918442112","5891519591265284241203789998585637602270159400314233944803142442234700250863","2205432830627138420924593517638591617200352501757865976823844451062848337881","3222440233016699218240995056566298768106156979610420431469004199306974269103","8738332104312050387266272441686236247554960069301415997266286065690829290396","1551797112498648676836888480223639601740456286931633071547538018561520713544","1533866262507880248780245731190869299029017561560482981975068249985135371067","3996384786620540375232033672025195552610224229344345117985645908694200761016","16595891332727724151340175555326766529692459983213346368706615677339339240020","11523034561885962354991131363057963624098255825893327869682794018887379424097","21037920806606953471816674932313658324079485042735787472381615025003112432904","19591615019774495060998741485447874831723014393820542494077889189192102109031","9121850391530996471222427082549856324643713020999728941399437734853739817153","6849010089591794160862035089126940514820060634802302095512422500449021208898","21803985179639408855590213016678692901492191793853596659193109444086006378119","13364642672122219159126189111975702569548137252134210263160227802926124348078","16905269331135488328605515318505661227228474740876565481132283687997616028861","11264009642168330483857233256241513200490483139661004283535705073110138982890","5332394467645666696623235864746879605637402312414276534976098157513611666542","17925301199630013346486151991337546692422339664903952576083922784335751134079","11900184416418670354965232151665958518848952270854151924870211669630781631223","15562113593580216239006544427542674838265849698433044757495991364465187405884","3806304128817128192424875722779633391243742313942202394988632791379590507084","4657338409098638664678315846850627043185036888996779552648742031908099581588","15813005888849962389158961584970173978097218996267117171684509555319301477411","17056578011328104553093128374315470853531917998809681241413306393882725625198","6430589065893485715796702045939612847939363293990681504299985210155618562864","7514454699643127952791367885323645723388779246392186109883710722291187240497","7826937063653788873418085859562133984976335940156012117355343731656725674347","2225655582871701716469716244290307217751235918380896133272619906562931866876","11565133364312756310075478066314302953761772900026528225403220752431976340190","18232452026689223969965820968016739847092564814758593382764078404018135510023","1358358355244320152796507416231954843591920800744392329047477141132664693794","2597241426605278043922861599217180508175107341199392281858695037638300643180","17674515264858256312450756598079170929596539962153597882812281349637224943254","3143421480716849445957518543992988300614287126569006297241763368177602468592","15933437847230001720929677769855858682918236257655835442179345528393419564882","6733106851709743508924920069771721545927217564131624545573720030931843427107","3903499693696421946995265411390118861168305725858301760878023455038512768658","14433872132790123652832156520925166553485145595432897200832458531093296216884","7097617002748651760063122634260707663385999924497452509206216049717006887614","9196893673129829898318166605040425641260075795136163048833535143632480806738","19140091520550535179093575244921354004409797700450072348027875067724407780771","13815362122463786845354711610276132099779552968788780241453140843664912171289","132329010991610972419019365039613190472336282083377290824055198940312830513","2049181411991933045514610569712374231531845833062261528528564288748902967619","9942692693883003669846738387378238020204191501223875692726715738542841527104","6283754404754969631949771092743204859616073374053464616082489188503158661340","13531881648062996717630837244804254055395580039994975987100053481374744485749","0","4956774473297228218177808603426275447194737735524046542778880267774734984259","0","15268343501033916092396853374199187988748455820543796633535012025134089057292","1991575504460612223546114865299474646257943304515291241464893473242019507707","11901539978222853815864157529306856010584887559181293189216107644984836321368","3178881295553794239860506403451650450933820405550876097900040137017296879575","15695350304883360156960130477307936151740188875004492120906277678406001655837","16826344477007765768790409751973842888553894334227296177888903209917977713224","2009106007901283113943166088308034082354600538473906484253318833438816066532","7525444220155677323431624491196796062450779751944523627149064690527786953396","3114202767840538183458136643348998964583459476932153867036980031962630216500","894130084419891374804457629118613897039453180155016420207155096590379571637","3754100530583241061913782921521985964143185758859395900224047980883074578474","19835926942870700619272568183957007665273155871741504510470837619056870563145","15206669438158011768828946000639324293652682629446360504608348942311693201702","12893759514429389857051773396811183585585943540312231051172874714074736967045","17177418268758901697679074017597413135587647017560341550385469590292455054707","21523783649819343177656607320968296726328369806556791638567771067374155543541","17926934714980175136370185007825473093397070734787025872166057825582804883159","17172103335496635982048060007321904816970383778344287924940070445235226808229","16740394211442824929068526940423342980277871712926919740734979435694246519421","20534429616991168412824631579248633481807433008205619665399010410261851703386","7285147938824760852043379553512169493471042454820445180591294363798516953504","5858338065191558857399447934989268372377549482718256795045792280571261317676","649267084902835194895506892484476195243896686009115916268240569370720482615","4412344503212706030725332695729164257890358855855368398754391678565647710647","18112825116641850778386675294067588505837698373918324518240221651160261707525","13446941287005642598648660867624305243994406520538658464353528872741667832519","10354651613021068091280105061269139828620127206746987828693496831820991384709","14685888153730538184178501336632865156982041104412660885306971119982794203193","18951130805137323463990557961132198354618273024570578263850543915109063907214","3236986524159986738626089458635744735171106752069061563605878206760339205245","20672111644240859945752452163227865194772574062338164361402602552229632299540","20346804094507020819968047978749504635230774669530457820055786318097002987396","12177427221400458552053297752263784166814439854588025146907748683705025503990","3996793204079399282264727485456567099392754752348921747690725880902155774883","20774057399196846352489845718608549179132176576937861817866452468337600283246","7763086135164283077240542284296619630597283484252132715921373766901741661059","13192156320266213371869989251714697546302417317610411067707098188447467558294","8238415473398561129581686171879002196315831255195357045716133067849028513624","21672383245924124065509225118144789314521306926347712971658502967127711839752","13012020188926047726028750104503252116088164905278522576140239138615712886391","11531225864393872879130267963834390213135457028555196058082689632923978578504","1374429987836832024925663332381688377727183283535439399463358044766820403865","20582661762103763063532366166875823465438425236626828988386155738229497274626","18309481389731998965735505337988742256122273457572191366612888044363307609826","562305773913117542486838766414298801898118957477656487549878592277702410545","5661344675371593629781096409597824041496339269437253834648224351932645257430","14586397503536186239346683770870509842644710312929463730564598527436463692978","9546838857413394418775154878994184683591081872458942639968019116746938277253","4658406407242717241101230128271970590483603870282147488363227597433510166092","8487033676296938325562569752849951186192328003797155928293171743205223787866","13830817689267378589183429023447038311434578580343821956292500223201184276065","8527232341960925240093423454606733461221926098288184217958222517236112887462","5309819665626127251260141199519708783872167931671516622942292467800758829013","18426044073326994616926011295293612877583096735521798219254794958275996970106","10311340847007151918639209348810222528468931770232397011773810857523831534643","21372218333084513198315237631805274915148808971437236022117813339381580539314","13071258463998171088740581568457877506571845304931952853918093420392229938479","13358470148052657908379478071077874877917857080797200693638169669858410074226","4996341866536120725897007084818790395712955051004768440706180549650386359725","9245999810732205515624879891835600494908101021573195580660409568354810662111","11875891622772625040459349622604772388167406101803302091951618456850654054901","10897379450288831548596075724258446019416400381306305751899844430137451290550","21031001881432657348536049054063831665526335293110717759135830866530137577301","892399872654444337561159684752339886536591197111498717235789614721215542958","9217454942694727659283142214740373866589259280189873069616243732586004262154","3183065556397129353688953840170828971545273254343662058034962119947215914741","790061001436300500670813968286056627158323695471625604573302967314706199206","6094110202748122994882364999297794704715226174318282589357947864278534140625","3116109249531338193952352688636256706322994077028946894694080341820665229166","7070308283511555379742293522766572177284404099585736537387238626444882335176","2616215035185232844779246882667097461878620810633059006336740809881188894551","13384926003198521303447082282579113555342674460322355598715304513015516295737","15124330113880256483235539299008684969380220864662269326130288528126670818728","13103182393484386441666041524089610044109614498311759975800209774751276664476","242640624948841244551681446446860616764949736713081765695950024876924797977","6401306327267387009363875023066511762098660245437220667305511236867842354876","912158516121724360946757261638588018516344732559839393384786394370589733941","492412967391049860117888030190510117286718774561242394912681443987590808914","21468775233462144014262544317068079186166280220835341920500890437842111803911","19505618008385857991776026195606647720777707229795976329000911152729134159670","15743570610032859304902863612577958316325762049224304380049363630414876191242","7464088480431560082762430258657988736901821029940093241182933924376323036106","16259189674503681196721699370524320327422234012317071914605488973796757411689","7767696758667070766089792291118563946930123979261446866992810608914989607727","16114922267968270348578257876521155587032608455668719085462194419339532226364","2758595278431831065434780675120536664419646065702372026711392389016970114229","18686113850430112050095545567583071375793292857470663465148099499102632473309","5322569183894248800263673514874583622282627840854211368312233993262710520566","6625484671021539113351281560380355405142866337294724413032442559218736998318","15678494932063414546031234987774910766395962379039929181057832621853237355283","21044429289564547307962369331019397005789227838030127942012294995684153106988","4050352520468353076671331828580448554986143414713138398546692489036092654188","1439739037680633445304540112000249657437660715380616363849191674297153360316","17000713814571928948928596512828650057195156991943278596791869478365054048986","10039411416942330506550958143931776567211338199841725026568671831847397031229","2783913374091579171300707409294096964829607925471146417306345672104506551798","18831208237852006664103429025952176630263850450528702816723867202301425494525","2085098779219188048466154953345173682268609718189308109525769165293538377817","1061975973027025128869048938305675915509353618491584582060466050513776448218","5859169958359144313812718938573224350994660990425737360335282151756081918623","8124040687616085794332441579369944565007529336423897435297416312046654743679","1471576261258434979846610087689106111737341868166882796330645612597893060982","20096077713782165175251263772573589078961546636869869760191781291136382731114","20002169029520086001794801051926487839505647155459890398103027657173585637095","6331801728452881569711070386255679428894820373603843171016327691491354479146","7619172148835984663765033707816915118788282984654773026178320231473141279577","17258195073849769364355411475972610512919246043060024074459486058328960089122","11523331853872699658142567202962572695934907333691215222335354015651243006237","17304318129246594195502915693617224894796708659046294191109529542898384047621","12503557685051078210601858730253734848403320555769718730737467365470303706064","8597523832811491332463787989333229686410340771107146461143004365919601409981","5573808641408756617065407422920939745822915686997698756180760488431295699203","680380396063170511955934886812097722815595252098460413737851820955267163039","8712348930015407902946276402274155609654872807416667202633920963572381787777","2143256560710791052453192315538403358087069751601480750145888703451307078624","10165267555852012947690671919523590802266279591552015699909637702311266821703","6154139066586346925110455935852193710886002351660262412997170823801187658969","10797801710706169074454684753604468383030573500517082039557730174069104681837","4352510540029328744577395963422964421656494944462296812032895687721648324617","18172637147707713149277391923718739934662234396190219725555565713883085342211","13331017651337371130140111897278519298272892920042425475956549826504239775183","5096293804838394925323095609670882263918947950133415481999736312753048651626","1477954368883064545525969267932777221906039879216118233143055476101555942952","5785051025266336115174393023611611291501359164041057516562991521572201522529","10146392897807294214486414731983174724200164032512315843147088120632713387393","12362106855368077632727839538276021126255703528159840694741191987603096152682","17865840168451836787642382976979793351786456493096384077628607223640625170634","12435858343469608889189748345168550210079622384420606577144400939437690566825","250972644799670217197861620506628279104005830251498326767265313173795621470","9001223785553392683209714358621265904012695057439235774484245667613914147988","1309221989238361550533944870502285933978512176233510837702047057519043359830","8644564044205173998182078931525410917946259804224186779106747373661509836260","19624982699558820196304151432348135296945504455213926782466969453696916606489","3864421529378437699128150908697926752152026918884315700381255164087603052997","1958049682761825774417906390522999373569227917701053686252197903312948569099","12167907748329865933004053684947284030379129365128770630202470842383513251518","17408826560116516544245986948165454258732558480509024359245310150157173665554","10082438806890290593559219904867365777235436098789816845106951903520725824539","12644716140772223206205339271483990906417098607699861537319215142990085547684","5333683035288297377410555895451761420819444996948496611111835390724263244176","243060332072864390490065968940225661040364391321871587504646050584127356530","18199211436562319030481848803832082813931826084919672990110311018412407826133","15501439089553341613474441657379069434231053776909598938289026904339562776467","10211759496589822503756491422924084966612658179228530211304104147449470010167","8694526790301911899040532832909976399683855732911150828629959975665265460125","18917335890206389975142210276934292596171198392699769674208795938185779781243","20349612678925352296837761838113733555269758029206907222893840222151841845982","4711918817191370908665731294850351331492661470937334148161739728997680499491","20420930313718769240606549294796437192848049496057229249988788228004151556381","11963817253705060790735556403835107686727977102366780906012707565089958624004","18927479086766092512907063409757193407784199561377991896550147041011891954656","16086854621840714076567354556766950475380540240419236853674503374706092557562","7649813545556381889095163318053200570445747027104439942580281064681906169583","2479512249995713838311018128654752074496338305807193011347598619185330195994","2346035601324402310357559081594085679054933988920802478604068524877850016165","8355616284741545473771405721383569754997583120578798966450587860710065575348","21496298975540704215929335861534216493525290244000560032445947945485603782164","1241972191532383031210014194516191174225347001373478704376575016483446596120","8786766472153338511973666316624655064770315418111526718096759111544866972566","2790848416565784757358860123214157920808489886913855471540872549297598706625","19697267483247535705017911865295158268045154638896519829241721519500662898656","10855004975583971433505530744156157052202445376695517890491732993014943403015","3307138409419240516368553127105710179295163813339994587088795146799493191574","15071899476760622988231592898781823279231695645746570232012832365184480292781","12370370913808337832126191280163852687850585836348095262272559643754283614650","9619287458519354097076811003504062128667896608167587291870227695128479905066","7053412983942702021439666397899995720436247314245813233877959997480420996145","14336873830115607030503680640674315378851285562266113956057915302163135796126","2982459332256562153471757965199184417038573913753526444148202646059084621536","2263162485414508992438338093271132761212297813006399827398837117691893080842","6607501043765608432142359484878159163788335534386998552269157186532023292059","9458289810648986698878100050303113414880615672401029157409461366671149828256","6210563751175114358637825958428169384958432585211717149563100353809344728975","9061565527944668050570879800390996353727148706488825012048373263533460957967","7370076629450557464197799264966589599216688486111459344868817539021515588048","12785726761265753269615209982427149298165970108315769484747016554219769998789","11878087694479344057934757851109464763092847745546070478570965896990597443471","11391222998092956901470975615226364492444297516850417524619601043821719212820","221276078996291633123073491556519609534039402982765224448250964472239978217","13303819467267738582376680281528564621833366590114886958633810718235872764044","7417875460505775651394249955174491132892131966808927604723492305496341131906","2020766581450468169241576511815537903370498466044157393534317098899938241805","6294440028137816630156279162637587103755926825490729410565855128445577896052","7981790388288600144357296999402703191161930359504850289187051807778035834530","16867766050225492947997094140333889823957416992532088853574381451539577161674","20152174815336365624241530386485984852319760261776884720705806561707527615292","21605521433591925079955992983849344099581990685060614889282622278761663558980","2286860303373858708797843580152985202820815774576229020540429630068034253734","12332099424006283357272740548484988244762950910107100866085619924943832621196","14820470905339562427758929791309637474231036203230591431565123464037930230827","10656708434844362408435173201750409233112528101400499094278793363172643916458","17108304793667233809920791598656819203639526792596093761664114988130000654870","2776056854662399838577213991813944274892706180049163620697661732173438416968","4257014838677710877481260184253810428063151436900779678848411578948962418826","5050093159585158546412480617748567927812112016880240414839496170710800001765","1427314635823608480147691722001001809705237105866876885811739881560527550923","7856682833272092786224014992436092374983356055870992760391783758878943532373","11997222846668736241090844689677057174871966000282606213147356115508966327370","2633981394224615042415219599558342037076807664636376350873766413821482270489","8418793684559704515255726392210533359915714964980507264181505051470981854803","16182308147475193437792795501772907054657745460863762682060208281693449360074","6460195724997286035027662010099928664119482351968002853221029055511933699080","10942086860713563275494679565971980559253998525047642648414365582557692075947","6837348851407752128284671531402228152772091401531713757274862125320476692802","16247560353804957106084695625294264350984871862889068776851385460127061959303","19625106958920244252782365603123082965540698720846506881162808092082326452558","11904664465066223427439604734952709764641423684940638876055854929209195778504","596992363130907188298230019834975400095753761512019653738717406340170735468","19601667986638293950359301412565084476621041322890715864358600255138502148343","13323755512597739093381166653631714595776834594994383390604591519630081064352","635319023339081048884418572684131192060532929785090880064809541655956724032","1838246925016638669804090639537410806543547831682081025109597220945477003826","6957063396639585052889567910484475411107713958144190774770212006162810039977","1180029464211881174149154559623105765914162418614149520125026244406888253351","16908116785044938444516113890804284988741158512700331424311822955592610625878","19047511317391245770733548336384866723144334473969651228824781084792267718560","6431496677886142552593348803061400706409512947793604260543541320489042213509","2085706975856716043817845111247524725983792569688747134217820580802417064710","1115537774869458691540934321725770611599792846721451469791406285551276606981","7026002537300307494495439331909216065358414799222101508037688646360045099605","18130884396263326276412315018777651213919547256523617822369185259909506866144","19281260338929175730881091676996897758028583328171003716632612503005482005254","16588225225537212236652021689222338040087708398565983072730653112859609932774","15270628479944506228210873275859339540300883571757318746942561045392375516010","913642229877487927864278200010918660558298629674034607643105748738388473257","14715976480950508525942065790425683734502528748922782028224774135696744207120","13078972628916343360773748202951764256195594012695885123087240901149840845932","4942048729608056917234686680936688826917023985280996368768831507215897617015","20893794971858139489252786096429666114975805097505466451190756476932883681467","13015490760668283346847636569354065222028021012378102388437827197672584118628","6260425253543653451449270276729574291067898837831368647751150557846019741433","15923365245425515168971537301528268257372221381082153980832450078844982160690","19325485557827805129863972809470140787045220948725614656551318506266102656878","21750756342339175473834098262062989497112492015454506438667352249017294569788","2102370673968324396719114752599950196139819547315750115353646213108076712356","4998291192978343852503292600087996893642591869715997050428935676743028815672","20842299370423286594710151986946625643897640697536438338374431135541195389492","10586403989665118865526340068104904763060048914917352323191379856401112532428","4809740335351310670956646142294649972831844540363789981063786141716836290310","12401683609831156582692851843738737436320149114711815881100816554225649611253","18448848273413172901119604732207100673717679052219002564981215143860327255665","5100009475424842901004582243389236542121424367337824765690486859591754059198","15052761447822212067405216050222106162537208256668447958540169530835015064541","15203570575451941684368234745064806310935082934573870961284452290397220277537","7011500067739058094241874858440011385105123562135523418134390872645081990690","20284522327658079171256453806931620239519596408800532751630519007885849799220","4069076051897379869763734131426385973740649059610210720075367504504354993641","2783297780985287417956155801606284365270928459499385941105517247106556165919","8510591090202387138403508676716866888962470895491352804230634117706021767997","7318000136210907289537979152553438858209124950522363109906535966647009336613","17765962084307655705811295678050935179487033757998195461344713576557288765471","19587588259436856270972544685172464983467341250358633588437314101987421993981","8813299950458731729066861770423799029523263913149310364818833900860368430978","16360512882464941076332263022563180235912995063948326734474971524177813333883","21539303429249458709443918096907027023812718544674710689502070233840334338896","3194787531573319946547939620321400432538153179758058041124508989040478306247","14550263724823354762624597434286348766501934822081588334675589059707524367386","4762066029927074006557468787262677302992598560453366573279123706032017518691","3307198626653084251915858477145802723511448739653842352049492307694578789077","21503427039267419088379226163606788236114859581541934997176536618703917919565","10747872195270077093076835049659431420170298124805316539928654438399690398794","7936077029433473419850249825765589828336166328264755721818500963734671060887","18421921356520457680643410805090142837213318532677969454382843940931076456903","8795869917899145287881225926486595752236159801457409313558618232695916912781","9220418966566317012035310485032019876764484744108454038147295211893382299651","4509411175341067651418804820717502126860890538724657113392084644857054897363","18600753969592299405035242530094199444478733726104127064192859468654666596729","10100144219830699296329806757512230382270878773809615501300237958705600594411","5584392147549827507534402312439494662652570055562759610737588684342542469744","4643700462073855659415658467891388131544363621759101362202137795994593226232","14999101476838560982597529318938525107363749558426119549060180690235367377595","1749742801215464726221376113115682763119502185437942028338979018225498031836","7217214053167112972122978934836362586921988010139986135500636040464777414903","13350368314772033718223351745761596239457806203441615527738869758236136519176","3531319907680487378713359429005445544004800972187670329763680562020524605928","2617241275009032586872782369192273283211149352924265580059473448101153028492","4335568572256830794624423834281152236067439264607586340531824212026730762040","18402983565720028436985863271597586819039471794306238995563477442057619094986","17481055946625270651162595381683989493458485906220788998074635823857201759391","20678213693662454909833760153553394075445394087181580987098681423153403119252","18813252458150970201162210930039430826169533911357153642640511727456083439526","13706013703237737499951184888599169311042583332312265064831702723459992984953","5276183322797611522374357301800566272054591898551892814414663276768405505798","6220369583493884013308733411206013619096400324475864479420497513969767566943","15796441515161181042811402483908215405839700686754755812680156979577068524745","8882339836897259842652057816802624845120128920511588085166477797350766651261","18385472322902636963844486225283138325194723668732897514460264725264184886743","18245594373732537616685598877270446278729035771538482271893328862927488886822","20810927059727826691492873488353122628179338238756261487174165276561540036394","9551349055030755055111046239969931396169322570802776394837985148929110217739","17521378079931741344069826025335265620208705284376706335625199050982290155587","17449853027806717688544884433525568256647502295578720399431706934548569753809","2208173407728418249854764791574894437297135811566948439159452004438877701599","678547620830636733900467735524291466887027954585408840501510686408417041630","5017604836614881241934838437543877435687156766471893147336619935860473256797","14998643720095644268532468852767021461213698918483660074418661488108002406921","17898344110262013652390330763110560890588353123155866577387002771530665190950","17376840467006235410235393404883328056372680889805606012282782863161663875746","10113864497785684060699584364198988871370303248775082784964500855056871173062","4559202895222748568060070782182709720006136525455105143965623791506809641866","8301950795989204887708401124660719198691752284555092728571375432077438105358","16794820794362934111672146062818665846907728863622060961890966230230720824280","6308595937485122529750380234310130079369375922142927920979742309646925168983","21666215487788835037688487565043090826379731857474694573133992166768525738108","221899915559224453830708327687190978924005667567218685650885062460885415911","184093017078896451627610391377674885842010996390281170535815121123139256897","0","4956774473297228218177808603426275447194737735524046542778880267774734984259","15020599934560072742819311995443257102373150247123939115027410387178852174383","6571146414671507112385062596539640337548401531673253884883678537612139862045","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","20800852953915165279701731251313197208542053838630506717918018608743409008043","19637517025125411543094643600819326569442466502248345471095866020437323926584","17131925391885937058362808388683250733730451854841120606077116736590658055909","10275201208039256479362996766961520593397956508874680471558097955621271614549","13775445871438135597717743085601394071451098906991406527363380790460962275837","20921188461706731410257669426892072660245547106658738039672863926137956597475","7068731337741353707772677659066855028504354978163163329989946130870562802087","14492923398457611690977760765198862938916755475930529638634261396819273071710","1534567458502314451671203625376382303456773077488730271470408163975031742876","18354836306811531513969143414154384246381450892506596908347832328390268170984","5062103190874202870678977875389098512201377555551583855608475697412308156159","21863050921141162319270411552010629727018308949094968609633027550641826740489","8223687585016409650456483489058168130305896112816368995280842148036443214914","5678514600953279989581064341432760462203259070047341038758199426150714663226","5790869563885168188219394472156094596785515806323141275720187991017849379964","16408292121106481085678052064657643261083082816376367763237483327433742205108","5283007358713875716574089352637339086265741377648410420449128919948271631928","20403866156007156330177598638809149799419703185179436346409573334091110295603","3931080215402173587194987711962240938029106786078828396601706689190028306826","11180820962485005309521819111207469176176491261171652707854568914945492355370","10431100899884794357249935821834399632193310375149945138068070488162885023525","2318352549145843068967677249013967707638699794211504690819315465169075862817","147782775991416996267980707329320450334178133186634033976320891741838608853","20164175010470616883026489154582185036331706146166025182575654330739447828431","20082413891989871672665284390571617696179114795111656839508304816940972883683","13563518383615306027599983960890827912630108059077581601112276993388302166338","18331750094720289887435265582601304059173966031373353782582955679400560767183","4986461447279038243498218401523537415216600748231945581135138418026778501202","1855301108548005847265564329020111699229386336206252433922958934964260727057","202165489188669326132807606902264274563014094053205903210246124580018547334","6655371828434620793069381070451984021522613649274148767467549487940352307713","1906493706576518357804814208533412219611940642616538724388644694412047261090","5283260120021228177885521440576123782878298429517478639356327205388406146887","3457524287437302754573585166868310559470894649698441701267954345814080318909","3013319926576463129284969814498998473755714767021926618683011911770220213263","2524448462856571466507722624705430233525255657304546293742362121535437470526","7458236756997406439473578392832386717370092023346333633389128856626647251853","17276946075717024767643896419337266825098707645430284876786550033262729764663","13770360082562876550452201444608061558586008178791514017495021377429391785630","6983230762195661161111062872684498890812703398052734120062281261508572381953","11550243536486020289498173247504636462113720832953668170648807590922396468052","10743284146418616497071052531491180428329928116861554305536835001233436484222","15648489244760721907395312868398253487104638489734618268800331234852274963187","1619474093349218658754070905379214408091428551772311120346778617417747234585","7483581799045886039971638195495258310406134512831089307069369854928065216353","3305560697686400321552802584904887496583941234340660899902299420411363193841","9605016956768136946858878511011228134594480991562917428994301171940420046947","14000087697131227944183125235792191524239811939220478963875620998902378923918","21409604652967323500505645473533175991268239532258119471638457690561695823859","7416167539973463884793370714341035280490604862869902264078976311917046049818","16656748690714553961373658037649828111623804193985860876193218779037303989376","18126875283673785905463021136941960044660446456284810591440936631725862067625","15992305506590638390627912394276180953511836808058374683334394266621505097165","1500603340629377031926355750358428270340945389151979209631798539490509462313","16858740614736996272728499582568108676053182799270388444628065999791546766252","2526533860530002429832263381734908469724338499969900157304805275884976084281","14068052553272949447642598467828447796947053512343127245586466510925612650222","2595169997633131822598271573774226989886327923322777743673207893352528039782","717544360827521319573145518556015111732662241111152008214247219704688645762","21683761927605653765257555903066305704452920250993890452330089898442232581295","15017690644136973635801820985102104866896165274407812055980894786598708097716","17958178981066275624374751040166872167460968320743741549197591608274805451204","10743671881677453413206994559556913857056355225671373795144755107985058949164","14968270360636450526332875777038741015883062136885077184633194090816189537278","11036365339059614131502625911715497322523990266071121757857149248382113116229","9792617854789273803690563845446990611819772706082001052837093974113861262658","5176825492333344738861128244946472882355252850938020207007824855766170967514","1681502771573743691466896168204392110865013317893081160456825505988446428914","11274136766533675504059500458218425573372573604247375548216505874471074119093","8231953476579117928899082651669466683806231172627853588615340245444080176733","14008292228271998595079333007940094146980785460162019168891125058577411037875","9561799681581992544369447977094037689179404221082812996782923843449893438432","10837432733134321046192392439909030181002352224519385453276809203947699585642","8473576508825401914663024312011581385209483675314635453081965822651218104910","10938015929139916391501256574729469835227526158763735700288765110295864715423","10970047472783352649113368542168031197537813388748236307361519865500719892116","8217256957904405570680855987650476046040835131138759785733282910548352005760","16947759384730242837315535293307408195798333587889316777014475973462519183751","20828786081081740245197772816677699716375287470931394145103299208671137980728","4548785010718188507585256584958027182833931512721489188832467141668531530464","3444095815990163735567411376285643966393543832533624107086993851870748011591","21412351554205603558560947794046637696853821878604961240670688901535834358109","4809607585612698998163071932522742412806950821610110407272085717238387786453","18201448307727407208293135996438216164678070146671411720664697341763217892686","15148275309925046193313364074834009070693282804956177087628016957056101798361","17212189019581296994734101187479368823355718027532223901119443771333565029710","9452074805075577843977732328111072109079544577871443171118191041130221226030","1518510376928189137697592011923210522474691071478499397600878144982637239305","9105659608912038991507885305984201728084794386405880358754194125806112939402","1547007121594912409196168514201325629156228979576173723159462999233481775753","17877536886473562411651791990260330862906343337434329156199075892389033569058","20018232428841292912322236332793682964287044335047362917356229310181344094702","12795610582894453295146242025564461425830785142206046716936285872174835697173","138917001805879009238785772772727038581509098759884749801002569724589256727","20839567880827611313913067480023950531418803861937779861017293153899021874890","4693833060650845777453602416157846281709991079913390700059389719552028920586","11063830608885832898290485909602509991149870026108589659700004310017310545991","13655160511766157554909318560181656751857846987211597492841603460768442778654","13583197062396015634602398145463190601202016745073086341531287376882167999789","19593109830037210032603257626916277083757834120566284187542213115829832110896","5808045504509063029281653310463681837896726380509355951701362955953755766497","9916645817774681651828386440191225764980441377134843611957734204710402209732","21021841410452588680943768866213722730562087732566060711818235067476546332102","1328901797911920278980605322760282297690676582026575379730424555956255270287","7990014279717545852460429224653677884486427448261112721413945751528119932439","21788573547090681348494034462487537740304516272017157060728696185917160311359","7318196305184339832084514639343264649253013581475809496827174379407526573834","5121934731831852713447588944621960338030446891936535541278459223049637654108","5047296893187988423204769174098015717307734361170653795349981818324730232402","7662799757891377700716456249909632175552898602390794716114936989496604209922","8481681875283861656493858520671022184277761824008049192936786815820982029034","17384085968354796183812430182256574891337635704464041695236776677975372073608","351847291761995625299503641588532696445489644372754650102000998657130392366","18346017095827432860309117460907204230873430401265883851770003214463517895587","12530364241296294143391558013912087063511568001483137568507794924277291295622","1453319431089160978593449191277677211585847906857708739864741167563099185090","4409292638060270164528998793651815889564980014246171109319977754479235612837","4912656500609713351113974512236066601785692266861512173652568134706793536086","4858644212798333261520694726068612266732835566549406176373907341501445147003","4729796287332722014047402832191335133987382356937536253986159382952274661241","20153694902604730742266800396854044977964219406201479408628501331575554915534","2246237554154196683052229449181274361152525994319819470031299128551461172766","21446872171783539325536889070414254154753620636693569685957508948111137576705","15523806856355966439308424449616428231588735329848537617743377119161425965063","19430099545167544182363778459846178588081655328937717471365671773009202455037","17812124303569349289007889686491697667808352804902069991220159140591928786027","2615431786994166921035062630728052388038797493073765637192655817923690822296","7466575407465698872310716104947932612922177006057764525473968855471299501760","1568559646838940587422952301547054630705654939604152438798943434454905772094","16450114091237873959912800396524840399303070602965789288489241444724054340415","12544327242261247081356134780881024354609886005858079734319643263768462109298","3951189432525127718286118344860273719665578998875454166098133266801666448097","4684498636757721257672604806701649066723187747945139598693704097455330752246","7913851146292070962122661750868030665527311243664676556744302467215637604288","13693825057163630254198719260802906670395995075429822925637197637525162510800","11257936678851657411357528111784849899914875900555320409552427342018776626109","3009830878454912770286031430239990083124511083643323830025743329452432760442","11255781350895373823952671865487602212684008238766606456010353145402647299621","20703947193811759748459136395319722397893499584729354540114463717315911237904","18927236606919050665495280857793179280866899971153078091020873787561910660447","21208171312305087598895861622234435762763862899992768296682082769136982408496","13003644900902803665290247029256054448679537100575636702611458522200072408069","5473910709076170351709690614875062899058178996149854104909204655073693590718","5396740791499115651456300775929326781813959665924671440180584662261507716345","14608261260060536686613574465412211595158438369022778316883526776841385120692","11716895316353911597438772743005153995110366877152357690211038319567629681858","825291100640455876773086336494198796686944339403876997635060839259347591439","15131836487938806014426502448675727338490936870373243227752287178209774629560","9530505315934479917317575510664040836322601782081521335426112560211750963067","10076960225848838827900741485794259270198967014739774444563053174731526349476","2510923561491809223675031845489427723237847936839068014582092991310782772647","17623373863057439484514395529244363795826608326214680242497255650471737944065","19254757455558891743347449304921480210555042974764325624888942553008985088887","1308981555541762315607879574001026783189188588713693551262113824338075460083","13244418375848503929271695219020093742356576856076590172634439535108133587100","19362817571890280238405906636118193171711512699068613190741449281651186213947","15461791478280659128410317239068204606301666045485267872815292784028372519987","20415790267817442656846049153170278049323991404856454786146369061736328514282","1675425092345973426079571139973717567461162339074323918493233539973949363080","2406291853646761879939570680825607281847886147213112505748895576585158843519","8085260532616940305492373405634735216476729481754444910186903275762098872191","3912512698099563816951480690586011955756727244798542766155341341505298975111","18458146202387438386723241440394119476346283206297777332230845309804372870506","11755102566855177947535088692958671812218272433141265138394385455245793172827","15297152988073525627618405202877312206681048866156655726186038535484032545396","7164039784256021764265111842056249353019938833034024017809741044875411350177","18117693211234728313301036865827519361707977031781383859909979617555539954427","10996246499181496366801125638994134058257475270624048027175258190700427424596","7431215567561721862879796332372889653781909073175518128078996375618293800161","14392096580471347460488957898075766549739963384432083345902389045032634508216","2122192146049736861519183376657707765561457499563424195396206246579935142840","10256560709345835944687100803882590753541780961115827069187202150944107340680","16183821823551662134196784677025995628908561391637893029788657854565546003526","17799479956199141430859217440701567787136301050313443727642780551013711895518","10416914256883998062411054317760417749683325445242290590222465311236790105281","14779397864783948269364847534245295869022829926071185969628221948493790926559","16782448985807234530930392048021836422173964674956312427241645802407544090688","14321923343224701037179898406802193072768993135135381655613423115308455146996","9149186459397994047070202015755246695067694729307047224488799592236535709152","19558057485729958361934940507714021620010473760995101229249828379810281627447","12404742950531705198927681174223119696538571306856062080781751210627819272598","17369072670723312888300913605322550459382061433704673083367980516718754093119","3766761814170390381003117208546234980075440311822048827565329664575660583957","4901400009430839052255905472495426663828218482442922700340345538010440933459","5548554043405818226314898894791172369041668979252518654986931307153642154462","21515481709502223117910790816596884353079921395071223608063203457760487366134","11731067651977271844303178486259341480614085998886696632291221427316590347345","1142580132310126188845654788084195906434250024886999332926644706494983396166","7615518475005949869642573506518743949281645656979639288104391220389961787860","20643851082304414077408219942650798176193494074608766795930958482150395283941","10911465643821173067928818358919399134097282536299175752448941383520216424853","12702640540792217740436753454718920375645350058543792614948182942417115846689","449784471430716148064476341044391193387418416135616928346350591613580983713","14407044595137479434395815778260976339038265267528854273042920997958884354905","6570195508956610873426197573518874606539344909974108420277822810113641869705","9003078670028489521444785369205536341582390637339594013125206321960702984435","1573275973007329382340393629895581190144332913246810103365111711394208091694","6791168078026816421294840058822356736143214960888426142796501093416715235923","15630306348544298379217318071951550231273184428938228853896188343210470897190","4576746304196287032525847074784255599724176195692026840531484682498116377142","15864618526591215932771971137938812908783716121260351432339290319154244240191","20154317798462654520688066320551744478835081213507062396948957391183961213190","4217850033314954834518693113185374123393986948538558166596305129963326583641","739244962995441822997609491212567933809540402340960936758829105990093694875","4028226704901728469924582315757008913995336976972370070688352460945670209223","10591199388281276196076139827903028901929071722281939618112978231512165502500","20769873214273986079771211255494552368291410905831879794270214744986908114921","15912663029859676247040839483550221414191378704553985749507220595441668989890","9693027975721393095990900240985306805407152688503911448687312931574900853101","11484138150152751045203843899004183974207040034194151197586233755150141468667","16060024950720278930111806345439512258601445083798973542265137886014997752828","4065216147560638044834769735156213301682729796453975378303838760014703180171","12722196740161008042104063230600160916692591587307698282267739098104595392019","21442658871897924936434273103779296897320517827105661470249084250476899874515","13941330616661018529909436917201050211167996319696145260344766889645194016812","17946104200075105031482518856976026160272234205866287179121863864382028076689","17558354977867991058688364696361951976053210204255200572217074563658522370648","10902521568281866861523544064315280488095865806110221985358343592167540730121","10480646453511936101817842827276089617243072047003452927803825891921884883229","6643766403045495726977580197310085865588045098078258941752684370100934852836","9759297382606100166316216368175194356984391868580089414318996697912511188168","20686369114800811678648912138278012301751017059792657085899350106668064382752","2240276784633228882169355617919063914849374750013394580916118793601738807792","5389129762926746785370016690162671993854854880020955309951549075860208430217","21757828191223838980875048177672288146504494313568161156805121742619482174422","6589672340977795727478600486490482082688020181028116689423580126630216000086","8873943799620836427044171063707741355498423896746484957121164657037540932037","13160449352321991449988162050474550230515434401287357747880542980458793339102","13197501097050994905124371615976870638093928341445614314492454011032144220208","8340413740313657825973895352056539435197294761588407482889367602122602519887","7915509595726843615213771320240731347745156038257897701451096327955114641407","12716360689406071594764978435858390101997592070817784737113176977175770613855","11799168279103580012612433741693680191901212176687068912950785896805583177628","1552755957700638351598863195613840438289566583786422640903190114213936992530","7717538040594804644764198775753802442414066091823420105018618571014719890833","17869335419303568150034564173825172349391626172381176470372495087578615665039","16122846906100860579917160904118514092773318210416526909669780898790744824521","16114623241407635035253109690281710992349406337620190853935787477446564512160","8429089835636988890248325280114299822475003178580844782033335791949765717698","5021909288758969923449519368320048166705558618923758724165745045524092266753","11609780892597551938282093189666560403264400102545840409186025853398791339463","9734561960597991217192257635216971992678556710475259956187522144832750358531","10813638491244873310753483096939437342464961518696248443235952895038827482505","18663052058712080061795498100085868370958023478059914080660637096727647524975","9314525365222734972430756928736762448968996137856042241530361075805449377487","3070891224229804247627316094324225981593571222241652834112032934603492908107","16218873953268949747247900038835681418510078596341723885199658550649690425465","4393067842296990738414238004379500890796846784497932263550364506116302729814","12632418182338359794579314603327050190398968273335067439004197140400764590431","16259566184736886586335166896505547781405793629246315539479374599816810898962","2814325558055560774451012402571814942633788122220820739410071686684473280059","20338279412829767787632971674447333540274381888801095036358347594010786917874","2670741219913096168491334970723751636861418668023160348945317323630141327853","3892922157227799154715704147796797293447538770944492697942492570337305079250","5421196209553978835297307680517334106781140431673808912244126560565421048646","908236175468125124399338251190434374103447781784945338498096575397462392668","17636652273564107602080223987422514190933021331205576336366194778306365693715","13237642964137974353034360160812907385295055350391099870951039269784991779442","21221704416496446280060742130558845210799432949631006286203132118378345458707","4760938732010539612860168182130195361794840324422686826654830513617969238645","15609882888198881188317773535465797441429270866964119087978092950491961282109","3376212591015867709418028163351858870844417293825928905794220299702995650369","21425570543740282292132723103003656376617362904062035083532563051097533584212","6038202164226390018148656452648793708041019387555958551925347600525046600910","9721523909769562025273904542256123188806194958268176372877129715195649855964","12919014082719941506939437885142976246821800568119469413691028388157155818408","21047678267058890933412820510845854686111009729042350009279179228996071172314","1976349694806914063727842382214699343150764776931556073512809751095584246469","7783006621919737708273510859069326994168642573850103474571193791641445323553","13988546799117480465950733734130268128651148524257772236826468463902583439300","14358933516360269478259537430589252014348293049101099741973616463086676556175","9474800921698013823200892202591390267183628835688359957261740808407150804923","20037963706347165289902778363364556553678330389044611843700541418525546453004","19834717385187461063045168682510320544755369359400299076199146066987299539521","4620538607744049053855505445773408482178850741346990639581369035567675135548","8525603914196154577626558950234104470205987308418219670490217782779458913642","9048524527786065362533944085668320973357100178455488417116873972121025312775","9407801745735906368820522773825936338297746876589824483201629117426655995254","18458321063088465493769105335825974675378034787055416207054788511625124993063","8730753262450729445383895118589725381322125855724151334101848272326538887883","14547478919862241451106685784075048510153449024919071285440246339347145809552","13784593680788409600222260504003016581812247565511746972111819865392303462361","3420650765080622730813285352060580115144694966171377384339315837865789278996","9498478900982330956868115105655688321830657086417737707809970786192590239832","13164965619929553143332487255090729945651488864819577796986840432984858642747","12268150008840644397762847884242950933323013724025772778394784669401193356399","13188938044754060601469350653570787594998424477012300220812121256933705998025","18868615403387088416221198733774983032952549529017690432789470521164135904579","8229496080095108580918697035847521304964184769704442283730808346804969792663","8836920514787085863873040159436840030156960504558988182134965722143427786764","485860726022179166258204252374459416241771897108574947876994082085171183625","13825827330340300271940154756621989995086725025841626849532144465526715261749","3534837266022333996579426382846482531279356009099547006793408523227168632940","20861694880891403876362220464584622298009456414773768354811101113256810097364","15235466958402292861886087686722081507924755655072117045235955376958545610957","5894515418844600982921652895004096199665471191336541200960273569999551145621","18431674051297470736240376664888248824736879882201010919853670121185087280801","13163611329737748038819352294442642532280030294321129848712818446496643511212","16873948796440522592380293375331833615142971316765741607250824726656849064701","0","14352042597084731985167090523380966166849342735501537582515475409458617286578","0","184093017078896451627610391377674885842010996390281170535815121123139256897","10855480517023430349633912891071539318144989487091539966933621136564025987722","1475047252880002794117418469635715039620267508189956844949734258701523594107","12770221328946633761481914236621288761911023738572210359833935049572076880639","12637072234353111071208408140482463448587732925933202006306725501402875022233","5498573323171700318974442619770432471979388174675152408694259178961317117128","9261264167091492680322526000307190022174326030211500860420415738075544248006","2700532010941515051235117126371817675834478983550078195959484069809510166238","2614901965480154424359734022345137380599249970129627336690279167574032814318","19687862591820860089926147913441511589529440708225724639768017380338512972761","20231158944731277914957275874588281336226523231541097142445154007934345376944","9035484728985075995887083372660716228440296723601874712069882323426553142923","14028402467948526338761593336254970636019840296296546628049365548198505885422","13121808051306228808174111089630942026234886027315445815249447899750402363499","4527372625915062643209835479106309680507163243271678272729965486196852910420","16189979657721792924136577757822719385200418970252818352930222157989377257664","12164333722906565475074936982031012094208830010462001772696179692368311376875","5858370205943885943197474658221555694546571503055354486831610651631015836408","15270908199160540014367572925176882846874278865445377675710981534978223874893","11286729051408980855944168759111974269745178899257472373453896392302685435401","17289573715850909531812283193116346377931687763109543103789593448888152085453","7105741248909320113102505404513273089479652539904035618384873213091298254540","7074114940217186800406075628601455018311224185155464287511228577282040608737","715583426535854106463418752301381005500493761704686059735560513627309309179","12321604619126171361979592235460332183189160477865388902373936323802038912852","18190016005341990844148178297161190651172518846193049031369577377147984371424","17670829257462863871248629155809975849172626610799880870872305867158500188295","19594856787609999310690221094254583430514085336933115629128875588124494098855","10606612421072869162361656308145350823375991111296091340625384433072717183898","20983151867428320058845307293063785400007907380688115780148446035831321822910","1069974199764745898360103165659810005476344160960940508775094244893280452294","12079370783657983066371531276032803534378514351917926610229723180686420071082","12677296700344575464377357413681719606711607149256248374094787358863961649047","11938816100371165126976615978464798598420879993438443613074775265137702724945","18311245538233003706063069652909402120896222049718972404023109633559726294885","15794204827938797645162965750023554318501333819245289116482417688391341641595","8231534103677942875131000798848960381433781148655319271028893563889162379270","2766371540459561411737866933191660197562179823316731217303605261350998865103","174158064191872851418088934839822586856404443510475027422708748258229548733","3061293524954116761536350353370996557677749514535836027593325270861425233240","3554263895404584440154455511723512694047655420085772109708843713132375160762","7209379385057044748253261941814808569341518505007939141391123583104156927357","7306584942825882914302290894613387082682701525016374653956358033276385658392","2518149535352104381776345626886043183594674403698823901150244678327320921468","5581648650991852276927977167681766388490280842674960775941221560787230484545","17883694010798015849432367894079485717020271196567402381116192761974875572717","5977145130276793204043062269836655190783756459415218549551558044792975644158","19754386008710536525416038830817883084219899610549700326214066673104005510017","4105929946744209569133466396266046737599143563686422211800976803155222825742","21770901673960671282817451044366626054689162118590321728191276250541146147445","18554333663717636387381497437066120044065043997075943084601789352232163710118","3229944547201899627459711451241293172565108462885092439611847672015867445844","5025128695089026932637044021822414470493500183859188592019000631358582058815","21351482877833848842950048414861530988910588809336890728805799101884814110094","2580417795427688841110332802041457792912990931107885802056099046051394343208","20217453554976491856162621332289712918621552424181807185429093282741752407254","21356532404406996697081811349181897661406629246933280591113574903262463603755","4440014799478015355464075073962791955273636061611434328008981149274259385149","20843690474175127027273418888401580675425591967425767647356385165618233383167","17147970141429401025221000547342789232065463813831534845777771000391022505157","3597144142325569659839379046014686983329334622151978868165056915901645933562","6209531638366131710391199976252623036613987753076336616804848655147954394419","12924376785494490979045153483490119729324374404017188198699562863400832181416","9271954831445524937003351352270207203032987503409904688159223247456739162845","3506478951236426769115175508595425366287783691027816248862857623122706232593","3084250401572683617954076346006354865621707184383685778773665994692341858491","214937813484326003224036523827668299458243253921819586247641172841468344415","8441949007944436788468393086872889092620006653515759573245998674092919893035","5472204380982124305910371770584485273106619914000710696867278805337005048614","6957451303354569278122219961744612443655520675903833514582885389940461142337","5223695888445379151376126761842426317508027349104222088986256916070987227003","20759291015924141143489800711379500123670247171074786799669843043398508400513","20184325008178519139976204343423988714240828501622788042494704688999415735798","11094010350979218178409535436164979011221721457812496384533043506854053636902","19708018327503696718388479569347893621763926758569942481653711892940091446689","16239576760969556170245792487272775369975925096355053939862336412836709479930","12008121136322920586706238961334135492193994190852629384667755039803446647363","3938404938026443320997875488947263668426539575808147935781602032624388960567","16801713734429980792941203920003094648125183482183110723068392336325309041954","1348135736933873313759975759082842047841214037877011424039604914043212513364","10142538380243983753373248080068852715920793144614672667969585374528888041159","18286836573655984306012297166313463508450538607381625443348344786122995347402","14282178562099256241255469758055058528755211992281625357843046812099847456631","18310498504586098472829857362352463885170006582772479924761688074043255713348","20931050264933145513630154494146233109393636518003931889413900508273793152952","9117815489738355644295849428412003959081005458572860622048785525579819030131","19674676409453156577641701174130088374544719924762515855772825552204250790099","12217666530439855117870645320098850988684982441090141971279563337640081737469","6721147151554827579361586155763227090268714334062665099692917568899843175261","10393168006744278329721749418497705931750263896983902791526082297629822889476","17632382680567142321436824059295058152002507243188736047847725648421698926063","8915644815668215345087302861999208273742901368327590784358018441159811237379","19731092025693122985802144360142842146081743175693460146246146825438643278265","17653368603469212238948115034339203459550448357852824407551138265318018596240","20124759627749000772083196348479267605219009066228480442280858812864945298645","11853405674287861806396328147409404987103713520025699961317518417996316568170","10739116108352466483706634387205541202897545935029060507639823557349868929804","13870493301708581977871588064204896213315254481309505768503783016381785331655","4984277491507589099021974203166018421298409443693664313544662897676891503802","3813732491939127711872266925744617081981315718429011837147980575659381967059","5152934487799436357469531826806992991613558447322571799097305643879204994449","10475716151282745236368134769213248762564031478051618164990108824183737138343","20363281645962116706206801013109651698981355310971094340421354149812446325081","11149179791944629329084734656996501614903770068946878537396539586990604080534","20098243382461320106285402641532827367988692819387395302752081381569882348426","1753740335041062953435448145197363234707260348882068214931327343994875509340","11051255147516774647347134674124069066118855995496412182590304206776480641926","20959895544950066469347932903054230050048584659924310004082332316941759859508","18046662860504645170415451280713122498761168709387916159677756142032155910391","1755364709904298538442632773692058690935194900475887045395397423993838154905","16339606506864102980481476642574322167227419298111069541131542259980182181306","14408190339524969255388148576103299243778942876131961128354488113360949316157","9946460841813640866303402323884640663809344878510859564035517298772497437828","11219093149395628075183617779327553350908301794270546796194409084720111073341","18266139222091589375002467056650215336108288406927775427355560986457460639245","12092461750855134153263659752634687685480675014226328265844503427560199899284","12811512370756406280305371756309902128882727869228201979564338901652745554703","11494056611759290047400852808215427827865818063077750182066726283970699497313","1803103182997812362098649507425788010868991092238470914303344732612462422377","14381384503340300376969621193673109559740622823268831769681657915927479537930","20689236677701319733035204107546407443052878779597943650988887820832482502331","1248518465214635185310085763365946516309633048890537633763446119540321507061","15438668411853453212540489112724859770045942585564826504302486277163682264660","7341588775061129682139585657500389460048429249157465614228748370605121745325","4504761562080710809980598228305844612440881644633955774736651528528114010280","6768183425857782144106609917958447108911958549983993284783628330670083056936","18864432800539670157345842134501598535338024565284719980044881952181029433067","20242538135648097132855504672106382652225627231576405656996231424694213405641","1844464264083964639949284354287245336079489413185463075241207601686531360131","15911845300181463490669683845444097224126436423089406008360448429769777249021","18349594087636997940578113096804447148766618716832098484494987951204901542227","11284900867871484372816498154731023247071308261560664832246483877131493039953","13838067842390307292889016643938081307355899984423741625766940861130490334211","21262378979357100580670681435005220519933903042102444710095150612917203628780","6763823444922283981664855408288620066187523164280354839882753893730994207617","17198062372160935437857774405709773339424576390404933065772606842999255674379","4910589862759713464494680189783100142557385266784678566622717308750539574154","4495951938469765785379638928746803607434714393817532336381990527909331112082","10803423628537408724106316755720418678339457902731908590103549451586497435336","10742327604900791063375842750150159797501166658200942332917857864560095120434","9679015926270038281693237022936405908196319179165590326436004117358731369469","5859855229596809504556883163898845215505148039026600647376023403071323590229","8581194482353982229751614886354094486481078914838249180382996332495219638002","9869150423685094824044620504437355830592578599545482916582058524091976899262","10340057311908145870761282618099355730314916526724401591914529569238350632624","12842484708736224952204598365009720775499254193155989261323979859652732035384","6563574412407294097531030552666651821281370399094531096921555950933912468661","19336329742734989817981929120071722357096297178705076476273820653458140471501","10792923362080851293438248678431463349104184014136158937434524926676052138356","20665471031713454471299179907068607631127914980059325861302423029909655446881","19498075856863189474465312538175648563189747074446590367093335221830119666484","12210141297135413050283577412215336753593399088011993643006076938426450107881","12745540000965325745762732554429477978272189358622877690649886804232154058328","15419080570877769057759861677263504753328528236890174029223392763316069360176","1975708587934604012930285499355289219819427728112756325113502381852663658073","8422847378077687555385650917720234230036996957646299570659503827573008996988","8164476917417001252303510319369129362938630457787404172063532118910760052473","11109653701888095116791718755715250231427569592439609325987755597017115369531","1164045375325713841528353040032939032004151354772989040760025905459493553879","6114825241034332349878615848208065435840371956972900517509523038525294873262","21289945861044700959112897348334363812511733301272168208297533740451194472585","21503366579840938548869055939283915852891660934066087121873667092423924426009","9814493725866910528119842233630493992285550489057511124320186653893078229304","19181317395842408077869078515529437758720817083447018324521176515003658121203","10803508348256412756528470672974859990882174412771382054494808592955628600607","1383499853894667547751048998607684963022365054135499018492077124908089218954","467597696092317806685514243378304817821153329038105295482090363446426854008","6634126990851268334329622985879147606931400989679034298663845518703600812088","18316445900325501015574749152926889553256499264193184167094513613055281628332","12553617163472948590900828371992549553838996451111132020977067418024622529368","18711776837508932058595797908640031074280534633388881655129106420254077003","11423415306137320992612411701604642665147643107944435596437299409222239593753","11086115545141332550127683235360023637567089807640246203203561747435004546068","16588213891867416029248996145650171785509550670052395458837866690786128043741","6122890984368707030294350808316139003903481896452684404113672823411767976448","10245770158110495044175374357996262023745451819162550542312818378749308858319","11110298553387506419487999687023725358665784587262140579459409909133185575816","12279716397042387836021180906034916026465854018095077805204670466723514130053","18925369362678743894371007162715619310278065865461468080994071484671699901658","3730462150304384339239844018799048781880432519592563313412325919098582762357","3001670925246768025104148396008970819268699110545674656425975049467629397719","2729093747896400923881121667604602885026869700920338692253606409766253040792","7601814481566775355932596400768899503055729476380746921047852937238606050882","2180429045590997930178685510945499091793051313517761237068062499741628607039","10640962102127146206203172866519716614799115684110184500846315292600066321682","14549995177129860220283326765457689361152011864054035015409711209998745301978","7912783951395381892370861903784398511270889178023116264093895326398669440032","6677936569341470489146536051534723755962339705066712415750681884050723886720","4689039987287828844035990330511592114655778401762086802473777626638694045871","7565203297999487881299344230417955726606067489753172511296510548502450000704","16894076289281711923223371657223874097050025590789987183176804148627339921381","21769987021973538973537771295047578201770731661547614730588357565035246687083","11751090026303123550968222877559659109084228976878612812257992410322631997849","17609929111513573495171422231275155433152100855882264908396738196365944575766","991638530285351961974565729925758199525502712836532897115477564422303172858","5587820493811032168975297339648215582631464967872422044527448186701943582669","11603307219491384450184264414688236151446359836907477588488333738162703067395","2817235033002616590478273073712668220292276075342564015516365568229473060373","19173941449619955423111523731978140087089523658415950629931985410287649223040","7775902678892155277020721365799713026862432382817405723134361447854641571549","14655648660822188082994283171380679532389311925192515841619091208903510690289","1054831658900196957032995305926092688263657921859476658376407346723872871892","7910018696695413763653676079429008688524054782592388459532241363570351895559","21685667989670097838195041724962487246345909555273974130674326936124823253804","10718377430185158216011972060989907431397341634342237353240892249163825637287","3370973000491187483301765661851937061584050953941652254787113083493139110639","14644371919996480618923281639637343154335242300764339976733421198710959191972","11017976584600876609560101707758997747688081537442193105471904109059666441560","2394145884055511714450101398368242201875252603865873378540547912073267002143","16475980586795094327998812904836099235872469231110678866703229052382331906751","3393434901211683125524426394295029750077567767740366520910205802039793128604","10550241816606396205493532763321464988582716786222628438952341144255283176099","20518093270940094592138661269574403676775738830392887885121705052411686726348","18585594617777786526574165478527055353810131282858741147251146699144499611363","21273355500829751599527467120134599367717577330813929419070330486814611438255","21081927402841168319225110000333017731679819783367475410978031494152269888478","19509945338488550864013184074471765288376447125716252178043428237171491394691","21056058455809115512191988736205121822122360402123348743261753944547271505621","19045728006778800114381925014930049689524013319330613879630169959616841045616","9197604064637434475633225046925309739258545760150199201478904049528524048714","3210494913588713658633170116991575813298984483788435892775305008140239786897","20774901451275498028346805187799972580346069021281531744709122219644834387069","21523530811397236422010920557625638264916622019781698772417425258608015775205","1775555806052010318517360041281044811967018968367144818464300346428689313728","21686196627420940475797485903676443885440247308324122371073702528230919695358","18195190869178190484857892490334582166200707383696765004954115903319113066929","10980833978698361647263291367005093649906507516189313224172562733675948803021","17901978073658661162555488132404488935185267781522868431972778700748559556563","15754207966213815261985499561530265008284817026655607745108970962174201777533","7535773959690953269858712398275045838867893512018772662288091701754164978889","19696647246099647008696947079565087471154689832143022678817329904981509060181","2433926364711440080318009005753673493119257157249272327528094280882533860683","7868613416378449609675145999271678699158893521020147750593953140884080842364","15109342000414947193659770672188932250263214251312258593558002431030409885535","12669063041159174979424355802217581389306284668172481446282666755975377508106","17398054546870228083635199797478425660409075418595768390100778415191743424750","7934432584182696217164896095231362921691811768628662668373553323934305702965","14770303802705954124357958750067974610659609027343277372134946768518521159819","7064810488604233400033665884894690550179079962315061684082377962618248318965","9797211311858379764548903003139234131189138432232127015154782331493293601128","7846536474862987093883452980536159673751514303954710719133412028597973787251","4342989761844924824304575001440622309798545773745205548666129612872846145665","3891840832321639653175375576021426170078143003403021050132167038065081122204","13351528928196462891775729454342987077777540091274588067687383746747378753652","12732942825742574770068246954507030870667472655281551938966553941507387920870","2149482838844812387328352010585781629132915629500267381654136052072556537119","19337829133441271394383073296894990589126556338841438163823150597634985258989","16784790767866341338488002091883210505575076250347250794850878186894289110068","10482203233181600321241862176344006964662845307262074302437559986139232978426","8685976927427569517234915666091323888044897085837039536418091451170972722642","20490003833892240126935171211725757307488895950013800683178777452047576685042","1792162546879669313079163252446239161584700278214879718025605106631155615052","16064967547666639159515475511728654357685356010003598167585817572073379131343","2038324787232656409008948325869121177955199828854492699623048320829770467595","15696764031720860396919319001270179511581976202411361505429650947122124156312","17283377180786374956482947897724899741178434227255570834555404003835920866276","14698103524149569790301170945199793813326615628875144743246545241523694282446","6711063981137988186054169514779081438187470451686181505149070714454963101621","16857786182614103745145068620440842106806526694988538716333762769445868521130","15604931241790873830364282309087391662060266742664226964048688340766005827280","10728539105276793651897915093373411061587968279592965052697286530941365119673","8150860183442563718234800303914947876489919504227757192551478583314830059760","1426011333499250627953277387899688717943394734512178191484358329110163751144","13177021691461814757931777945341789768014185972466595046473710344010902851311","7534816129895264216878988811287428070883087362155113915366664473966664407529","14907306218199423424009247464904850993845191759256992433462632822851237612939","21163558241656044032472484534570527554368559972500360120943777980440523489115","5806397363033575426733460140404456453420455775513579380426708391441581270480","12364893884339333481523799997808990418911395791120224416361911865066875344248","3285266335096234368246532951544109732496011454251910737027849014913198987020","6738931146060499630761261653740567296043717658735751743879732171521836643264","10154452935594378204310846328036542082422689475780912228830139418160667825062","17173180625406101462429874268119575850799153984239959336167050246264875679929","11771759310671378070699571044737439373328418081704224134523199700571340453492","9201903010012294769226852618291328744138737168712562893561843081771853758430","18960575342806736097710212513078198499458264848590465526477817843282481159982","3786196741889484593648668912306452888245857791503087215320303509471899342034","9703108444393759620540983287148844030520253463014600450168885024356900554727","3705512247342131061920752676775918700002159699134352604893181674951834634263","20744380440510791068139627699555983784622526728039699416413477789335384413351","3509571601503556797669726886723663988433777922319888684019919141867536119602","13464915406622156297246286138929337387213467000995562465912367092350373336895","5184570673647053904035204849227819495776866012096422262744508501362530834642","16559518735657642074781960597600690088236852657657386047402706899970619619292","7703031445895422684034813861829354907029697524965102343228012205263910012570","4323874702421756221348476529012862396295343278223040426473174934502309285506","1578246331581202023879462895616463893909003870144121780590247241272523019641","9405879209721841317735974076209089263531676578417778981608079155139124027510","5937531089973867130316073975849611001398387503344701470438380911070861813134","7586511101544473155628541563617283123855353944073339155504232394211636103246","20859541098754048180298650325144834746110266291446964077336161796057865394130","18727398282885211934264671492551679457379492085372408843741660101013904064102","4483059390464830600305549616024869617415312489603482081489702556383536025114","569424976868306527856939406112364732378879754424510474659674031814541936764","7160289598139169925111275663988656373195647367305418507047960882110233073518","13843534446977373194157708959350809754094366991880678507495068572432492413153","1731917977665707785491091151062047912440812041201301360199112497894863675291","18299894985127633911581733626839452484292587866256917340398226423862554260919","11723161258567311533267481676341749364046177524968389565783704083380042064285","3982014996535111335264910190990826134502695803304697193896973827467806070914","5278339249940715518195486229712488968746505216413992114938342323551310357081","12034289354429946798181172311271198817161819978412411597686825724158852395415","21149441216914406541307441677139767537954931534486209534533763713444887915736","16627339685570972729527550183374933390203362464634838874586934884758332025227","0","4677130581325536491486966387607462164138332022971476080171400451642918512081","0","14352042597084731985167090523380966166849342735501537582515475409458617286578","20916834489524676120387097251535110444656698997153522703702345228187536332278","21786793935749494030701688869955871496912951351227898285599497639304771955576","10106735684790818457532258261695309347960776498772507430862800235146625135911","6428336958575254710332929958467344286379890417184593457768755197698276154344","9449357492676360883383358736330895668205912007904523605095822464017918670092","10111826883044783982102986732748653727827142675462565443846826176871513211676","1771614050520464755206567655437318955982568195475607626784805017809388908288","5181279093174687329726783812472167791709283592241840611012716019918769478996","19625330646091720298063185968805653622676674484679604912292515387337432408380","2768547782412073820810017491936220882567133374177389674714899611953029437729","17475858856642439946980886543613194476338688500709749507600444801508604750158","7936792328209678047590373229423008993770556793413258795813309943120313626362","21106911891928118227008245781708322897030448201446386484252960412614050392520","160923774132320138700309004142113885600469201993366299668857339625017763491","5648419216415384962210458616735048423783715757436852584018245551951672011375","12794453646271580692341785003470758044545839204088267229021463921856395617141","4601111709451948750538176472417274134490289312605627760161636077955943386715","10046283988380359324089468034447747413531065892268432343877377634782154660053","15887677480719890671704364987620562587954199613181979602582670224874937072060","5438806375578094804831996047256409601555998721704437116661615079052029229318","5430413829515608588299355610289879610496459872289866260579830278166710730809","8145153039485907902924794186182610289619367017177493868825686177746062074445","1928055138345427173859768658228754543158160037198012776182643107002265549313","19148490879735980915881361532422442541647190982033206577056178823663229748018","15656199054564982743907282071148579734980421838890045115571976090095098908226","154385660123514729365083840665563286612278642507487979936772015106480239271","11208063791115789664132153463836658703269005261853507810845677534632997047231","4980809440531928728382703477924651480613466034938913251377451359358208444982","1524057743203707519771353758649057348821286393731662706849362699486541753697","20665772595673886610059453735047124512981228960204655942695865552527752062241","1186807049699863402614882220003404557936839845187039754254628070626999741402","17655038260012023135991290457846630864347134132580096200058808385064420065201","8611084470868148809619940947805816480328036373935749220344165889392208549066","14142021595071918637986615420464369649728263276169785551023784313537577850888","17529646521554209382090880218011559871098272786987483465327107853286525994015","2040120642145596755572958772074026593399853090022282847294099647519752674971","17441803420271734262262418113785367400517983644769014072249558857676583365841","14156854282914612037377595913998497683980086971401899494541558075190351078424","10308221695667650140824826698531380084253631646490839038942942820966443197178","1101075129627707594434795803085623600522496293366442348748641072145714313183","19677319713816485771367212710795169913554477042767130022080162547884591626835","1236846904444624228218387816906331097034114618823114640245569332172064170170","3863999651943662904698904223317497819688544316226543069403948316601299911686","12968780794630186127894580430757459497437943814584371356170317519787096939403","18863964568216050769470855559607562761266854018811972360221119130648889660792","10980261057999539251342546154236953034152339724935668212029609846924397277909","6026183834429687141910761667665922459653205258849554538784504128540565267336","1325043933861691665819857415353543770328043482420922910524231709731813667285","10589598308619843106485973650162272837596868161731075129339123435634198572461","8357695535586512211131946173362697455939833584794382884292782320057641326258","3266373818615810805668585014538319832164771358602208992778943606894321985502","18074036499232490737494376693273339549688279163529537133214580364038088452119","14546600935577453311080433298210017583552443833692869656397239924176678151900","62421923620952991049984345814361879507286905070378237971492277578884351755","2879305999280748670279596944091327725232783479182912283150258658013359202277","7523008511464539555363599283132387734730173166982034845113285257594190534571","18414482382566740341309247583593587007335730216957603601657405131212831855483","21394158508691554288650769164250181829130540505570006604337113503793855355089","3200024352877513622415018610494358821826750054405465741396212494995821808793","18583601133576996595318160918578674678969104246013129013445112203099162324171","18145796007621772673239628826341501194293386796962167313526920065550313851669","9017311649741339502776691175400746954392649822047832536464207822656263252345","18362153168146140010215500928039287765459305871593496986566097271273730470963","8137596771531974550052910834199969557513818608344170025457145708469308409450","11489710840914658197112766295355622336099662907481775802420795475591935283516","6058418132558955183419693683832885398030980244262108898194450087280714698915","9464081716596322521583000253221386386542755701460501796887792800466818656833","4632263594413868498046387574568246343585648386718332974123490129408377035667","10864241267652382605762892597967987630991129737444544094661970984675195013148","672358381702519991326943764232335661923027122379208701880241660583211134830","3761419021881601449881516496390736400485736023258109551903848109531739223589","17584406156472306411792753846436958310897643228197558963900144344391941663268","3971086869354857837849050662671299737755403778005549416025416054070598660601","10418511769505660582145729932381356184056323802622588692263341282910371984971","4797673340500968789264941728451210426517927485539179025374975158473672144452","17506198805163936374805099938249109026161134938981585080451710783307614059632","1040538094214261382342456714209928670108244506572414582343994883081549888627","8914237510183240036197070003576388278879856057333560041693484758143675412051","14136593229869768312671049017309061304916651966018774777219667597506273214492","7527723058881573789910103935542251697457377309520228918711333293361918094559","17845034079768720633587635855803543601730406332999770754820779691546073771420","21192136449597606223524416011394268741807793865773093724735117166899780629350","17373928156792733028689348291740168640653686458686956074731612260838585734814","3575368361532172470819365421276300750922234087771221899636718765016432822727","3905671105615810841459498276679360601703611477355673076626657199152012335238","15834118966270774933036160410296424804265992656663500408606849145866701384044","11478411596860076878924788039412485713469009933305956193622571610650670207929","7974995804847810087089361516207533885924725750378272650282210229701213841341","5586865468135814967155407606864943593861544125559374266768853244327870360878","21610930713652170889166724369867254991075653160934238460190568303332119478948","17624839613117754113564249016757715027543803112272999539840841522244457629696","1022828462709321781206541996477450874052205698837736284984882458921416309143","12852628556728825566063930085359387693025047800276801998355627378544817469368","19713150109581181529955111379609486187117895722984560839793360814469629849318","5932543672239276476639392190134177610613994515130077252972000475128833993384","1756855040245189244185066341251595005826600382941410411264827521512267616126","14148960300564481641723530280760331599172711625127160077562802934651248087931","7722436309303682404542338415923946887003293553690572439820783469295411557373","20181390128258432311306385639955684507799165158513111684639997512737961800642","6968695124499410410328881418357876454538640230325461589379951362119783514335","8197346742708753490316632007085567712202839808324687455720697134891771701796","15843213830049750820258924263954632157488713493766287624725866593354019821802","1136112052222840614098601355856515069132620308582288307028750080622947127714","13793162625994519669206124932882928398981281982393461833207855953389090729236","2549722931441909802045353415509789475753004654940223515640269416534011821452","7581546647231145039357843571727876093136874076189012795251837560817987835168","3178234878552349246446888469490810586915942054809687415308617892075255307146","5572844367232517123630036487187625695440724918633434325994187425118192314983","6147217437024431580333032878654189079187266975263269529682366795273863832033","6620440888196864004957187722173623559560428983575315095984883584010044721007","21064554752872326168444667299414163879267344549714658633443512435247988295697","18733929743595219000457736481205393897675261941048819192609281544001491833918","74262819453204314187032042949667126970531919617513109699712532293153052656","19817843031215322467449239686176491022005761637072356523323167107950458594960","17905799030681814098208917555553114635617130785899988937798239849677038639072","16467541242437006000937806486215059273437333814714155998058609926643084746939","15346489018327906979341197843122942677020799582323229554312115534384342653397","6191590290363373453367278699734419696317973267689457700357234880966969607617","10102758286675126959906910166416650253569709129091664775410655517120601142533","19345352068069583849468708720227412659917406066348547053591244726672850984163","7731393168849691706965639728709077130299967496624041282922566445374035140041","13491044766832735894129095968097035809324027220821307874650319867589259203595","3396121818530974718122128988839627908492867826179873957531772192410875168730","9332629899007158487860716968279057723451833688900833510093477880802118969327","15453738946247922339645953025611193554081803042107693800193436831611064979877","18402677359691313778544318618903807830053441248686715452277393234747896261111","17699783811594016107396523745249380734146142111095573410219441912254869169388","10196184477336946429058129792284767028887210759900397352539077004940307235082","1081048751663016364559287530733941175187092360143277946288263314141267495493","15666883780225654343768337579037066221222490743521349831879191427874051214534","20749633832027356771603080252941602160804773577201846103187993006788685364493","21280720740695336860241115195812678273653215769922325592484702031848572721841","11715091083799613211838606449386038606470286291531419751520936471432739777644","1396037898644720241038825278560456606840375596186803477804350108641205306191","15435489464480645023958555741910908127252750481973327817620594589891712718687","14282884387573018248170420244473809202291838094638125538372311722152682407229","16785755960612602693943689432362361252837265428736643652531343881373589554010","18588669734727830452526286160196895687629590988754399071542510952874738180512","12615624596138008374241676364549312261205233366800097353387669050203476239049","9648392158742853026279845207386596440233628849169922788285790786793859427512","9698888851569291878440984388306084829532454035508353411131173617695243247644","4045452527076401019123537666081584366271373644567173713485050917122002019694","101447657324998084631736015602099248795440871322241237135264914140818198655","19887977951695038430455355171915333136235427746933190050840059783291674444782","16822334910906330018043211691716481949407129441464327761190020861708410637894","18340615507041879138619945991193985936475013212204746156790572162345792866934","6492538905968698744092985292745515296774117118852782830423983525862287342061","17289457466059072271961683718792741130740848154451675903698023334126055508448","8266008839223898579207482390222765707171840709376057446806430945724128446773","20281322631836696128777818154300454619146167974321171741286809497822733383238","12746883555800763712340812704068794329671259529019312662694409466617843235855","13133373844877330979353596486808474768128550677418549726414851446030432425987","8517743111398713899446180873246540129981144789135164913011851636988636618115","13615837005393800549364959510402965363495880213595575836477248190911380828159","12983933107666410088451392119104666055510683045559787526223305449120053688868","11210095788742571138423364236556478789411138223693859451543904342912495002364","1248458388163700672553156877801464658098414275847455344338444158902914342522","21778797850437966011801561278712977446470365798367850242800274294981815462344","13880604069081745993493253444562611393411922691770166198154081402037384670321","12511364708941586390568576778734983575427556616740931367145271790495459730208","10177525155508517402444519785793706138014287945026159129805018472521879196615","18767034183407827662031849034249026720831776493329956084663314282784219648016","18446075931376843256755920288797542648895543039667334053872484379686241491759","601658358420916957515968586163334467775445316575609128521317613437886137663","3048898915739540483421217565916989616820618761804173778112648328103655908071","11827742977340056738668126219168485786743305173012217923776698939463188061048","4788481611407301552917874540100877298336307972894526719774751510000838552049","5246338387032244190936197954441775026832455339739791667790183881879390270571","9275159226368331820264848636887269226318435469438425455731857596624087837070","12808344752070911920125566557523441588528570288407269312833230082265878196036","5973146863499562382214403505101202790618332541088016139487265253025760691886","181773925380621806730798516391631046341308014351545270518224656589807329007","7566230827992671316582712850385076068372183345712374598417692791055677028171","9526131204014660111263049913856679194104958295990671049477356209528752784114","13898922080711164687632728609251600884092341718724614054608878947732139781199","9952905432227502901987480392002201826693405707296187271662703679138879035421","14930221752674034213069779625709183207015296293139260536301330288552969816379","13979716509246576712581752293796296578070809352951945374143604295842108749696","8837178851583302818012250483513131287930714695742896818439916675551633921251","17035058658868065518163787706347185595648574299800222478170208759484064100629","15738790380323215659314428152342905782920004173906671949036824734994947763972","254815403416886490292404111743295451823358546736088944714228920649615908998","15250394470238044691246686241363623084771009698343500754290547823455997356247","11566604637517171511320374812623239805802465672915509885938175806142195147543","13909544979807882940486158991319404082942285644825236974944272077605416772431","20270416794122893546310457938320908979214136683492311646397353827965590669225","21767968172081220368524624319991562826785241846226894046710704992002013573687","16800864232599625404040534100536192882555443598291580184514662713361983420795","9018437577276583223596033140000559262825067868924284628710541914712593813999","3590585516955949990606168714500101791775670484479492819125441944159308337958","8628869411482005535639967600472561497587987723670328777201735626127568518719","11344013658521002344690631802764255176875963934239945695411546612896227955133","9634800889761353203457902532773470978757390784076428115678386643198076827377","16494924078532429037949061721277637940177934958917595239609127547708216863779","12260926878276473456432531895591862109231144671712827104727696685648033185731","5428065688654636694816285783430536095162717907887303462427928317699137265060","864012232016536040361697649146426591162743030823879964436643556703288058739","18972980804916582032327458886546452293316468875210766937534963000785322338703","5599238491258459247663659222094678855028764276840101552343461881384655863615","19233110274874677832163981443875790397742281594752144104059237970363891987967","14070533422982996710571410823881497484641786074835465094301713398825817547386","9087040390106271520526387144824250194454584429758165598392415155013666070093","14819826212031517347706774444287357787593103280176123143805265799607886374644","11684865548303830373818994722978439826734897501818382073998899640000510870927","13217339991743625889020912890502674388874672750242515773651723008096132322480","21561492364629846860479575968676037090993818957872067022139278078410910567556","9652657510840913687283255531884636077426604021055245139324795316395357738551","21701065316576384724378611149896850079553846404766654009198380988627043483211","8584841688366786065175191525076795440618700175375699352836665763106007596507","1732880429110977690824692669512279435946034737430630671373275790060365858760","10989384373533411398934349035597651841026223977659975686831433391964321121417","17581879464327113629598059977308188798908598477188609110903586054531568194237","4983246918614401771403238451287888499627187661559344404878266649522123415975","17927586882427310414006039408756606349269887209556172456303501611954696245883","13478550220436188194659449196266673840266672673887481049379881468314482103896","15442086590492535694878147767541594332149941518169180324695095099946497406205","15961911644462550294832022363389702798897918043174675324908361840518934169083","6587238612369334809733150808492262365086016088136623316008381683713145574529","3960401538068620934293325804257790037030208617316439118176315992164490591367","8698869664656668592923288507779934530316310776564919189820527798250200016551","14078437371642486814939418687098082732837167303385854666611389854728114512015","14014053205034671651113209176990956491085322986542282729856309547575946166798","13450217988163925031529636357261523518680682139363724402142759193061401003183","5879305527329645764719940009850187156117537246973695803381894351618252936191","9535557588636877793302277601888636736203917450339345011911698906956685327561","10829397868747239332243469182818559643011871343705715337673406183505617766695","1522649784809598252969090640089238327799394027809457268139522550823786826449","21010621436384772196881485911200543293268072660704580727505286599592716262605","8685268402649855090203988007442233833895365101294176368637668259444535742709","2134824389233360612539548607315930135387245846757533527041287607229397043898","8351869308795975651007937161652701296806688225641220735516959514932426697643","4116964139548913643112307888681197321780237983193161921752566790052896577383","19285292543161846099945364265169028621449545136076343418281390450837440032037","13724571107571584158073727547100686006873482261042052896038359220749743211002","15498274670911767846657383999478689258628277969653801065570045869462289771167","9677472299448160872635229465200146211181099620459651013350801406153798956054","8086717759962761210210905563240428172622501663215145957724065959478278408610","12923957414318231884705146440634021452985877189151701250626033861001244754537","12639886095636790755295332848615919528536316592839662017730114336822288541936","17964856986555319688390956952043468289783413082504127836350346299117842391890","4747136001097288857897375480313604426813532513951329367277792776423097788179","9788217150961472919640308563140176433847378871289282053276236344897471454491","16385218653892945650292895644891502784549657220526490179167755975423751896899","10504945336773723198014568044893572141916082439606658533571269406722305170074","3132758735905925540956018936342424212465490883344905333915386132155909641872","7693335852674675105337160825601248941673214184527772377498711774055807812727","6966877680107369034555572617658405689818681536527999611156822752308832908839","19520027782094352765595181663242314078224379050887752160323715312678492792624","19431234150682860647166802346634687870975313118689028268569515754062641181675","13364888858828568309599020886930936312758923058729592876257579650548403432380","4429336109190542545589327541163073283763313741603338777418489811338331963269","13303046617709922830900573453510706631957011412206677051964373158947396442149","19704385789638234259822975087242048608266192779802943912526366123151390535733","14045854768084475400757200889398660014059702795733639818306991084651587001283","11957619786392163964463621957378516434098941270737269121057718912597903306945","17811574064465368240747802047757187877765268944965687166508823127712743404164","15447026909359981861012600769812413786873660543547592040588530158648635889576","3652657328622525736865169151264366713720974824963609264234288227106439173821","12388551482532089134030199575537255785604909966611429793645638518342308611392","16000259395848052448009241875712240318742689059667753996130836559744974524298","15769136814449627202065272831251629709221888718931463351486243799566218755278","3129986775045982922390756625875681524153806914767530519644185715479209684678","15714806473545215061423205685798798012077459003081275714250881249451629322399","7757338970824900168178792700719148514100545244185553595939433108971748654835","9963979060542394161028821389467035220018178055792442311299464560576076577435","3231841111896678064239284790919154538046512531965913322293106284630906089404","15830824095291483834299244415818220330517778955678992920043677001616420125920","14966057823560468136917364313352333830345151306500382084656394975409255004732","12859391473658587722285604207494597829206746636757700619387211514019202884572","14310785551130071949875889448564196402099992603453536024066073362728556967323","12039768811721609412777015875459884003302443363369058125155527082563701279213","16847357014297880196342159177015958744805411492956048834636578961677311777055","1691980987335649322421188959259457482607530415243698541760108647785644142776","18666744223261778964184410220945755969726096204315886287930254587726956834075","8962457031462687192049138804348731783400445889407696098397965070905360762505","7384354940894232750810965214256843133893828234838625249184714570616029975822","21405742246651619351159096336099984397012902273001702952006932819970505943514","13716650118149995559080008009964363618246902837324171491466697424749420636843","6707613599497919386705904880086784270785884563531729415964783035104194061773","20631714840674168036171577412492662608900348900498313212512136921971259956750","134109077250314452203022315966647067839520543766217804829085439284183190730","13169651344249706869219241644867851569464128890966340534825217568668202987732","13167578019634904591546414111215492463545633998427272233699027431078968999337","10874644049757609067573478421900734068687770474279752119273092557335160517746","5041196669573658919647887109742564681935374826142416864168837598473602587238","2414830299666006258645673349772293044459144661103518188772254029962769281622","2486172372301551270005139443153384934952252396111278091785511578335654605911","12057330972659423422390731602477471176220899187703401729214830054645509582049","18399658521760301015112605843795715442296493965942591791286892061171549958324","4051995101124423356153781359967593019298253052388354167135583239078023449300","5358269630999833994345164198099784462567072582084855157913403977548512197456","4250314517292094528439701162504824105044853754117759762139820466351640555901","7048807064629087156949927187424019447786535600445056497976015327272550707975","6984580619131083356200383873039017606387471078698328791782303726902102599125","7336634356649738652656660282271341992082685709984485230251067537014255344791","10530909002106582229347273337544027855926506125004369394509193368470413384704","2435905354250757634354515411069428219702585532124951087402792008915185691998","1119619308682285200380888041816049747432661408134293078744532894417598260570","15183590380309605365392701288078748215744702705186547669038375710606027992156","1677501667477086293363082452892533260790073937459298239467226388635565927170","14384161985092103893292730106138577422172386461012454169181531673940244634553","18344264980400400742239745043250986937409895423338942347938056392929853524910","10299776350807701382858990585817991708413536318656769270728919653361249973711","0","0","19152212512859365819465605027100115702479818850364030050735928663253832433665","0","0","0","1","0"] diff --git a/test-vectors/smtverifier10.wasm b/test-vectors/smtverifier10.wasm deleted file mode 100644 index bb31a32c429bf9195533b60b50f88d6b7f6836cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390306 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 From 6e982e3386a6e3db3e4cbeb3248b6998c3b8ca6b Mon Sep 17 00:00:00 2001 From: mmagician Date: Sat, 13 Jul 2024 17:30:33 +0200 Subject: [PATCH 07/23] remove n_vars, no longer used as its implicit --- src/witness/witness_calculator.rs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/witness/witness_calculator.rs b/src/witness/witness_calculator.rs index 76a7eed..009702a 100644 --- a/src/witness/witness_calculator.rs +++ b/src/witness/witness_calculator.rs @@ -255,7 +255,6 @@ mod tests { struct TestCase<'a> { circuit_path: &'a str, inputs_path: &'a str, - n_vars: u32, n64: u32, witness: &'a [&'a str], } @@ -271,7 +270,6 @@ mod tests { run_test(TestCase { circuit_path: root_path("test-vectors/mycircuit.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input1.json").as_str(), - n_vars: 4, n64: 4, witness: &["1", "33", "3", "11"], }); @@ -282,7 +280,6 @@ mod tests { run_test(TestCase { circuit_path: root_path("test-vectors/mycircuit.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input2.json").as_str(), - n_vars: 4, n64: 4, witness: &[ "1", @@ -298,7 +295,6 @@ mod tests { run_test(TestCase { circuit_path: root_path("test-vectors/mycircuit.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input3.json").as_str(), - n_vars: 4, n64: 4, witness: &[ "1", @@ -318,7 +314,6 @@ mod tests { run_test(TestCase { circuit_path: root_path("test-vectors/circuit2_js/circuit2.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input1.json").as_str(), - n_vars: 132, // 128 + 4 n64: 4, witness, }); From 79a070f38a2261763b41f256f6a02d6aff43dee0 Mon Sep 17 00:00:00 2001 From: mmagician Date: Sat, 13 Jul 2024 17:31:09 +0200 Subject: [PATCH 08/23] fix groth16 tests --- tests/groth16.rs | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/tests/groth16.rs b/tests/groth16.rs index 5d9400c..5f9cd29 100644 --- a/tests/groth16.rs +++ b/tests/groth16.rs @@ -2,7 +2,7 @@ use ark_circom::{CircomBuilder, CircomConfig}; use ark_std::rand::thread_rng; use color_eyre::Result; -use ark_bn254::Bn254; +use ark_bn254::{Bn254, Fr}; use ark_crypto_primitives::snark::SNARK; use ark_groth16::Groth16; @@ -11,7 +11,7 @@ type GrothBn = Groth16; #[tokio::test] async fn groth16_proof() -> Result<()> { let cfg = CircomConfig::::new( - "./test-vectors/mycircuit.wasm", + "./test-vectors/mycircuit_js/mycircuit.wasm", "./test-vectors/mycircuit.r1cs", )?; let mut builder = CircomBuilder::new(cfg); @@ -40,29 +40,40 @@ async fn groth16_proof() -> Result<()> { } #[tokio::test] -async fn groth16_proof_wrong_input() { +async fn groth16_proof_wrong_input() -> Result<()> { let cfg = CircomConfig::::new( - "./test-vectors/mycircuit.wasm", + "./test-vectors/mycircuit_js/mycircuit.wasm", "./test-vectors/mycircuit.r1cs", ) .unwrap(); let mut builder = CircomBuilder::new(cfg); builder.push_input("a", 3); - // This isn't a public input to the circuit, should fail + // This isn't a public input to the circuit, should fail verification builder.push_input("foo", 11); // create an empty instance for setting it up let circom = builder.setup(); let mut rng = thread_rng(); - let _params = GrothBn::generate_random_parameters_with_reduction(circom, &mut rng).unwrap(); + let params = GrothBn::generate_random_parameters_with_reduction(circom, &mut rng).unwrap(); - let _ = builder.build().unwrap_err(); + let circom = builder.build().unwrap(); + + // we need to manually specify the public input, else the circuit builder will take the default for b = 0, and set public input to 0 (=11*0). + let inputs = vec![Fr::from(33u64)]; + + let proof = GrothBn::prove(¶ms, circom, &mut rng).unwrap(); + + let pvk = GrothBn::process_vk(¶ms.vk).unwrap(); + + let verified = GrothBn::verify_with_processed_vk(&pvk, &inputs, &proof).unwrap(); + assert!(!verified); + + Ok(()) } #[tokio::test] -#[cfg(feature = "circom-2")] -async fn groth16_proof_circom2() -> Result<()> { +async fn groth16_proof_circom() -> Result<()> { let cfg = CircomConfig::::new( "./test-vectors/circom2_multiplier2.wasm", "./test-vectors/circom2_multiplier2.r1cs", @@ -93,8 +104,7 @@ async fn groth16_proof_circom2() -> Result<()> { } #[tokio::test] -#[cfg(feature = "circom-2")] -async fn witness_generation_circom2() -> Result<()> { +async fn witness_generation_circom() -> Result<()> { let cfg = CircomConfig::::new( "./test-vectors/circom2_multiplier2.wasm", "./test-vectors/circom2_multiplier2.r1cs", From 94faeaf0b288bc4fc41bcdc358f101450d43c118 Mon Sep 17 00:00:00 2001 From: mmagician Date: Sat, 13 Jul 2024 17:44:12 +0200 Subject: [PATCH 09/23] provide full paths to wasm location --- src/zkey.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/zkey.rs b/src/zkey.rs index 1df9cc4..d44283c 100644 --- a/src/zkey.rs +++ b/src/zkey.rs @@ -850,7 +850,7 @@ mod tests { let (params, _matrices) = read_zkey(&mut file).unwrap(); // binfile.proving_key().unwrap(); let cfg = CircomConfig::::new( - "./test-vectors/mycircuit.wasm", + "./test-vectors/mycircuit_js/mycircuit.wasm", "./test-vectors/mycircuit.r1cs", ) .unwrap(); @@ -878,7 +878,9 @@ mod tests { let mut file = File::open(path).unwrap(); let (params, matrices) = read_zkey(&mut file).unwrap(); let mut store = Store::default(); - let mut wtns = WitnessCalculator::new(&mut store, "./test-vectors/mycircuit.wasm").unwrap(); + let mut wtns = + WitnessCalculator::new(&mut store, "./test-vectors/mycircuit_js/mycircuit.wasm") + .unwrap(); let mut inputs: HashMap> = HashMap::new(); let values = inputs.entry("a".to_string()).or_insert_with(Vec::new); values.push(3.into()); From 1c2e578c7ecaccae16d77e564e5b2152e6344c06 Mon Sep 17 00:00:00 2001 From: mmagician Date: Sat, 13 Jul 2024 21:48:32 +0200 Subject: [PATCH 10/23] edit msg --- test-vectors/mycircuit.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-vectors/mycircuit.sh b/test-vectors/mycircuit.sh index 3dcead0..bc57785 100755 --- a/test-vectors/mycircuit.sh +++ b/test-vectors/mycircuit.sh @@ -19,5 +19,5 @@ else fi -echo "zkey" +echo "writing zkey" snarkjs zkey new mycircuit.r1cs powersOfTau28_hez_final_17.ptau test.zkey From bc2c1a5ddcc1dff3e39ec59ba8f2b85180ccc91a Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 17 Jul 2024 23:11:16 +0200 Subject: [PATCH 11/23] remove unused files --- src/circom/circuit.rs | 2 +- src/witness/witness_calculator.rs | 6 +- test-vectors/calculatewitness.js | 35 -- test-vectors/circom2_multiplier2.r1cs | Bin 264 -> 0 bytes test-vectors/circom2_multiplier2.wasm | Bin 29071 -> 0 bytes test-vectors/circuit2.r1cs | Bin 0 -> 26032 bytes test-vectors/{ => circuit2_js}/circuit2.wasm | Bin test-vectors/circuit2_js/generate_witness.js | 20 ++ test-vectors/circuit2_js/witness.wtns | Bin 0 -> 4300 bytes .../circuit2_js/witness_calculator.js | 337 ++++++++++++++++++ test-vectors/input.json | 1 - test-vectors/mycircuit.sym | 3 - test-vectors/mycircuit_js/generate_witness.js | 20 ++ .../{ => mycircuit_js}/mycircuit.wasm | Bin .../mycircuit_js/witness_calculator.js | 337 ++++++++++++++++++ test-vectors/nconstraints.circom | 14 - test-vectors/proof.json | 28 -- test-vectors/public.json | 3 - test-vectors/safe-circuit.sh | 2 +- test-vectors/witness.wtns | Bin 640108 -> 0 bytes tests/groth16.rs | 8 +- tests/solidity.rs | 2 +- 22 files changed, 724 insertions(+), 94 deletions(-) delete mode 100755 test-vectors/calculatewitness.js delete mode 100644 test-vectors/circom2_multiplier2.r1cs delete mode 100644 test-vectors/circom2_multiplier2.wasm create mode 100644 test-vectors/circuit2.r1cs rename test-vectors/{ => circuit2_js}/circuit2.wasm (100%) create mode 100644 test-vectors/circuit2_js/generate_witness.js create mode 100644 test-vectors/circuit2_js/witness.wtns create mode 100644 test-vectors/circuit2_js/witness_calculator.js delete mode 100644 test-vectors/input.json delete mode 100644 test-vectors/mycircuit.sym create mode 100644 test-vectors/mycircuit_js/generate_witness.js rename test-vectors/{ => mycircuit_js}/mycircuit.wasm (100%) create mode 100644 test-vectors/mycircuit_js/witness_calculator.js delete mode 100644 test-vectors/nconstraints.circom delete mode 100644 test-vectors/proof.json delete mode 100644 test-vectors/public.json delete mode 100644 test-vectors/witness.wtns diff --git a/src/circom/circuit.rs b/src/circom/circuit.rs index 32a0466..05c4b33 100644 --- a/src/circom/circuit.rs +++ b/src/circom/circuit.rs @@ -96,7 +96,7 @@ mod tests { #[tokio::test] async fn satisfied() { let cfg = CircomConfig::::new( - "./test-vectors/mycircuit.wasm", + "./test-vectors/mycircuit_js/mycircuit.wasm", "./test-vectors/mycircuit.r1cs", ) .unwrap(); diff --git a/src/witness/witness_calculator.rs b/src/witness/witness_calculator.rs index 009702a..17078bc 100644 --- a/src/witness/witness_calculator.rs +++ b/src/witness/witness_calculator.rs @@ -268,7 +268,7 @@ mod tests { #[tokio::test] async fn multiplier_1() { run_test(TestCase { - circuit_path: root_path("test-vectors/mycircuit.wasm").as_str(), + circuit_path: root_path("test-vectors/mycircuit_js/mycircuit.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input1.json").as_str(), n64: 4, witness: &["1", "33", "3", "11"], @@ -278,7 +278,7 @@ mod tests { #[tokio::test] async fn multiplier_2() { run_test(TestCase { - circuit_path: root_path("test-vectors/mycircuit.wasm").as_str(), + circuit_path: root_path("test-vectors/mycircuit_js/mycircuit.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input2.json").as_str(), n64: 4, witness: &[ @@ -293,7 +293,7 @@ mod tests { #[tokio::test] async fn multiplier_3() { run_test(TestCase { - circuit_path: root_path("test-vectors/mycircuit.wasm").as_str(), + circuit_path: root_path("test-vectors/mycircuit_js/mycircuit.wasm").as_str(), inputs_path: root_path("test-vectors/mycircuit-input3.json").as_str(), n64: 4, witness: &[ diff --git a/test-vectors/calculatewitness.js b/test-vectors/calculatewitness.js deleted file mode 100755 index d562d27..0000000 --- a/test-vectors/calculatewitness.js +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env node - -const fs = require("fs"); -const {stringifyBigInts, unstringifyBigInts} = require("snarkjs"); -const WitnessCalculatorBuilder = require("./witness_calculator.js"); - -// const wasmName = "smtverifier10.wasm" -// const inputName = "smtverifier10-input.json" - -const wasmName = "nconstraints.wasm" -const inputName = "nconstraints-input.json" - -async function run () { - const wasm = await fs.promises.readFile(wasmName); - const input = unstringifyBigInts(JSON.parse(await fs.promises.readFile(inputName, "utf8"))); - - console.log("input:", input); - let options; - const wc = await WitnessCalculatorBuilder(wasm, options); - - const w = await wc.calculateWitness(input); - - console.log("witness:\n", JSON.stringify(stringifyBigInts(w))); - - // const wb = await wc.calculateBinWitness(input); - - // console.log("witnessBin:", Buffer.from(wb).toString('hex')); - - // await fs.promises.writeFile(witnessName, JSON.stringify(stringifyBigInts(w), null, 1)); - -} - -run().then(() => { - process.exit(); -}); diff --git a/test-vectors/circom2_multiplier2.r1cs b/test-vectors/circom2_multiplier2.r1cs deleted file mode 100644 index e61b9b091d3e08fab09d4639f9763e776451f221..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmXRiOfF_*U|?VdVkRK20AdgTiGlb)@L}@Tht3lVc2;`4FxH5TXl&f(8n8oif#Jg< zzZ3(QUJ#8BfaIZS2%6^rHAn%X2d{b-h#IgCkb6OV5P-Q$0n9@XFn2=z2KF~d7696s BEn)xw diff --git a/test-vectors/circom2_multiplier2.wasm b/test-vectors/circom2_multiplier2.wasm deleted file mode 100644 index 7ea487c35dda61de0272a262f576c463808a5ab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29071 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 diff --git a/test-vectors/circuit2.r1cs b/test-vectors/circuit2.r1cs new file mode 100644 index 0000000000000000000000000000000000000000..cb3fbdf37f40135796440f2bdd1fe5d41371ca76 GIT binary patch literal 26032 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 L3M~@4Q0RXENqimC literal 0 HcmV?d00001 diff --git a/test-vectors/circuit2.wasm b/test-vectors/circuit2_js/circuit2.wasm similarity index 100% rename from test-vectors/circuit2.wasm rename to test-vectors/circuit2_js/circuit2.wasm diff --git a/test-vectors/circuit2_js/generate_witness.js b/test-vectors/circuit2_js/generate_witness.js new file mode 100644 index 0000000..eabb86e --- /dev/null +++ b/test-vectors/circuit2_js/generate_witness.js @@ -0,0 +1,20 @@ +const wc = require("./witness_calculator.js"); +const { readFileSync, writeFile } = require("fs"); + +if (process.argv.length != 5) { + console.log("Usage: node generate_witness.js "); +} else { + const input = JSON.parse(readFileSync(process.argv[3], "utf8")); + + const buffer = readFileSync(process.argv[2]); + wc(buffer).then(async witnessCalculator => { + // const w= await witnessCalculator.calculateWitness(input,0); + // for (let i=0; i< w.length; i++){ + // console.log(w[i]); + // } + const buff= await witnessCalculator.calculateWTNSBin(input,0); + writeFile(process.argv[4], buff, function(err) { + if (err) throw err; + }); + }); +} diff --git a/test-vectors/circuit2_js/witness.wtns b/test-vectors/circuit2_js/witness.wtns new file mode 100644 index 0000000000000000000000000000000000000000..d9dce5d5b10ffde1afadff9e635df159c1f7fc9f GIT binary patch literal 4300 zcmXRf$tz}JU|;}YMj+MzVh~UOVj%y+6i^mt*c5gXCixXm?ShvovqheduV z1}#7}Abkx2KmrIr`tbope3C#pW&-lu1muDC|2X;U!$OZ8cWhL?NKVmPbHL%YlExj8 z3o{BV)r}-fjE$qW{CFjL<{YEaOr?(*CE?4XX8vVie6?rM+~y1S6$!bYkURnBjY^M( zz-S1JhQMeDjE2By2n;|75URfk$rExirTPh(KPo>O0;3@?8UmvsFd71*A%GbI0Jl*v AQ~&?~ literal 0 HcmV?d00001 diff --git a/test-vectors/circuit2_js/witness_calculator.js b/test-vectors/circuit2_js/witness_calculator.js new file mode 100644 index 0000000..20e6e20 --- /dev/null +++ b/test-vectors/circuit2_js/witness_calculator.js @@ -0,0 +1,337 @@ +module.exports = async function builder(code, options) { + + options = options || {}; + + let wasmModule; + try { + wasmModule = await WebAssembly.compile(code); + } catch (err) { + console.log(err); + console.log("\nTry to run circom --c in order to generate c++ code instead\n"); + throw new Error(err); + } + + let wc; + + let errStr = ""; + let msgStr = ""; + + const instance = await WebAssembly.instantiate(wasmModule, { + runtime: { + exceptionHandler : function(code) { + let err; + if (code == 1) { + err = "Signal not found.\n"; + } else if (code == 2) { + err = "Too many signals set.\n"; + } else if (code == 3) { + err = "Signal already set.\n"; + } else if (code == 4) { + err = "Assert Failed.\n"; + } else if (code == 5) { + err = "Not enough memory.\n"; + } else if (code == 6) { + err = "Input signal array access exceeds the size.\n"; + } else { + err = "Unknown error.\n"; + } + throw new Error(err + errStr); + }, + printErrorMessage : function() { + errStr += getMessage() + "\n"; + // console.error(getMessage()); + }, + writeBufferMessage : function() { + const msg = getMessage(); + // Any calls to `log()` will always end with a `\n`, so that's when we print and reset + if (msg === "\n") { + console.log(msgStr); + msgStr = ""; + } else { + // If we've buffered other content, put a space in between the items + if (msgStr !== "") { + msgStr += " " + } + // Then append the message to the message we are creating + msgStr += msg; + } + }, + showSharedRWMemory : function() { + printSharedRWMemory (); + } + + } + }); + + const sanityCheck = + options +// options && +// ( +// options.sanityCheck || +// options.logGetSignal || +// options.logSetSignal || +// options.logStartComponent || +// options.logFinishComponent +// ); + + + wc = new WitnessCalculator(instance, sanityCheck); + return wc; + + function getMessage() { + var message = ""; + var c = instance.exports.getMessageChar(); + while ( c != 0 ) { + message += String.fromCharCode(c); + c = instance.exports.getMessageChar(); + } + return message; + } + + function printSharedRWMemory () { + const shared_rw_memory_size = instance.exports.getFieldNumLen32(); + const arr = new Uint32Array(shared_rw_memory_size); + for (let j=0; j { + const h = fnvHash(k); + const hMSB = parseInt(h.slice(0,8), 16); + const hLSB = parseInt(h.slice(8,16), 16); + const fArr = flatArray(input[k]); + let signalSize = this.instance.exports.getInputSignalSize(hMSB, hLSB); + if (signalSize < 0){ + throw new Error(`Signal ${k} not found\n`); + } + if (fArr.length < signalSize) { + throw new Error(`Not enough values for input signal ${k}\n`); + } + if (fArr.length > signalSize) { + throw new Error(`Too many values for input signal ${k}\n`); + } + for (let i=0; i0) { + res.unshift(0); + i--; + } + } + return res; +} + +function fromArray32(arr) { //returns a BigInt + var res = BigInt(0); + const radix = BigInt(0x100000000); + for (let i = 0; i "); +} else { + const input = JSON.parse(readFileSync(process.argv[3], "utf8")); + + const buffer = readFileSync(process.argv[2]); + wc(buffer).then(async witnessCalculator => { + // const w= await witnessCalculator.calculateWitness(input,0); + // for (let i=0; i< w.length; i++){ + // console.log(w[i]); + // } + const buff= await witnessCalculator.calculateWTNSBin(input,0); + writeFile(process.argv[4], buff, function(err) { + if (err) throw err; + }); + }); +} diff --git a/test-vectors/mycircuit.wasm b/test-vectors/mycircuit_js/mycircuit.wasm similarity index 100% rename from test-vectors/mycircuit.wasm rename to test-vectors/mycircuit_js/mycircuit.wasm diff --git a/test-vectors/mycircuit_js/witness_calculator.js b/test-vectors/mycircuit_js/witness_calculator.js new file mode 100644 index 0000000..20e6e20 --- /dev/null +++ b/test-vectors/mycircuit_js/witness_calculator.js @@ -0,0 +1,337 @@ +module.exports = async function builder(code, options) { + + options = options || {}; + + let wasmModule; + try { + wasmModule = await WebAssembly.compile(code); + } catch (err) { + console.log(err); + console.log("\nTry to run circom --c in order to generate c++ code instead\n"); + throw new Error(err); + } + + let wc; + + let errStr = ""; + let msgStr = ""; + + const instance = await WebAssembly.instantiate(wasmModule, { + runtime: { + exceptionHandler : function(code) { + let err; + if (code == 1) { + err = "Signal not found.\n"; + } else if (code == 2) { + err = "Too many signals set.\n"; + } else if (code == 3) { + err = "Signal already set.\n"; + } else if (code == 4) { + err = "Assert Failed.\n"; + } else if (code == 5) { + err = "Not enough memory.\n"; + } else if (code == 6) { + err = "Input signal array access exceeds the size.\n"; + } else { + err = "Unknown error.\n"; + } + throw new Error(err + errStr); + }, + printErrorMessage : function() { + errStr += getMessage() + "\n"; + // console.error(getMessage()); + }, + writeBufferMessage : function() { + const msg = getMessage(); + // Any calls to `log()` will always end with a `\n`, so that's when we print and reset + if (msg === "\n") { + console.log(msgStr); + msgStr = ""; + } else { + // If we've buffered other content, put a space in between the items + if (msgStr !== "") { + msgStr += " " + } + // Then append the message to the message we are creating + msgStr += msg; + } + }, + showSharedRWMemory : function() { + printSharedRWMemory (); + } + + } + }); + + const sanityCheck = + options +// options && +// ( +// options.sanityCheck || +// options.logGetSignal || +// options.logSetSignal || +// options.logStartComponent || +// options.logFinishComponent +// ); + + + wc = new WitnessCalculator(instance, sanityCheck); + return wc; + + function getMessage() { + var message = ""; + var c = instance.exports.getMessageChar(); + while ( c != 0 ) { + message += String.fromCharCode(c); + c = instance.exports.getMessageChar(); + } + return message; + } + + function printSharedRWMemory () { + const shared_rw_memory_size = instance.exports.getFieldNumLen32(); + const arr = new Uint32Array(shared_rw_memory_size); + for (let j=0; j { + const h = fnvHash(k); + const hMSB = parseInt(h.slice(0,8), 16); + const hLSB = parseInt(h.slice(8,16), 16); + const fArr = flatArray(input[k]); + let signalSize = this.instance.exports.getInputSignalSize(hMSB, hLSB); + if (signalSize < 0){ + throw new Error(`Signal ${k} not found\n`); + } + if (fArr.length < signalSize) { + throw new Error(`Not enough values for input signal ${k}\n`); + } + if (fArr.length > signalSize) { + throw new Error(`Too many values for input signal ${k}\n`); + } + for (let i=0; i0) { + res.unshift(0); + i--; + } + } + return res; +} + +function fromArray32(arr) { //returns a BigInt + var res = BigInt(0); + const radix = BigInt(0x100000000); + for (let i = 0; iBnk{oeMxfKS(SrUz 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

mHS6aHSMCAvIL*-XI770qS$QU9y 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

a_NTn8VvWNU6AV$>!Z}X`H*}rrLVRMc$ zzDVn&?>XD@R>KiMMHQP@<2%6dLh|z~oVmrNi=Oeg8ngun&eub3XMiR*k*DF8n|U94 znBB+f(Z)!W=>%l71*xaSlqSvk8A%REf*EkOEmvvlRbdFV@L=2Ab}3Ce2H<(X%eBWa zB3%y0F@7eLAQ?JShC=o`HSh8Xev3(wYG`BG?RF1-ef}z#)}DME86ZZjOuOl5x0yyi zIG)or*8#N`lC!;MM@$!u^}B6R(f{~q4z$?c{A|5R>LI*i06KrrNaUL)?YkNj4&Udg znJh7!y<*ex=1YpjOI1GueE8kS6Zq7Px^XO)A+IT_too#VNAXiBF|k`}km3bg_2@G7 z|6lv*H5n$GP8uH$ab>D(jfc7-(vee;bM9Y|6qh`qR!L6!cGVXi$&?D5$y#nhzt!gl zl+FLTySLeiH{>s!NB_9~kAx5{5hk~(nivgW`Wt+yMR^0gn#ygXh08@=IFMOy-L5N~ z_~iRz$2@tQYFM~l>4NKLK_LT4#|u6(cO?Kd`j-&zh%rlCP8^0q0q>*8LX8(ur+eff z7%8>=lF>uOUT+++p9xdWhZ#~@;nN^#8Yk;hVyOtB@3oRzjtY3?8$x918 zDe~P5E0Nz6yXyJ_=<3dbErAPU!kaD%tItLZr8oBb=mM>x3yoaG7%1;7IvQn>yj+sJ z3pN~`?biZXSfGEWrVMSPSpBo9Pgs4i=EBNq2!gwNVGI<(y(Jh;)!M?;gN24S%YKzu zi_%17-U}b;I_<+#c!D7%?B{WSfq|q<1oNS8*v$#Mv!lxJb$0da(`?ow&EY3D^lpQA zC?IH`jM^yABXj1j=>h^=PU-Luu7#}1>iF>reY%T}9EEY4#NIf2Hpp6II&;at%md#OW!^ zGH7K;@ee?#x@>db%8y7@uS~fC%%IZiVknrRGYD5Gj7X>iRwPQYNb>F(tW%i(dom3G zrvo;)^)h_u?)Va8TU`L(Yii7hHi=LiAb`Li6xfiMKqQ%GC={9BHVLIpN{8o~5G*_<1w#bV5#KJ> zGzvImKh(WT^_{l1|9agbwCjyog{iy-?*IH&*ulVbvr2d6%0-x>2 z;=-{g!T@!-bOTuej1mjEdP?whI1QOH{okxW)~;4Wby|rXmeop^axl0DpebHZN2^OTZ@vnTt;neX9YW*2 z$i`7?y6lH*5y7cy;huleFv;&%Pa~ZpD9b1j-*5n*g~=0ZJ@#E7zXfb-QeQ#$Bxb6& zEfZ**cIq<);Q!p;{*k7~OmX*u$AMbuB@Ffh-dTh+RfHF^+Vo#2wb-P%?M_t|L7^#iyA!tOOsY{s$!MfdbqMF5Dx zn$Yu(X?su6$Hxt3FX^YpX&RTRjCQvkW1p6$j$;1f>CUv4M*F<(bFs5-S9=4Hc{78w zuW|b-Er@DihvLI_9)W$!c*$$}LgxfLCjQSHdv*#PvMoavvWKayPZrD0v7yMKNPw~1 z*GC!~=?e*@T&KjVqT~)F6djv8r@l16IrXezc<*N``FRZxCq^Y(k|fRKN94B$mXusR zavUvzk259~>OVR6UrjYw)OjV8-%NRcppqV^c4n!3LgxV$&@MV6LR8x(`#j%kiI9CTG z8)%=!+pJdIQdlL9tdcLOOrKu&CEHD-^U^r#TKTozKx2vxBa$9=cwQf0$Y!7`ik#Ts$EJdv zs6mw5mcfy&oi@2HRy=@$0}g2$5M%8TQu|M`H1-`wOH$Y{pn;yKxyN2wsq96;F*Gv- zT?M!VdTbKia`GRd>I6ESlSeNU$Jt%SW_&Z#yG4(AGpQc}a~*^+0}M4K&UN@ZzDXfWxOU!uIoJxP6w0&h$RM@x|8-koKZ2w&-Mlw_N~55HFXv zirG`G{6}nW#Ab!b<^IAoQW$L=Ag49q_=GCjk6~|Hm+&~H09>MxaG+F~Uk4?pB1L-@ z(a)pMO?Gg{9lR9V+Xg2al<9?X!(efJ= z7;Tjs4{k?JMplrlAk=Xv7rWozLECsVTK}L$-86DY{?sQ2!taBgIR(aMeUW+E=N3Ss zN4lb0u0@DvmSks=V=XuqZm|DW2`-Oxq{$IdD~pvVu`4_S1TM=Vwl1hM)g5RJ{tUtl z{tUSyTR@_JxE@7_-=QwS-nfy8m~o<%h;!U8@ajwa(e63_DJZdRPkGL5RpG$Z2nIaR zK+-qK0TQ_fPvK{bB*57wlIB)*O9ROp5%CofKhw7*vv{1wv!PNCYcZ7P+I|i3@-4l= zFz@EvAg9quli=Di*MwsiNSy>Hx?GPYY){WiPHvofgT5HnaFdDEWlzA1I@Fc&Weq0^ zCON+3Pg!*KJITH1O`K1+YJPvFf}DyPP`~PlVnwMTauVQeeI8Qq;AJaB)&yyrlM1NI z#t>{)yjn#3H+_#M3>$qN>PN;&$OhY5#7uZzVi`t@-N*f1&P#YvwRr#sy)B9C2)hv| zdB%rQNQ&!#C=98|xWv$d)s2agz4JI4ZNz26zE(m8*V9?q?Q^0-^SQfJ91zw8W>1JLL$k;qP znE7O`$iYqsC+(m4pdZ_tk^=1r$}w~nXi8WG0Q#J0kNKvFBtGM8J%w6SlGPLZF=<2# zYgz$P9!KXYhJWXXBs-#n<(EvQj0o$Vp8plv61CB$>VH3~|La>73JS5WE+=#$5PLU@ z!6xtWAL{B-^BVF-bF zz6MYTVT-6JY$W)dGHc})W%3OUlci8CGtVf0GtXAShaSD3NC6b_G2Y}xxqd(DbQJJ` zB@=TSpV?mz>8r&3%omzn#)X1^v43E)ORWV*-%s?=(-+1p?29!7z9Y;W*FS0gQ)>_O z97tPTWFQ4U^ZIkzn&ztnLlY8ybz;E{75vZ5&v3jpu{oWcrcu|h^sd=(&HkqTrf=VAkSOlA<9P{<+^hnJ5la3gL!m|3|J5I?p6u-BmBloxQGSL zgf(3<6y&lQP?L9VUPV!!YGl(kAGQLV_4B8}cb&B^vKa034-!KUU_j?guRWb)2bO@7 zQDF;-bGHtFMF+`p4h=63)fU$xq@(ui!@=LXHBHE82nE?y6m1%KbA{SnP0NC?^_(*a zXCkJ6;7EswHPg>|T!ObuMZk*T#vNW4WO+$A)*D1Htp1{$)VnLKWt?=mK=&i@8dh5- zN3+x99$V7zNIQueYdK5LrM=S%lW6(6h8ZUgBavnRUjUn-D0-Xy8$W~`h{w;#)oi0) zW;lmcxPLZt$jYS%h?pCLya-Okj;68&TR*cS{dNRVa?mWh+?|8fliY)0QWWa-EUZuw z(BqLE{!%Ip;1{$F!u+|tx4UJs9)TEPUbU_%KcOsU6-C^kPu$}_>dGz;W#-EbhkDD z&hzD`&wco9{e$?$r)95g^P%1fn{d}X!X?)jAVlyK9LSNsDmR{r17JxUI2+`TN#{P$ zwKlNA4hH)ueu6=Ik9@7&-(sad5fLZ_7X;f#ZD<#b+iZL)d}CK0#4^7I5N!aXerx&p zQ0mZTr5L9w_=NTnAXY&)tlQrqjXbxF0|`!F#prJ|WL5PzruIxxgL^AhIdoSQHkNi9 z&yCcVVi}ELTp@2(3Zk#An+C~rvf{!7jPr&xO3ZvRvD{y&p~Y|*q%nmojA1mX!xX6E5oGU6 zZQ~9FeFhaQ9{69x8`P103ILFMs(Q&ZsYkciq=+vpoZEsO;l+ zidk8q8;nu<%51=VK<|zhnk$TPQW17!-21ZgA0!B~$D>9{k8G_;UkD4rVc^~cNX5k{E4G^82!T$=zAPRbn-PBcl@nU&(V5 zg!?nwkf1*%VtX+F%`Hei{QG<_Fb(-{+i_jjA_0<+NsCesypsk9d?az8BNpR?;-xnH z>duI2x-RZ`Xz-f=goE2<%fNskz0k?eRHA1;VyurK>Yym-8c}Po1*UIemkkwOt|}KM zD^JnWW_^e(c)7uw~`pZ!VMX#P#0X=QP`5$8p7*b@5r)D7CTdef{b$p6W z{YSS1A)Qfn`ti=uM?=MO;QBBXIg0{*@%~tf^gX;)qG9XasmJLd6_29pze4l1sXi`Z{|IJ4IrTJJYb3~ zDiOdzFt?%mhFLeg{Tz!-TfxTs=D8ndOZdw~jmd!z8&9<|hhm36LVC`g2Sk*(Ci6w! z>DB^XfP1T#dn7I-HKE&Y{u6@nU zB5BH7AxNU*6*_TWp9l@|lxL}Ho`z2;I}7YIPC^?jNBZ~*JHEnPmwLpevnOz`nL`E+ zuj7^wTbZGF5#O5VjAIdS_Ak~<4{Vm10liHJM4BSvCj|Npa{e_{4={=Le|#{JP;x-0 z9Dgl{B>XurDNvA7=JU}NA*o~O{6D?2}kKt=Qg&uM~JiAgZhNk1LyHQvjMk087((vAFZpt46U1<$h z@d?<_dU~7(4BU}M8p|mJgcfiNBjX!?!05Z7cjw>{FtrJc8HVXCs@eoqGVd-fU%;iX z1L|jSOJV;mDn8Y8XqsK&^~Q%BXa?=NK{ZllQ1@4K{mZDSCt3{j0P3C7i%lwfGo%ZP3kD0H-gfRL-UR{C|lt%nT*DY7h50Sn9I}t zik2N3ixm6T_;CS2mj{GJZY~rvvS~Xb} zNAb=>;+<3+7Q?#deM6!V<#pyX<}meWpvH*uYS;-tIo=|@O-q8tV7U-PR-RHRe(;Jn zSPJvZXCGg~nKW>??nyJO9CUOoMKiuA+6+1cY&&?nq4Cs=s>V&EGhGa*imIz`Gh`3T z+4FOe|Cuo#-ZP9r$j9tp1G#y&1-6_U6gG#m)%zA!ui8*zznuRC=Wt{{;4d#_9@QLc zX(h9=ixG;k*d8_LTIg{>*YWKjynf;ea*8Z;Iox{;jEWJr8AVsLTv=78P#bC8G)S)p zz^&+7Htw>ke+fj(sDoIa3WNtw@TnYtd1^l;EE;hT_*fooChm8LcIF~9eF0&L2Vtc2 z+?YXph1`JYaV9t}M^OE|4%d)b(ZRFg1c=5z!jjSuq?$*>Z|PuNmYI_Sa|^znh*8C{ zs++_;N&MWy_i{2w7^htdoF!+oZdqkSl$_ma!m-`#`YBBL-FdPnr_FT(a zyhv^qGk8+kVnsjxCe>jmo)9!ijyV9R@ghLdW_e4nZ!BUFK}kY%3znayT9-&5jX5kh z(xR!V#(_1r2D(!L`~cb&Aq4`1dCYghNBle+pEfnYun9=>*5i6lNPWu;!(4>3H1f=qlacT~I3W8Z zKl_2r*>qShy&b~=`@vZfX;q)*z%U_QX}?7XFV$(F)yV_Sei)}Nz%0lK^xJx_f(Mpf z@(Ue5ULPvUjVaM{64HQg)Ok1z|Kc^KKPnZuAu(&3KYv-O1XvuDj%Q^7)=7j4*<^CxQ&46slBtJ%+ndk(r4G~*VvJ? zbUjub*4m6r5$g$C^5!0IBbFIyYAEE(I(zHbuT8KoZw!C}X6~K$K&8JQ{^D%sgrZgO&mN(j5a&5tvAAjzmj1oidUtv;9lxTd4KhCZv#;?21LX%m9o1U z+d+|>ClahHLqaInhK|)T?z$=GudOi2jJ+gWWbJ%!Ig96UGr~U*2&TJcGx{3VEMC=s z+RK1@_p0H2!l6+#9CRqf98}RPS|kX3=B$kd9jDgQq}4uvl0>*&gDPox!OiRnX}T#J z+bjwzbOdAbElFqx=*3p$u6MT#B&-906$#@u^!uN0-+1WWsPN_iviEw+_MB}b0S9$8i%$P;nmN6y#x0)o07IahxMt+D9e=xap-TwDLNVEZ4y@ibMYv^rnk4RIu zEcDbOhEW#aAi6EG7!wnBg=u+;r_6>AVleZSh$mHJo>+Vg%7Ss)`PgSEod~E28A!Cb ze>`~;mqFC7!N%W&eg^9sa($H1`6{qO#4z!M48`BxBJFjE8nn_-*RG3k#gD@xlln?Y zzylI3%ayTKTUO-xO+5zF@`8fztV?HnhUEJV&cPbUjN`!-Z*Oq&k^PF-o7}RR=$1ub zL1Ha6=cZQ~+Qp?nEu&GUVTySDY%wesjEMv z_P^vYldn){TkPc~WR^T_ewT)%F>1Y*963_aMXppZozZD=U(jkQ#lLq4M*6fV{gxGD z2XfXC+Ux=x_92iP+x2qq&aRZ{c3a0LO_jideE4~=;u!$|Q`h4hRzy^>(zYg*F&cii zdooKEO(8HY%W@`mkg9sQ^vF+5%fAeSfMs`;9rD8~6PiW=m~89lru!xVFTb;?Lo#TGWpY=7kX#xMrCDqqIJp)Gm$=cri)K9J2=#_ope+)k^ByHjjz9fNxmM z_JOgjkDfXs!Bcx{J98w*gqpmuvc6QG!8wt)8wqI-5wA>8nBf8@3tJ${LVSi6p?4PX zmZ*YPs)dgRa%`u2WjGv@>Z;BOW3y0i%G*y4)*RnJrUj);6<8`OlO`|f@>a*W|D6~v zy^o-;7JS=)Y23TIW;rk^lJv^j#P$yqcM7!x|I9W4!9g`mgEdz$9xdpVJMp$lPEt8- z7ni-MAN~z+Sq(lQbFSRR6y|CXNvOlx>nxEvbiGRcmKpp(d1qg+U>Qde;=*ZjVu_-# z>Lz_}lVTny^qpZC9o+5aT-MC5aa)HWABHf}6RsP6B@T(Fc}4rZ%asyt9BS#;X-D!o%i4_^qZ zJgmTknR+eiNx94!f%K4OV-->b{T>iPkymkfMXwixA=H&B2^Tr1tL9vKcHy{z6HGG= z_}Nh^-gaJOHDIWRMghH9x7~=k)R&;y@EYfams_eDo7-po6GR23480D09T>0SU9ac3 zR;$ZlqG{b!6NzFey1mXIwemB^r8>=fvW$qqVtvnAC;5q61nU~b5PB8`bx2VF47MDV z&=~CJvx=fUXJ4fbAiH5Q4q03R(NS?PHmpa0+ZW*F6p?z&G()TLRALzI;}Y+c@C9^g zpZRAlzTI~aG3~v)$ElgjUUl;_@{7NN6;8{@&TH885Yx@qw@uOOTPPw9+~43546t$S=0vGD6#tmfTh|jfdt5u z!l#NjrFGZ}o@h7%&=X8676{)}H583A_)dH!23~HIe@F5#5Iwc1KYao9hP^O|RM=KJ z-WTi3TXhm23(aA16ao+yJn<*_6H5j@x+c66qPBta?jw^w;>fiRupa0itcrG{*p3aO z%5&71WDerr8wzdDql(srD>wKddPNCv4B#)Tsmmh0dl3BMDlYg?AP;U0e*V$FMC0HS zb1)pJKc*lDj>~9*t?U~kz>u6%4Kfw>I&DJfy`a7U14ggxGMt_@gGh|Zxil0;R& zoaNtC2T5H#O8HwMA@qn^U`hD0;x&uf)=I4@lBTE7Ftk6mVb5YHR%EdtxAOZtuZ<~J zJu=fv9m>U!Z?jJac$hXqDn}FcLUdLhD~(4vN|G$5j%3BZOFXpj`Xf9FJ|m_Vdfo4u z&_g{F`d{!%e2rF1B_a5+5q9Ur$-uK1*-8P=_Pb{=Z1c<-)B*XJ-2FLO7C#B+rEilw zx}wQ^vI_jwNl!YSkKK|1a6T?U=;hXrzGBgfbQ?yLJksU2m6XZd$T{)Zm9z>MZhHB4 zfnWbR6zHEWbrkAWrzB6Nm!?sffx8tQycv8NOr&uYD(VbgD%ZhRg|TYd`C>$Zg`2>q zK%%e~3?>c}>0;2a(weKOsLGTdHY3UT<#Aef{=Wti?a4PC7W97v_gaXFA+$3T%YR+Z zVGvML1$p!LXAy}H`6jr}ZE?#5w%rJ0LF`ZKX5rxNlbgH`7a*K@ynV24&>81X|B2=e z3XcG3HqJ_g)rzjCe>sYDM;Z&s&LgEe5%AVpP}i}N{uvMh*D_T9X_E}@WlA`U;N=#irN zFv@Wayy_f3&^&Yjd9GRMt_YS7F`t5iF6YpcaO&5HFoJX`myBwC%@Y~3%HJ?8UaPWa z19##aeaAU=Qd8G;Wk4zd)Vf;LFGz5>XtXMOwxySDzk5~?%e8i7b{an*KgWFuZ2H9= zmKSR~2iEj>zL{`lv_)B`^*e2YYc6DHTEBuX6@k{lV9^%;>qwbg26tV7)qyAZc1i1b zV@H?M%&ikJ7$$4XZH=JW?Q5hD2EQrHx$vYBZY{T<596BtTn#!K&#T<_w}RmILjKY_A7M^h5nSmvnYMZ?u0-0L+I zx!vSnz~OC8pz)3Z^Ec>P*A^ieZ>Ryu?#PXnNlbD@<#)LUN|;sC$G=Y8`r01A7W)of=e zgjsY6+=DpIeLll4IIzx*Qiq^sYPK99xH3~8aRSWjDPT#d=PNC#7T#aN+HQ*Xv%7v&6wp-1NK-N8^z{f zdcil(fzy%XVFRl3vfkfMH|B^!VA(TUouT$EID&n6wc)is5|y2L$u>-k?GxXQfln;H z1@-uT{Pd3`Sv_t%KRAsQpnZzI91s2pn^fQ=G{>b$T2KKB6^y?I3dc;^;zxC%I~#^U zKF)bDZyQ}BiI^wB&q6Yk8Q%ls%bHE9&HUZyZz^ zsN)f4+$g+d4q3xR@P4LE$S}}bpaK&&fQ%7Jy#jP2+=8Fxe4btc#|$b?$E<@!MCz-c zD6wQ(o?3)Cd|x{lg?+EuQD^2LfJEy&ca!xrkvbZ@ZuO!Ur7h}T zPociq&=O!4g%`=>(S5o?axP|x{Oe%}ssZ@O&8Xs)!M@rww01mO0#$y9(%Fr|vW7|EQOO9#PVT(XZA zb)$Q|876irLu}E8y5OhHAYhLmMvKpi|7Knn8Qb&>yR18vhz!IDfrk?Olc=x_cj-OY zz7%VT&!7BB3Ns@mypc$F(%1kp;%f~*-$7t^lH>U*n4pAUJIcGXtSm&>3_S! zNEH$erPU$amqy6&?@yo3^b^kDOh0BRa=TqP*pM5pRTQ@y`FJP@1QqrdskoA< z)4-DwZhB1Rt2Q`E`Qf1yXv1TU`UP3wTPi`_h%mfEE~Z%mlK|kL&PNmVjETg6)=m^p z9fb6mRZaVnL2r>F{gwA2l)nIgvDi6Td!a*nt;2iiImgL&JgE{(@QF`iczua3oEx&a zhHIJ0CjP~`KF@ev$TeofGh-!Whz~?{r!$EK!3c?4ZcPnRL>e_*7fJFS8xl6PlwIe{ zKTJmII7odX4Hw0hIQs2?b{)dw%RQRv98#i=XDx=CL?jhoycT5(VgK9q{L~Mu&|6Wc zSvyEBivXjhJ>A*1m~b@Al~8CZAcHRoy}?A#co63mt#HpNZ z=ozlJtoog~M_O4T`a*YXK>l&@H{nQ|G16%m;>D?Q=tA8wvstKOGlf_r5pRdPyQmPI zoiI%W7NYi1`AFGeRU*uC)7;lOYk*uMNh{!2uLeV3p1a=Ki?(Lp>H!vm_mlQ+pEqUYI@RwIlUt^KpA{BZ>6}Q zZt&}qZqu%jc+D%Xs!S>(sjQY1`jqN{y=119`9$dE7CIRFZoiuX)F(EGvWzGr+)pBo zzyWe}7Vu<{yh?7+HNq-Dpe4|$^={Vna(GlPxq$CWUA9E;GStq!heTV9LiPMuy!S`b z_f*Mz6L|tIARJ1=KKZhaKkARPN*^%}?cU+13>9@Xuv8KDml{w8uEf$lx?fsc$%;Nl zi~jNyg31UywVyGP0}Ge1&do|EuW0Y!VtN-N=E#-sZ>@wLPcvVCYvVV|amht?Z(-QK;6xmY&B0QL-!&k;vYJatwMtGGX%=NEQha z3uh1dkcjw)0u3c+@FL!3L6QAk=PkBv)%l}oQ{!<7v|WQ~ph5x(?{J?5z{iXe*rz z?q#ikVPze2V0U#}j#UZ_>2RZrS%#E@f7MZODt8W-sOm$CU@sygt4M8->vG>EHCQSV zW61I+4oqA&i%X->h^?R2uf{bV zstFkh1?F4s_0W`5LS*?H$VQY+^fcAKB|_g<`@j$Y7UOi$fT9kN^ON?(DbV4RB@fVc ze83zLKF%e>m*2T0$eq+T>455K06k82Bjt-6ZaT4hOBNsM6GA!oA92|Nqh291Xylv+ z6=-3P=ZYP^>R7;y5hk(cIIf{gjAjlaLICWsq2VSr6>woB|Xx^gy zKj*6r;fZlhJR~R9PZy9^D$D@M8Rm!Vw4$dc3i!!vutS9zbe*~aOZpdbVj}*aCg}bZ zH8c1)k8oSSb!+syl7xR4-o=6UGuI2y^%4J+>j{Bdd8|y2Z;ASXZn@I#GD|H2JM?q% zU@=cMX7ZOjN*doOet7J$RUaL&bYfj;UWmux&THXS}D`#sPS zz#-HZmHJIdKKblS8>Mkm>gfn5+?tqoc0>_UA$To*8v%r+3BNFmT+JgY|DOk3N0SJS#H-?g*{72t+me-hnq+HO0$&&W%9fwX=h$@0pR*} z{h8~&rO_iWCoC}l|8d0oxg~&Ek|khtVm6L5uSvhUChfvh#+eZKaSTPNj6d(T)MD3I&K*#vmTLDO7h1pa7+J zBG`6GH#YcA&tSBmr8iM;b!5>_llR~QQ>RY^wW++i=5v;WQ8<#W+xSOSSQ_#814H>V zRXMJ4c#?J-!!iYvJ!V=F7KZCTdx}9U3ATP@;7UKO7kK8tsvXig78C{_9u; zTI2qPepj%-pN`ywU|}7jV~0b0!{S-F!a09iAi5q0SHxD@M?rjmOvfG7;O&8js`*?A za3|@g6DDW5OgpJ6?tb+Bs4V20l8RFfi-O3qe-A2%zRBi-73oEW(~VgZcU?eA>a0%= zS_GhYF6%^TikXsf6mfajwLx=_o!K-VKuP4NFE!vM@>JH^NtzmD+F~%|@+5CiwcuU! zKNjWHxsp4!FYM$PRpc!3DY*qe|MOtaFH}0A7yia(L(NmiCr4A@$t8 zqDJ%RdN>gpwb1b;OiCYaSs#Vi+Az9y%LIw@%7h(2pZQa}F9?Vn#OBR{DHtJ&q82N& zYwEPSnY3@9YP5D1STDKY-yX>pf~yBT>inoV>ky*V>oupA$7DcyfD^5|*#tIV;WX?i zJ5Q_LZU5*%mJR!|8*)7ll7>4t5l0c}PufL$hZs*I$(yG3eFzEjlX#23QM(`jLa4Mr z8q_R(3{T1iID*6ia<>nj%A9b&Tg7qhUzFoLY?B)ohjg$mj`;3#ZM+~L%fqAFL>EZf z&QX{k)Cw9yF;dh-I%PvR20?O7-K(HR=hPkmqlE_#IL* zi1o4>#9$^*a!tdxKrORa%tm;D^#^jIhRupVF{n8XBNog+gQn9JKl3heVd z40@(VdZbmI*UPi9Gov&esTO}ybQ9_$_EY^TLM-6!2`V3=Fkt=`G^Uu%8Xbr2SSykuq-!)F9^1y6C}U*{I}A|e+EWY z8NwE6d%0F0&#cVZkN&TV`=wa<;%lOZVPCHL^88Nb&cJOy(A$pz5M_%wfM5^(d%Fdw z>f-M-@EDUZ+z=2feUM24xB_PdpN$M>K#IIG{Jka_F&fNnsfh$XT+XBib1_x}(R|ni zX9Nv|D~8PkXQ+xWh36^J8~gsYc@gUn?a++AAiQo0A4s=}`2Se!-w;qV@=rRl%o`V< za!DiRO$3=l*Wo1#*mW%0XE7@B+ljHv@V6nR!T85RNYHN9eU~?mXb!_A8!v~c1s)Lj z6ZCcjNZQAyh)RY=KUm(|yAp9CF`SAG0xcFa0qBEvdjn~ZEBW*}CnfSLURjqEqKw9{ z8jtoKMYT#cSI%)W)?51yXI!42#e-GLY$Mbrdcx|g<2GRk5o?7kf#e`B`ixmSf7$&# zcn4f_lQRF_smVb^9H%rEF^$-{WnZyy>E1z_9r@3qxM!gSM>}^D1vc^jQTo6ReL{KC zRnAsX10`<#F(ChT>Wrq#ru1un<@(eac}N5Z?Dmu9UkP!mvWRDc2pZtFt;6?`d?nYw zsdFzfhOB!4)cF|`raL7#Qty-!zJ1e4Y}?46F(wHQCvcZ0@Qw;5pBL;$j%@nXHAmgU zE%t){9-WwozgLd>>0QOf7`pt~?6?0#G%6{`}DZ<(aC?%GowyP?x~FEAAst9J9Y{9j@Xnk21#^ z=Rx&%fo&vI^{14OnH3txg0Kn;!yi+esDwl)nyD8~@$Uw3-2@AR}5nHrHfQ!C^bLk&W& z;|*(=f@_b{D#;f7-ErY?`W$Bui|v*15Mje@T^~U66i=+PxOAuk`6i@{ln*ZHjSayc zt{q(`>%kW@+SRWWv{cnJ~whF)~Ht0z%6OG7Wy zXw5nTG=+MQCjNi4t8ff^u3|Q>)vs)dDXcJ1h81&NWW2o_is`M5Tjtkv>eaQMt(s)p zJ3Zvme0LPLbnV!(a#c|m0TW}ds@6zn^odabRVa7WJGzG4R92?Cjj5LFoD>ozM}QGv z<|XA1N)6|3Z{;=5iXwHdN|J>lx{dULl!r?YRk{xou`};~MtnAtz19Vdec-vLJ0Dtg zGGAlDtdtZDq@(l4pt#y2KNI?Wz_Bm$e^Mj&*phj_ohM?yua{p9>JD-pn-=CGdAV+L zBGxqn@+v;+5u1Z?3?fbfUCC2drw1%N#N!20oeSH6tSO*`zQal6a~dkR=As zVaH)f7Cw{cqpsElW%ENVw}(K$ADLZ7U30-UOGaO#f@%tRe1`M9u%!Q5=qx!u~>b{KkkKA8v%XAwq2qLV7;s zzpdztb~x_4O@xAyMnuvoqSExDb{a|G(Z zrjr*>DOGR`%Wj(4xNBU%Fiqtot|+>JdB5aa_z*-HF4|R`M=0qY-)sLpV}#U2Fu;Z9}!QgC}_{}?zh#y3vJUIrEu|rZ~CSR#5j^j<#e4i-E^#u zdb|fa+x*!9A01sROSNFaklOo1J*K>W*B|EM!;93HI4n^WxdW|Tu|=Q+o2N{>CiGsr ztT~OyeLN$o=OW;yO%~-3x#6~qyh;ZErI6Kwoxs6S6L2ZiZRU=(>_}Wu9+`~Y9&WVe>h2=^H=_eO4qK`~RFUV706O)~#izUhcwd&kiu;boyrz->nayTMX zlt;dHBnqzYJF3Hr*z@iRnORO$9f+4uq@i{p`oGKvb8p*hvG}^O*XcODC)6_mtn(d_ z{ZhRSQ{*7|^Y18C-%Q%u0ewZ(<`6{LAKyX^4#f+#+1_pGlecs-pZjW|FQ-N2g%1HK zAeKog!_eCjOj6xZBl3${^?qL6b}z$ohepXdDt&3rWJ~eOaC4F$7{W1VeCKs8)r$3Q z>tpP{o^lbEy$yrT^Jb^O3845dd}DtSSq_9D_RTCM@l?lNQVtP=zCk-lgF=A9de^or zP}IX5#eynj9B5mF$_zNgxfDn1IZ0)uQRjxZF0vLhp(Z+m*%!`mNde$_EmwC{-kp$cs3o zey^Jc2}e6E3vah5rItU$R8BjrdwS#-7xiwbS_FkZmLrlOT}ngWZU#e4#&TNPR5*_Q zv$KL_!;v-y&OUVY%m-`kHR^ZDhU?3K_Wt?Tv~h z4uz1J5=5=7Ufa`Xti1u!Fb>uJKHZ=qid-rKxMTU9fAMnk#G-w>MW;2#u8+*cSNI!v z1b*T*-W@&xO=RkdI+s zM=I-VR_c(S2uM|nK)@3p@C}PBoF^XkP69Vrmy0@XM~1zE$6PBvu#4R6%OD%!@@y|B zCsP!@5b@rjGzx03{Eei<`a!3f#8(2a;B};ldmUH<%uaC|#1mje4l2_fm|#L#Go~v# z)M=CgvyO({I5Ni#yRpJV7WaY^@*dg%ff=c|9AdB>^~_o*6Rn%CO#LeWP(+K??u~xc zBJUF}KP z5{MRULa?rLymUt%ndMy+wIXLcf&k7ji_l{mc$qU{gudF{KsC)~$qWexqYSMcGMLRF z=;OJ)k>DKmf+r#S+?)&mu%1Zvm?F^vq4LepiIXJ=WZ8V3(%!9EU4Q;d12YJ_F7>J$jPD;ZCaau5kgaAZLwRBpp=61mHPiOFTv>5N=hytmJK z`#DR^)})CW>{{0cG%X;V2JA~y1*$!WAQwF@)Z2ZtZsxLXXO;uj09Dl)YtM+cy0!aT zd16~H4%1l{x#~b3W2bDJo-+GPtWZQO%4&n?)!l&)I3Xv;R8U+n`-;7kzhh7<=J4wQ zgxc8{?Zu~37~gGY*>^Z^`fo)Ts?z~1|D8Lm2s6K8dUAOV@^;IE3$tY`8%1>CX=#j2 zaWJ6yp>R(y7E`xKV~Y+Gj-`2s*BrjeiK#3$r~;00+;5zsOcM(0+ztBc&U#&^rn z{)Z6Ma9dNmy2h;d$$CKk-2}NJ1O(k-AC5T4_<2}OTib_ zf-g-aQ>Ibd23}1Dl%X;gk5iHMbGN2<=@1`pKU*T%3fu6BaMrJAr#w0q8k?kc=-hKR zJNkX?`k2|G3$`RY5`N_NN6JDS%kP7DhPoaCC9FAe+6g{av6^-~xHYMp_VI1jA>cK=GRaKkjtmu7>wN`ERyydpMHX_+8`*r*~D`kt|q99s2tE|`;-KP6D<6P1)<|eNW(IT@R{&2FTmV553+6J0Absa(~<1=>FT zW`S8Vqyn=5X3r|~!2zvZW_aIBNc$c7G(< zFTFkh%ACzu#fHoaFTjuN;6@iX`jH!McEAlwUrzAGLPHeNrA%{+VMy67t&?2tv0rUs zD{klpwic)-);W&{p?4=bnR{w#7Ltbu$d&ZF*+p!R8oFu6qY6hoqOth`<3{0VT%SxZ zw5CA|9T5sb_P6p}U8#@JT9xW#NAdDVk5l#U%A+4;`iAPDtQOjI7nbDHSewtxW?YwqJJ6!aVFRt zTwzG`l|uH07C5Ru$M9Ybk*a3Y{+jHuvt!CC9p|~_LnNf96FDgGuZyGS-lUyxhdV^! z=`GDZ20VvfB;Eqy{jN$9yARO(J zP~hysMvH2PMFG9_O*tu`J{AJO`!? z-jd*-HTdIwvh4Rp(78uWaxH$K**!fGkRe5iSCVE2J2sPts5AvXcb95mS?4DQ4ljwQ4(pNY_-+;hgpP%n?#=;m zLls@z=_vZJdOcL12~JFKwZuRMsM`D$tUmI+cqTmIIkb6G_#6~5x`i2@4odCba^jn% zB=6uGu1tj-{E3nriKj9hE+RWadT*gk0GlhRH9kd^%}u2cdYI)X98e4HbRvrAV-PTA z&}FFHD?tBGVf9&820>8_Kq)P(Fsu4=p;Z2 zs`;W76FLT2wnOOsF*hK*UBV*iMOd7bCyl%n{arE!K&;OKzlWY^)sp>}ro_3K8jMCMziCfO-s)@8j?8 zV0oVqKA%1#Pey!~c&Uo|>YTD73c7v!u`?LYc-Pw6!r5WwD&`2VE}=YmZFl@)TZjLQ#gi zGX*IygHE}}8IITIMtkjm6kw3#t_46!OJkZaz^zeGKv3#P87moao9^-8ksw+!m8rn?+ zVY!wc2XW+x6`ysG??ij$Et}NM4&XMq9J(ENx;E)p52BI}bmg16tk;S%o`N%GlB*~x zAb#N~Y}y(%(*zsL=|=$+q1IrHYRF588gyi7{$}C3KB|81X*xcl8+{k z^W-tqO|-GDSPQ084EzbS9&vjCvvNe!RWVG}U-tx*YaTwQkyq&(4!JoqAR%R_x5w;H z1HED~Y7jCtTK9@HF2j3)>4(J4<>?&A4)C;v3fAfcFM358uqA&%GL<8=#6s`Vtv6Le zBl(Iw4lp&ZeRZCt^NvX< z>#SU;nqpt$s1D{$QR+R z+8HJS{}_YJzoxIEFT|rzCvW+#i?+$q9aZI$1cMseYB;J60nBT>qmtwEU-nD$WZdr0 zN(Gl61H1D~6v3kzFf0pBF7&HKT>~@;ft1>(HJ1ncJ)Tb{dXTLgbtl&+@0wJC3!swd zKa}Aj2C{~JajGU_F_R>j#<8-w(7U7B@JVm858t{31>b&BPLJK`wHgYW=nU{j8+Kiu z85&5VY5?&jEid}4od8%6ci<~6QcrScwaY9rU)Vorr(dod2K#g-E7O0u@-BXPi0yq1 zlD>ou`i@+2BjiCqlant-n$HZ$75tjC@~8Xy)vygxR{9EImDoWvPZ?w0;L}cxVv>7) z15d1HzGWW_Xe}5e!Yk^9qc5zt+_p@Xt*#}vtU((*6lgACy^)zp#pGrwlzL%&3npIB zaU95;F7US`po;Tn3>!1TZdfN)gR=JjAa?0%7RkETuiMXSf(o~BD!Ud+8{1TigwRqC z45-tx4HF+C;4^7@fS#|ICN&DlQ&YlSDvF=a`R`z1#8SjG!wTLBw?WuBAyL6e(Le+H zppV%^0y6nXfb-y0i5Jv1;f5 zldoUE$n9MvUtrGHGdmKx4Xm&YOhrMB%{{j>Z4lv))RFNs!%afi>3j&%dhdFc2%%zg zj)Ww^?;I@cqDW&q-C3?4^CT4Z>?WK4G#$5722n<;L{db@9*{WTKjl|+%AH4V{D*1` zi4i_OOo5u5}TSjXzw`fX-l9Dls5$4x`eP)KjT8RVWdfbijvJ zGk9ipdfX$N-GKcoB~>yDTfb?#eg@uS*ZsN%mO@vjwC6W=X>fZV1t{`!B_>pw8LrGg zc}&+pF4N8m=`nyZpum8#L^laI>=$b49v+pdX(__rfTLNwuy?%x)gUf1Kl67<^jaZ8 z6!j0J3MfMt&(+;|C}xrnwd+F8#=wflE-e!OwH_?q+CVI_0Sv@V!uf`gd(}#oMm~0e zF3WAL%1AynRI9C(~o5AW>QGC#>B1PECh16FU`Q}7cFDD5fHBwo<8-+jH9HPhV|dSE*O}c zkLf)aotgKwUxRCz32C_Se7#fEW2RVFVEb|mB`J|>qO502JTBE8NvM3D6#e~`-ANo@ z#RjlOb_Y#9AI2?t6-pyrcZj!Ilx9e$5wR@ml^}XWGD+H^6`ueRRI!yA!2|9(i#DVY zh?x9{BmPK!n)v-J&g}y*pn^R8H{m0oTE;RBd!O2iqu*5m|1te}yFJ zU*z5v@5omsdx7GnjFjka*!&P@tJf z=0&P%k}klMRdxmz;M&Jlif2#;49Lv$q&=P@&dz>5KS!r}SFJ^Z4WcK0E3Mn#mIMIk zAc=*tXYbJmu<*Bk!;J{J*?mnvHk+!vU~psKb0eBa1g)MVG=XnPc5ll--DQH@Y}>|w z|GA@RT_iX$Iv3zGBkGStNTaStj1aywO=pJ0aLmbdl8+3oR)swNFJt{Q45NIN&)8;9 z3$!s7k&qDsZNST%2M!{m5(fHzWCT@k5cvC{a~8~TCfbTUib&n5;rhj2Ep2=( z2HN|V0p1TQ%M%6Mh?wOkanCjA2=*U`0ED(~C@DV1yD5LfqK%Yk5ApdvF+0AGq<|u5 zoPh;MPi|+T574Yrg49xAeW}u5HI(uV^44?sgFIi;-{GynCdV=dBJZm0+ZZ~!BOe%) zPhdarqpZP_HlnuK{GesO<2gKxA5_VWb0-(lQ*=!ekA`OL3+24h<$m3zpdl(jdEx9I z6@z6Vw}i}X+RkscN;;|~0vy$E%nPUsVv}r)h03DZAzYn=$)X%4@rM%YO93+h9@-0U ztuCGz3bBkynDT2l1rCZ_gSw4M5*xNof#g*z)oZ9DS}nqADH+h?H)ArE2gRxDu^Aht z?s&4Ii**mlQ7S|kI$CIi<~kSeD-fxQ(8A^o9WiBKKDNPx z@_Oq*0SaNX5}Lo2&Z#hnJ($`lM91BUzP9#aD1ySq^4;sk16t%-|ofO5+~)Nk}c}qL)m_YlbIT>^j3Jd zh-;cJsZ>GyF#W0f2t1S--0Bbe^QqSo$LCm@}ceoyG`h#7)N!8vXy3x z9N;}`kGywsCt)o%>s^{a?0$f~IYHr%1x3Pv0^{fh-9O~;GQYBmS>_JEzB%aEHJ+F; zv{sg77o|?J85;(5$E)l1G`7H4C^4FzejqNc9N|K?8Gcur7XZj`u{8@mrB3wg)DdrW zX3k{(pIZUJTdWn5?my#@3Q&A)RwkcAnkx7okdM%_MjmSEcXTl$OUU2U<86RPB+*QY zoyeyLX^tqiV5JRA;0IX&rHTV~0HOcj#l?H+0+msdLxW65*IJ*Z6lyVBc#pW zS7x4w4yC&|7=+<4527tVd81FI6=ds@Us;C=^>DKFpNrA;m-AEPQzS3PorrT}zW5sZ zBo6c)s=mdeOpKvt(KKQ(4*NBkYsLx4cwCdt9{teW1i17+WGn+w@&{I)?D$GkzxA6P zl)oVm;OU#e^bP6L0r_Lr(2(bOZ|dK%V%f3DF_)W7*I|wc^u*P${&8;;AE!S(4tDNt zt6dgHzI|Z=iO-h{Feo+9P;PGF-yN)&|nf-@iVV8{fEM3QO*RoLO$D<2@Nx>->%elB&eUfzU%UuQ2 z4!dh1Ci4W1Y%hsYZ;0jkpD>qdVoZ#R%}RzpUHp%e0lb>45fv@G%gcZ^u5eu(VjsAo z*LDHSa{(TbrZAKyDdF9)0eriw-li-(a6RB$iC-OKU}UG(vIxSmr_t_14VeZARa1;@ zIbcmr@K(|2^^LKn_C##kteJYYK*G@XUr$sqm?F>Osb z-&9mI0h>M>5Nd*m0zDSSb4K3m<#vJ0#3P8Ltp^RD*@%{?DNplp00|nf*SS2~-BEzz zM?(iz=^w$65SwI1S3oby0t4!g2*0@*qIG9e0L`wf|6Ao$Xr|vRfl$kJo<-G>Dnms& z>!v-@=rvf7h@bV{GGN&>L3~Bq+XwvH^D=)~DezjWq^+5WUywQKa<31sFVa^9{@_mb z=_C>BXjlxd4G?Xghvp>S-ZCrIN+LQ$eNjlk1RH00zB+vh!zPw|50Mvsjor)bK|R;j`RM@n=w z8$^Pi>G;?vaut-{_<@9#GJk88xg&@o6#VDS{*@fH94g0?_Ido8pe-+$Td>s=su=RO z`6w0QRB?PaIIBjYDB1E_-UE_SOiyBeNgv1_R%F<`l|MC?3rC&W$=DMp2K7_54%~-I z(YljO$vHtMF!)zJMOV6(ky~w0ieL+d1#B#yjM--im=juV`kCp#oX@7$ANmr_!;$Z< z0=?`)0(9Vaq9*`nSDI41q0s*rRLa|6aSPmNv=oW&Hye6HDE?s}BK;3Sm4VCKDXc)i zTJN+29;c^fS2}?Lmth8XFUz|fqoRt{b_VX4 zp+fiNb zi=5v2xwIOYS^xLe#yB+|U=wI}7BtN)%cR;`%`vCSVAej=MopF_1Qw6gpHlUW#ZK?5uv$etu3rx=uM6C3Mx7?aAj|f6+#2M~52}P$(I< z?1sW^&Olfr`D;*PB^VRe!@{4I`_x(0qc9>!4gKu-FKcDGOKhq~ZYfms0v`hcMzA0s z3F`QvlLSx?`QHzeH|xxjGZ2P5t3F7&7X4Swn}zLu6J*krW|PA0t8p;0sWFqc7$@2w zNS{&<9!g_{!)9TjPJlt8#+iDE1CJ9q-*$|=trQHt+#pBy4wbQk`UAHaDg>TDfE0L0 zQd6T~fR9vWBTt;_rv-WI94@ACzG}|)<=-?@QTbt45NajA>Xi5lhO^q&q^}Dn0$P<0 zQ07b_+HYZrL3Y6ns~DHTN&@{ALLI&X8aC)NAKku7deePX6?-B+h<^qf@sL5-AIj6w z7wXpf`BGId0_W7*`9FQym!3e2#8DG7o{1u0Ug~A+uZy}kes{CE8Z>Dsfzw06e@rJ5 z6gL)hnM3UwArHz$PcBncq|HWS4IAay$#Vt1X{!Xv-OG@rB1K7 zc*pRu75En;W=#}kWNj-Ngf!z)Q_hoV+BXKpMgef7LeQis4mCV*|MPzr2kHg29b&wd z5kODmFdC?}U95t;zk+NQ4&lubHOctfy4z4E_?yLERUDE0*;w0FWOA&p>xCLX5(CGz zB6H)9I_?}UtTyy)docz4Cd7=XdFw-XXeOs30bH!H3-O>G-Xx!~yXytAfIj~ybH&2g zjNv9NQQ@xHEl%Pk>=(8NC+D?C8qnkGm-#T!p*1mik_^Dz+9#0O7HT&0%|j30HkRa# zSbuEACTkFS{=hFQPN(Zr*PtpSAbJp$BzOhm*Gqs+P0SiPBx12B=UAWr1Y#|EG=G-q z5;j{7Kq7D|e^!%J!HOPI72u()*>&KAz*+|+nUMOxDa`wVAPdxCcd^W+>7x&W_~Gt7(LI-PcMHf#_H&zTDd&* z20jP;7ikx$IkuKlD3SV|!|1ZF+GK9SDVZO|2?GjITtezPB>W~eOZnHcB#Ms9?7SF) zfDogTG|Cr1i1bhiMVT@J5@WSj*CI>;j*Lp5QD)R&jdJw%Nm+)s=B`Lvtri)$1H16Z z%xu#^r?Q|+9e2v@dEK^XX<_}tR9aP20qtv42(pLqO2e)J&UORSR_Dq}3fIyZEB1dr zfb%NR^Il4C3aCcHOj|U;w55na$?7Ra?Y(3Jp)gUU?E@)bF{g?OE*Yh^emfL%k=Lo` zP53hUK{3=Y^y?aQ0~K^SKz(E{)~i0_F0%B*;>HMDogLt6Omc#NN4h8`qR!0-Lgb) zS`K9Ko;yC@VrcgQ7P(2(_{2|N>;l*PqyA~{T_eE)+RS7Cf6S&x5+o|n`23$(RjLGL*fZO0Re7w>RUN; z&fQp79H-DE#>oe{^k4~CUg~*#KCnP8{swKx>bmL<)p>0BCkV=ub!a|@&3Wkb`SQG; z4hy`-_geZ015SJR52{x?ExqyXaf)d?0bzoCCi48c;r)cZ3cBs}AyP60g+GyNHl|MG_=Y+!_R+>uL>fdF>&m zjzz4ZE$$zw3Vva?4JRh&`s4c9vuOIM%OBiWR$}*Cuc2(CV|=ym7>ulG3JK&0n42D0 z-aK6-NxF%jB5!0z{<~*-ghGyf*68m$K9i}jnXIZ=ilzeTa*TN!+t|GadsiG@+KO;%fnrAr4}w zOW}Ybl)YzW1U%M0gGTG`LCdA}vM`jP&|K~`67fX&$9@wg z4c(n;GJtfsCMJ-FMmQDb!W+#P1|AhRCM|%A_N6JTxM(?Xh9lM)8ujLTeW@JZwA~RQ zxw>cqh4MiwOJrdV>#~|R$gb!z5O6Fscv?N$U@gvDUmy@5T76r&4<)qmLyI%mO73@? zBo;*PDLlq6FWvz=qU>7AWOlzGXMM9YH<;K%IoU9775)#LOc11JQ7H1ST(2BQK3l?=0 zBpLu3!X$LPh9rz&skmDU28B4|68;CJ^7wI^PLxoIc{0z0RjE;%Cy#xQutT8z88HkR zF3yovwX8{$GlIwNn!XANo&QiLr!@M?90K%O48hD?1ymAB30EEb9;STyX$#MiORV&M zAt!_rfmAZG8L!@5uq|O9wF-oBXj|mYzwiE#R=fco>Sq;hB1x*UDN)O}mZZyg!Ule4 zieFbf=&=K9m@;ww$Vlr-`O5DX7_51O6Xu?Ur^ampy&(GKNt2G~l4gRQuY5MuU(+BZ zEEF&FaTW}b7mTZT^tZ(c!A+*O1y^UbRr5Jyd;T!dBU|e0*?*cfau-(o&>75}ys+0o zJmdx^AwoEXlw8lX2|1t12^_%>s}ix&Ll|yDWSzFH_7jP1UYc+0WY(yB1p_u@y$<}h z&#^K9BgPSi4|9E+C4dY z4UNY2AF3O%hIrPY_P-JFiv%hFYal1+Rh|HpQhb(3s-Q>CEC*&Ef68Cgy;^M+ioKg` zB3jMmz#28y79h}3!wwhaD-l_SEKH{6U+YczqYEY4c3kyIIrrmC7fSv~gtOuECl7lc zma+wqs@tQSi56=30_27Uqjy=7bR$(}`*s}yCOxqp>hMrS*JXoOtB}vpqXMuC7~6fI zfjjCpcCw5TCMz&Yy4=sGWHI(2&NYQp;eK_*sv7agm0!|v&Abiw8`>xNQWLhR|0BY7 z2<2t3lV$JjBQRl!U#0ia@G6$NCm#ps_80_qJ{G6R{W`DONO2ik~G(t_B zZO^u?5~*3w2;>p z96WwUx@xO*LJy>%ooj_?NTwuyTSk=P3>ro~rHv305bPNp(_&%qF$r}ZFYX@yjK;mJ z;dk&^8#@x=Vu=T)Poxs&*L4j99Ij(5Fcr^Zklh)`k(~%f1;F@CV7W5;(Zs!kD-^eE zSODUOh#RYtpi&Z>B9xjFC@j8YOdeoUlvF#mTGX^?Qok1e>V$rJOL9_5uw7f10y#K> z`;!hygTEVOUDhs2`5HwJJs+p8NcZamGghW}5WQhMi?PXa?!}8;t+<-|hN3}!Rwsj# z*%BZwn`!YlS2%h8LKwDE5^{rZEo7I8dhg~gR8e-tn|ISL)C*sW?gb~Cx3z#mTQfX! z7b0PhY6YHw4QdNC333y*-^)1U=5Hpu)Injb2_ZID6RQb5;63flGr4*1&Gu17=nAAS zl|xlxke)X+#A|#&4TwlmyCkdr6Fn4qzXC8r@0g$p&>MDTTQ0F*FQbJ8AsB^@wqZwQ zDbP<|xW~#bdo+cYf%kiW9^#1x*V^=|7j(%yWzY3}hK-S^`7 zUWB|(E|dXLbk%Y>iMOD#hX@>tw*!!6t~$}#i&uc~V!`geA#h&IMPE{Xeow2e|3J|- zC+s9}@kF6xf;{Q%?@hmo8Q;3D$q{GEan*nR26Ka9RrX40d%`O*CYV~e8D7k^h~|6Vk6wLt@gr3a zRq{s~{|W)OK5l7l2dJX1ED`j>dH0^^HEyb}g*ARL=&yv_$?O@G37O;9EEXBpx^IA) zfvZXUR3eK_*ahaAZN=ijeGSC4&$!iW9W&%jbHCX@dQ76$>nbCClI#QvbInXLL8~?| zX_3SH9=*%g8KNNOtMOxj{76TSbq2T=?E+)nJ;~xj*U_yRFA$TfE;IZTBiauy+})A> z9sdVTP{FurMn9@_h5z2G3qKBo6wUtoA`Wbv#28)m_821J;Q#+*_e)AhACGNuAi?x8 zHfxx>mJS0f-_Y=f!l5HGrB=P6-^HJNMQaBs4O?!Jnu?u9ce{hkj?lU?Cfi${c`sES zpO5r(ng%GbEj)`6zR{k}m}_@D^inLXLlLcil60lLhj+gtHJ+3NE?xW5oG_LsnFw5` zQ7yH~i&vhMHGk6Xk(O;z3&&VvAHc^D4-1b9;>tN6+2V9et*Y9;XUwWHF%G zD^)&nO#m#@IV=!~iE7k4QrT2=orW!&qq5o}KPDJsFUDxU0YI?;-%#Y+n877Aq+Zpt=y)vu5V0INIUqEB zf2`P4mp?sLFw*qoZ+gb9t2ZrD3NmNsCghNXymEQg2$x}v!B3}kq&01b6>x1wYo6}w zY$X@C3RA5uaJwv$qE^+7HECL)O%oT}uXQ8I?w#xn>!5F(2Y$!E7kq#C2uu*z#qzRj zk`|rT-7-}NFD0fGVzPpJw!au8U2(i~`lCfJhj-VARuU=VP_Zcnz z7L2(lJ0mXco@xlMo+WZ({3~t(KqFpcro~+%p?k=k3_GLTo8ytaY{st{BVR^8jIs0O zCKr?Ncq+gDsJQD{E!7n@$e=Qv@X#xKXp{zMwVzKXbes4>cJ#>}@s9;x1)tF0(2RrR1LOk;Q5;r-|a6;x86IV)uk>nvx!`$Svx)WlogmjM)8fUW^QJecKS2$da^9vo!f zm=A^LpLMj^6^O)V*uRrww-9PgG;ncoh?o7sav5W_1#>SdP49p+D40aI7$iF%?gPkI zk77(3QiT)Ui#qlpA=~bb$42s12P3|_DAMc1{xfxB7;+I_>2Xi9Rj-wn(iwVQZ*UK8 zC?NQ1)Nfc6_5&rx5?6xae`Q0Iw%Xw3ho0 z?XHZ>N&XeP@asN^6c}yG6t0I~2QQJ)v`TKBWraF|Qnij{K?q?xkecY&!RQJ%0X^3c z48m{LXKT6(`c^%cN<;1j1~)N>wXa@XwL-g=94HJ;r>Zo=r_kP~15-1fZGcdE!X&8&JvUi;SBq4!d2G z&E#8x-Q+K>75@}vd^~iY_l(n&Bksk%v#iREVAsg5zU-u|>jr>^S2M4dL#ED|;?`L~ zCi`#E1B*rL?kiFuCRMWzSydt>s&&maT&V1VcP=$e_&K4kuo zL|qJ@>ew+E9?{~5PD=+9+Y*5^hr2(N!HA7iS52uxG|;~7H9y676fBK7*uMXZ{D^wL zRix$h*5LIufqu1UOE7MS3lusw8B+YSEx^p^;8f_Ee-8x(s4&R3r+ zDqoIy4jnLY^an%T{BZn7_TS}9W(zUl-UI~oQ2*L33Y+<)ES}tueMB1R$B?@XNL(W|p1Gy~rkTbyp)iCZ zCur@(3yXIM%e>PZdZ{3qzvGaFcL_;R`A8#V%}rX4VXh3XE`G%ufNfh^2}Mt1jV@4g zv_+q`_WQ@jIX8LW;}g;C9*K^jO>#eQN)7A-SDlD1x;g9F1EoCtv?m;vGm4Kz8085B zsRDogH*uQ05u3~pL0+U14I{N8q;>b&t&salA@IG)8hq$*_K!Q~o#et6AM0&m&c~Zf zr+h(WQYIZ~A`D*lrswPXgpAn&;J`AJN|;y! zWUx0KGI48EmKaf8O7oBHx4!VRE?5Y$pkIV+pqGTZsRT+#Dv0SLSBH^JY*wjHucaYc z9hH|bu9tI25Jjh05y06F&umg1chD*wH=YQD3$F!r8P432s0xh_S&+MsC5#?Q}l^P)i|7ap`YUpR9Q1vYxJ<1v9=GDlOOws+%YL z16V!GWDIKWgm@{Y2PYvnhUxXl#RBCYEy*&|ZTfuwe*^gTs_*dFS_mqBql*jvKBUs^ z-B6yQ2}{^t=WZ&^VJFv%z7X0`l{}>DXtcqLg8r7#8s0+MSGw>rA=sWcYlPvOXA_3hB56 zoI1&0Bo0IpY|7v@4W62D-^#KeUYb~je7;mU5{QaSyGfB2jtS)B>AR}e0hVHb+R@zw z%{>`{lZd`%73dM5!V#%-pjlOAk|s6^gSk9VrDO^2oBO6lOBYd4H2Cz+d zM7EMx+^6M!ahF~m;(a&Gkf$)a1j{@pJGjl#)@F*gtvSM~Nsi>!`+YZ8H2}`yCk~VQ zDy?ktRF0vfZ7!^Q9NE*8CpgZohk7tJUwolFjBc7uCX#|kxjXA92G?E*=gj$%aNOZf z<8_nB*V~8FJ+j*-1XU9T=5ZdSkOJ8WoCZWiszX0-aSstfeU|kV;Vb~H9|sruOOUFb zQyKD^dTehC@#u2$XN%by$K54W0`ZI<2grv4Xzqfx<|w69D(l^ZZ*UNLf^}i3r26NE z!vF4$CklR4ygG5_LrnrO-``q4K?uws#d>FJQ%IL2Or8S6AjV|j5K$nSGwOf1@>Ofa zChKJnN7{>He*DrCvUzvw7=?plqDhiSVz#@XJq(HXJb)a|u9xvr(G!lE{nUe9DAE-V z@vZT8-Bf5`1n}R|enC{wwa!t3%-GbV7u&&}D%m{>ox!znn^GBNJe6l*QT+lw`4tfx z&+D7+YNDAv}xDIk7suF1?zN7Kv7Mck>mPo-NgxBYd_;!?mJ0a7C>%K;(x3~E~@*=P=K6s zlqcp!X-mK>FX-*azxK1Eg+!1bjy$D#EihE>Urn7(>B(XbtR*MoEv75kh6<$u5CDUD z0JiEuB~N{6*Y`K>N!uH0KqP5VbWU=Iob7arj|>FvMS1gO1SpheIGFdHEW&-z0ffFb zG0JZmLoOj4W#8lo!GmI)BH6=g!Mz{soCrLMC>URwWawnyE^i^mi}H40>bTMB9Jeo8VD;? zWMNqe#4M^59qOYD?aM=@X($fKD!e^du{_%~nh@QH@fxA)CWK#0wnxB_Vt5sn6=8#U z4G>c`-yAh(DiCnv2=fR7Bu8Vqv-C5F5ckoPlaDMt0UoSiXAw$K)JBn#YHK@3P=io% zlFm+`p45o9-xiqQF8ewgEprrJUWhrzz9+O`jes-!Z4BC4JbSF_e9i0o9U(dhITaPW z2nr03BM_Y>1G9ZCNo8dqtY|?TN_Gws2}K@QeLJ)v1hm(BQL2LIJzlk2VJ+ucER~TX9BjrhfqC8p1Fic6q}~%@Nq3H z#!iNHy~nUvgMNoCih-AB1R1fFBt8fnQ4b0>lL-sdvtCLe(AuN6S?P+TCFqvk1Iu{l<94Cmn z{S4gqF{R`Otq9dSFGp3d)f7rT#5w}YD2P=w1*mO!DQqwR&Wx?tv!b)t!)fL94~mk7 zl};;C)D8OJv9^b+=0OeXRUR8o!ujZ@+ zJ;w?$Nk$*naA?Y5H~iyGMEcnv749wnzD0|T5w(9Gx`!VG??LmkxOF$fQjouy6~&@x z3pBZ}H|BlXbul*TyDRDV;8GS!wMg-p*#7BJj%0(_E#loud#9EVA547&5bVMO=y>_) z%j)J6hQRMO0qLgX7$yxYgiN_2b47hciAeA$MV7Oa1p+RfXDiJF#9>2&2($mlsy;VR z5?>^bIItrP1oPSst>9g%xt;+FtK|*{7ko}}pgCG6mv<^({+__R@&U`lEl|H6@m6M2 z@&$c*0rvIL1S>f^CSR7fxOvR@U~T?cJ<+~=+JX&8XB9~YFjnpR4rx)(`%Nm%9725p zC(Em-a{I?fHtzwn9reyrEL1VbMPN|F3=J09YD~7sbR8}xD}&opvLkRf!lj2$7JfHC zxsi2v`vgS_^z2I{JnE5ww#4NRL5>%TXJx^E3!raTM4F~y%hJUoCVMKm=9jSi+@y0f z;bJ7aJ?K$V2dCuX4@eTB`kIr}G9!5}nwr;4)N@s0U>y2JqTK;Y3xX{_NW1tF-oU9Z z@5&_jUR(;W7za2qnI78zZMiA#D5|=(g8Yfnm0eU2%o(yf1l3NV`#GT2R{V9z)_oSo zCLfb{`v!!I!rK9Im6je1QzBEFIY>%|12P%{yJ9d*DOxDmr9jZK^gW!-iz6Hvhtx}B z{Qa$*kUP7`N{uBzFX>G$Xi!LDV{-qVMZo9#_@R3)Qs=}3)p#|^^i6Kz4Zcc&!-7z2 zBUg1p>qpKA9<@lCVL3IB_FY1Kg-2O92lRS|bMG@k2)lzhPSi<9bpRABxmARE28{LY zl*umX6*9PP`F$r!WXsn(PsM4y{*IfX>*7nnrxOc6O$_R28qJ-Of2#IO7JXeCC3Pjp z_Kog6zV-Ppg>>Rr`6ik71H963SljLeiLJ9;A)IX+rvFKE*ZJyU!UcZUUR^BQp$^95}BZBZV24c1$4{Yc`MSM=p)7`oM}6 zgx?#IE0cQ127negfbnK>0}P&;uB*V9LA#?u1$S-=07kR@Z)?OIC4psRQcaYQnmYcu zs>GF=xhz=2FBm-UFqqQ_@oeJV5u)sM6R0CiKQ2kLL&J$v)$ zziBkX%4rURsgVb9jAJN!#;-zM@@*V985X+tTv|lmAJ;<12qetVdwbP#gIr#?&Ij1} z!{9J-64Yl)@ru}BvogqS0yBavI=rw%ZoQNZXUUC%>1LBw4bX}nNeGFFs#UNCKQCs8 zgt&rP`YPQ>$g!;W5Z30kF46Br%8p9n`ZqZV#J}qR1IEnD0ziv|s_nD-7D+_v`*sP4HeNSFv5bO(FUWu>s(~UM9an>>wct4kihpN&>!r7sT{? z<)q|wvJ^i&{HYg#L%&ko7ST5wAL_125`^OfJIh1u7W6WLp_hMfsT~u$x-bLhG|ruL6gPxG2x67a9pwOi=Dnzj!N|C?|@8@j7F6 z=7qTlZ(GTvNDRNT9Vq<~eQKL_h9@M(c+gUlxlTl;-%vOfR_~11MlkiT0YuKfTt13g zw_1kc^}R-sPc}GRJ2m7bq!p;=ekw#*5IJ(nmW4l>hNF$~TH}=5RNv`9TrZ61xC)pv z;|v*53C+Y9y)xtr`NugC&qAdpg$rV zNa0d`l+?9}{TtH+R}8TXxOcYk8+&>!{un58J4x+HYn=`ScX$!ODI}{p)V8*tn^Jfh z52oM4|5R!(^+{fs0d@OV!6ysjxgZv4OT)U1qYw{S4m-KBs}lnuRBxg`-cxFht8>)y zZJ1qf10a}qK^o}_1Gyh0q~J-I2LL=WQnx&wtQ90if z*T>Cy9y&HEwAe{p6)mJfMhpV!MCv>8V|YL>5@-JC>S$Wv4fB((utl9%^K#@0c0}?f zukVjceNKXdVHDbion1|Z)C+WNW zqre?ahj!fH59(^4#+aRzGncJqIttz2U2*P(?~wAW?xXt{JMY z?zvyT{^5XfFqBN4Gg9Z+b^&Ls9GkZLvwWU9lmmHX4LA)F?ZXsQUI{R#_29-e9L6F~bp1Unltj}D&1>V#ZNF&C6AxFGE$)EnU&j@|4N({ z%&9MfU_9kO-bKZDi5mSn4$GJ_!FdY!+&sYuu_f`VE9{StB3Lir_g^}$c1>Zo8cHjO zu%in$>8&G6J^os}&eND#Cz>v@Bt9_kCQ&w82wIfPhUG+8+62cv(5m__4H#Me0nail z3GuTMPON$M2y8itb|xHcTsZ?5@)wsIS{MNB)kXm8X#}}#=onb^C%vw;;Q&oQvcFIo zW5661SyZK7&zJ!`L*LgQm&&uQ!k!oz+zloJfX|&O9|&BzL=>GHWh*##Sca)vOpi-) zSAIMlxdh?#q0nc?a2V!dfc zd1M%CyN!FjMfXr_=#xFn(<5~0bUBCU-<~ua17B5>+kmDI&JQeniQCkPGx&-WLrgQ ztOm(J+I2$nnAngHc%f7_Cb^kN6*q@W^Hthk_P3YG(hfJmKbTBr`=>hv|K*iQ#s|Fy*FX&gc@&U8 zQ@xs^xNmrKRz9q0kOz)f#~4(>-fXK^G(B4NDkXNS=<0{9eM$$Q9%2%4`gJ9)g#`x- zyQ61T)(8l$v>HD%I7cwEeucTfQ84HrYpV7%KzoqjRaR=G4YTyUvdEp<^sYJDa(lQBm zw6s*R%U@!8s8~i)H4+&i+(F$lk=Z=+E^*TZp-Yka`8dVwXBjqXYIsyUPX%juP{C?< z%x27L>FGyxjN;krt>h4lF9~Q>D{~|^7$py^V{;}W$VBqzf3pv{hROUg0!`;f`%|`^ z7kR5*4J%BmXvxb%(ok80OpaQyt%i87WtOo-OKz0d8bbAWSth2~lhaMCQ5JTI!z*rNXd^MlvNc!f zvx`qh_swnjFXt4d=xP=IuM*XoW&77QA2!|5XsBB zwk8>1={|wuE`Q-?8u%Ih*6$J$IN10DoOM(N8%!~5Qykm2;HZ-1Bj=A3n_Gr42{61Z z8A7b44c%`xb1{5~T?VB7Z}x@LPz0Q*8TqXXqFU8c@Sj%+DjZj3#`AotRRP>h(Zkaa zcS+pk%mHhK;V}1w$KV<%K;~oo6uSIp8xp^Z|B3d+?+7GmI&Z#~jJ}N4|FX0zSk_~r zbbzJRi~|LDy(LTfs?gIHBK!6G`JV7P5U7he3ECwLFWpYU9|rBoT_wb=84po)_3Gv9 zgFQ||KQKh$PS#iw<-SSZ!2|5jlE90KnfPm2vB9?`1t;`S^u;FI^yYsGsSM{#tRMH0 z6P3n~8|3flq<~W~Bi)Xl=hu7Q*85T~Gi5+xIwZ9ex+vjsyz?kPT`+6Xs+!%xBAp9Z zfK#R*XMM{LEe;P&j`kG>-zREm!&Km;eRdK}svjv{gww$LYteGsxDg`xz7~QcQTQ5J zQ1>i{j9N%qKB#;>;|W%(QXTMVVjG#oV#7))rZ<_kX|uoOHbd#EwYTh_VrDe*bF_Li z+yW*L7%4nR?{5!{zi|v^TVngRgeEa5<9VBBM4$OAMlIIckuPl+ zS4Sr9eNr5%_pK@^Jzq%~yi0!&3BCv>b$E4^RF8`wn5PW>y$oiZtzaCg(@WPBOVtN8=Pf2_4#tn&vtP zK=?{~k?U+Zy2KYVHx}YN$VxJi_z}1_hXYuS{T|MRzEER^@z6nuPyK_7pC0=29-RoZ zXjz*?9woNvT?@bg0BiY9?g+#O+-tL9)HA1B?9Ce1j#P=MiyLPY-l4*{WwO2Z?Z6)i zH799wIF@!}NuQz0nJ zsGeTbfVX$<_;3hEcdj2hzdz)!%!uTZC%1vjs|-p@4T0}m#obIscJxmsER93962rBLYHakt@)aq z$Q!3LZf|Qnc+U)YYMpGAYJZ(pu$h|#(zy~4=Jg&1B@OSrLjwOP9Gn`{B&EBH>_o11 zFQd0;CposxjOWPm3k#<}vTt{^gp)uKNyT_q+w|94O|%SdX;Bqgp)cNS767IHOo=V% zn(-8j^rv%Z>5A$+ zv#sguyb|oea)~gB`O7gSL2^17a8Z|PRvw8$G;g#22V$^yC=FbL_t{dWUc}Vtb6@JD z_2lJX<=*N_%YOqMPCI5=APu^&CNf_$NRW|>gilJLB6Of$q=`b?(Mi;EOXHw1E-OpM z-}neVLWqPT=8bTsDVSUrU1tbcb)lQnvX5}by91={^1sG#oJ8AijB+ufuq98$%dCI+ zsiaJf#OfngBn6fVWo4eln7N?0KY6nf3Umzsr517ujz?)72zkxIW*;stZ(WZwB0V)m zqo7QmGmQ&V7WyFuPePWlkS(x8H3jkh@jEp)#sYb6{c&>*RLYtgkOT$fjA}g9=jcR- z<1GetF}nm9Nnl_1rCb_l<`dH?V~;p_0R(BkI7A3XWX@mTUz}6&JW0iwNwp`AOi+RhF0?$ycMU0`bz~Y*7!6cewkkp} zS?FL1ql^r~?+?~qg?-TQxFHTCJ_^n6IM-uwu<^zJ7n!18Ih@A^Vuo8Q=HmhH1Py?c ziYrc66+@tWYSdTxE+ew>x7jTH;_=z)!ahnL;w)d0k=67MN1H=qu9is95);fLl%Nu61QPd zNPRO#C&0mlb=Iby%G^xy$`b=ux_3Aba5gyBjK7hAgquZt)%3@C~Qq?4!u$bu2 z*x1i$1M4gQXDPl8E;?J?Q_;T3Tv5Wb=dBn8RfA3AZq{e_a(dFkW`PieNAW5JY<(H0C`v*kzSl`BxY%JrBjs@SYh8r(@L~^>XJD9)1ba1;f)vv^ z5;BHO%`Vvr%Mm|}=Qv4xG*s2&k1MK`D-wXW zUU~|9C)Mu;*gl<1N9VBPNg5gPJ|b-`Tp){dPp_pAxwo`T(@#PA$# zb$oX0a^vyTP*5ky@oQnEm@Aa4>_I71kcA+LoFm6!1rpf^MqGcE@^C9 z1yXPDqQR(ZO(T*}skWewfU2{hH5D(KJzE?ygs`7&yrx`T~VXa)@j1M`dGZcAlmaBN6qg zevIlH!wIP&BcU}HSp#$aPt(n@l^*@@E%3k7>R(A z`Rd1VItpF|`&Q;VGq_g>MZU3EwY;6KS{exc<(wM;+CKI~+>CRop>&5ZI1#HCq z?RX`9zxqZiW0Jp1Se|G)sv<|?*a07s>XxqVS@{ej_iC&+1WxqH>fIP<5B?Xd_Z!#x z>i!Tw&^G)rSxafy5Q(|eBoh`mdh#3KL3N~G1RhUN^A(B0R67IY2?^ed+Zh4Gq<-dF zf0Ny>BR7KM=`Tk@__PyaCSD=wdMs7HlLvVf3k6@L=(w+kh&VzgSuS-nBvQJBhk}Sr z<}w%#6N-H!=9UA<>CwA0a!|7X(N}Ep66UyodUQbR7)WXla1>1xI6RLLD?Wl z+oS9)Lcj@mEmDje$te=zaGc?Fj=6mc#e%hlsO5NdsY8d%wUKtkJ2iuV4=;YJm%#14 zEGP6fNZw-rKQCsYqex95`xUtOzE_E9P#CTFAmu7F=HGu@#7Z4>&?PF!Ky_ku{b&?^ z;P^TyFcR-MMTb2=;Eu`_iW9Wf4v1E)E-x<#Pg6+F_hhp?^Qv1w1xz&mI%$t zph+@Ie4=pX0Yyp8kIC5Lc!aZ5q$OE$whXAnISb8ONE%8K5kJ0}ccor4sju@9)VLg| z%}F?)WbY6Dza{G@t(Kdqj3)Q2I!do|^6qfMnHyjO)Ah^Ob%3B;=n0{>e}h_w-b6nX z>D4`eYsm@3*iHjF;^~5JR{vc_h z;u~-AXBGgu6AfnReFbU4kH*K`)O>TmMYrz~bGHSD+%8@G=~~Zxl-se9$lpV4#QdVZ znoX<3D>`D~1*llo%^?cC4ct5h_F)PGrxhb4nWR5mWA2DhK!?9kTKBnY^8hNu9VmCy zivPWn3*w?nMkE)2#(L~>iWEwzZxBIzh7l{}S!>6@Jc(8=-|#Q(lqRU7<|$VVm!0q0 zux=Oedi=i9waAA`Tf){I)g-s!6ClfVD3_YHxc-!p6ajz zzwIt{I^q2~Vywn%R!igHY8%uS9t#X(uEFQS@FNayXIRx?0?e+0yBWn7@1B_Aj3w0F zDpGdP!#89~KLkGq6A?*vPRL|Ku4kT2gWoIGc^S&DWpaY(ATpBI>(*%u$-u}qfoR}( zDSk|)3dWo2scU4nkp;+Y|N) zE+4-zFfs?D#5(Jh5XhQ7%j;kO(Qj^GqWUXdI;{YSuL2*Xwj`Q?jgmaS1HnY{+_LNo zi^Z6q)ts!WgE)Rx1q3!9c25tts?M{9%Q9OVjVb(qV-%1b zUC#eZ8BFVUWl4Q#|Km0iR^y=4Ayg#Ecp+yKS050%S{3q4OzB1WvUn05qM5kl3#H5^ zYU-Vmn;zYGsyACk(7TZQdI5`F@f9dbXRxUMG#z&NPrJ+J03Cs+^+m3xmyvqBND_FL z(nsyfUxe7AuIK(g*A}J^#sJ3{qZ(sra2i`Ng}%lJkfCkLYY>$)nL<)#(Yp@_ogmID zW$q9b78-iA+A7uJys_5CAKq7<=M0ZVZv8cdJTJS+_^D977M@xDy+i^s5%re=(vmcL z-3EX}l@4~O{S4-!py0uuQ7sbaRoOHL{7LMy~Uj&)=#tvcX1XfziRfv{0 zSxzr+`msUn7IhI|x#IfzA%k2kVhSMKI7#t~2g0@c(997!Jjw(OT>cL>f7mxolx6lU zo(dbIPv^wkt8t_Dvy!!?>@b2c)kyJBXss*7g{F=?tq0q$WhZkckU|p+p_Df3k_w7z z3+n}qNAb2S=kE~9CNAT(EB9|6wwfX{3*bR8u;OWka*7vd=?{@P+1K$z zdg{ek2Cw7(88Azt1+>?1GrV}bUp2hnBQII$N*OaWczkv$&Yu2m%E`A1JX$6_$<^Q4 zpI04fR|qg-&BC@*kmi+t6klY?L>r-8bSOoC;oGfV)SHk8^b&+kp;ClZ?;$pavXJm7 zTB;s(Lya3*E|DUWq#mgiAqKDrf$~*M#zyNtRHy7G@H`d3S5q!C@zelnhW!VP=n_kL z_tT(m+sVKtysQ*K97%8`tOMCx)Q|r|rO-9xaVz9oBUCrin2yL6EOBTM4T#@T`6Ncq z#2XWUQLMd9CM|8$Y}%0aHSadrh2mES?5L)>dRw^Va2$3cSF#>|9|4K%HL-(`&=)zju5Qb&+0w_8Mpef)p?;#Ai+G=u z2_K)WETb(%2eIN#S&69#v~6pE4#Z(KQg|*5F!#1?t?@aX9YK8wduYiFaTR>+(i14B(ax==z0U(p9Gqk zZM|oqqx9ZJubiixgRdqn;{HUo)EFjWZ&uKbxJ)*MReT=@~yev?B-#lEk4gtQVgljF6R{)?*ZY`5m_<`7XMLiqr5t4ak0 zwazVJ^~%IC(MJ7xfmr3rbKwY%yR6a4|8Mx(le4 zV+umIHGDg1bY1lg?fMi>OCFfyB6JR4> zm_C6pqk!u06z{^T=_#IV@mYQqa6Q^PQdoWv4bOVt54E!?Fad62>C1Jw5HGcpvq;&K z!aumOCy%7Yu-jHDt7{YwQpyr|nY!iEmkn6j>_rB!Fo)6)=uc4`H%TMh;CI6htq9ct z<*Qs!wHT0Tqfa8WIG3kJG@rTjT2^!fzQf|j(r+i2#T4Epv;v2*#6%WbiwoX(?kv=H zR^eNtWqmJ>s2()BsCg46qXZC1*xsHHrz@D1w7TnXr4c)i9*1jhDmSJKpM9uuk`-A> zmNCu0pwn*XUiabK8_$r|BV=G`Kl%z0Zd@q|j|~o(;#N+POc7&Q3mki#MD3M}&C|Zl zJT2?!_Z6SmBN+Cdk0w_MaU{-dY+Emz9XOH{fpbva>Uh#CigKRFuN(yu0H*5|SUC+n zgSA5lqZbUL*P%b#$DvBW7q{E%{Vzl?@ei4SX47er3gTOM)^JZg@}RDhTegA`)^Zz=m}C`T@D5mbTn3x4Oj7WASO zH-`5+uorxu(}h4Z_4KA7S`0;~<~k@brAdzdl?nU~;sJeTat^fIi#+ZAX>3ImYcrCu zCOO1NsKqg46U2uCfBqj1CLafz(>E4FB&+zQlV}g6zA1i{b|C`xc7M6vGfd#bDHto> zxnbBAsZ4my{@s6anM~c?;~Fxerw4^-p@j-WI|%B$f8>6SR-(h4f#+m*b|R&WVGC@! zzjZdj*@&>LA}9Sj2~w+LAcW*vuU!hwf8|N7kCk5c?IQoDFe43chcZ=jAcK>Es#@j*D;js@JfaP3^YC?;v(ll=0n4B8mV1HPqR@_{yUv zaCMIqfN-=HT%~P9nJz}-x+p8=QT_Ax44YruaHxty8uBP{jO-q1X1KA+NF9lQ?;U}H z4FPCW_zthl2&0p^_InG%(Fx8Q8meaV{R2^XG`|wX3C*a^Omu*0n&A@LEo4gM7`CEJ z06ZTYH(I8vn9Af2Yv{eG9skSN&uu$ z>L5KOCtAFhC)6aU8*FR&1qBlCYZl56`8mQ2#2e+7ly9ACM(@vr_FmJ-+vhlQHUf=r z7*r8nqAr;>Fw)q%|77$gN{?LxTj$7RAVOm{D<|N{2=+hS@C7gQt~V{j`>1ge!pn}f zL4pf7o4RQ9cNpHPs$}bIdQgHZUUywZFXOG%K;8ytme_hS(9{HE=?$7qJMtu*H{y>t zmI3H9t1M@YIst64!U!G8Y)7%4r3Z*6F(#{UnIL0-vrMa;aC5KCpCz%Vg=FZAVWA$8 z3MjIW+Kpm(A3|k4;3smu7Zk%tf91yd2BA3aQ>RORI}SHTx3xE$jx*A^>)0ZV0eO^_ z5)-|Ll*V&J`r$}K=?y5-GFM?kpn-td<2?PBs+#FbN0Td42?(&33Zp!q5)9A5TP4dG z93XiT+`SylbqtvQ<}xoNJKG4`+=#lzWDzl$6jBp{FaEvuYx4`*7C+nU^Dx0DrKhyx z3H$t_wgc4+=Cg&sv=C8)D`qblbLRe@m`+G5ee8?)kN4fmUMUN@yDNyO2{MWH&x5J9 zR5P3Z0G=Zk3x=LriT(`J+Zf|EP+>*W0$+sxY&As$Vvm?Tgvz|x|KBEWzV(@*DJ3!G ztJmbI7Ep)#3SV79*dxGXD`F%;?o}eBqI~`aR~Y8w*sriXM)Xr&BHm`O-1{>*t@;bx z>iX`JjhT@VNehydFfi!En<~C`t+tPB%ZQ#FFC1X!Jprq5eGc1ODk6!9{54kWAIvR- z9pKH39-Sh5{pzT)#dmh>TONt@q6o-;c2I*}rx&uX%f2-w*~~h*cvCalhUjhdn<-zh zaS*(Pu3E4;Z)EEYcEnG$6U98LMCJd@SvPX%nPhAj^c}^%{%m02)*8cCe{FQ%3?0PW zplsf+yfTXx+TsJvX(4|yZhw6RyuO;Coo`?*FOIQ#kHvpd;;&mca@S^I$ouub2o!$}nC zosHKd%}4?0nk`yz(LK%o01*vndTwnJkM66D^Q6JBF&$Oa;73!_A)6)+xPU(jp+}a~7hT%`E~Us&bNd>mv{wjy;9b`BtJw=FJcqd-IgazI|wn zcQ=XWVye`V_##2#q%C!E)^8p&&ISQYu`ao3dO}D+F!F<#2GLy`Fa%S_esLc64RI*g zdAF0#=O`7@p+;ai3&J}2yd=9v^_=iIvc5Wv(+HV-!4Lso z0v*cMgop@~f|TRcZM|$%43@~HTp}*KKpDxof4y^)ok<^n&OiEu(!&=Y=^`iGzb?@` z!~YIh!xao;d9_9CsPh3isTA6lH(@2?tgH5Ek-Hs@<9qlNg}-^_#X+ zN&P+7Vn+%9v%L(8J?BlOWfSk&=aWqTfy*b9v$Oya!?5OEBZ?3Ssi|k+|0-C{!4{={ zG$Zz^fQ^LR441PaT-sbC*-B1{N@+|{&t}=@n-@TFc7jPun#$@fu`g3V(i%%*yH?3& zIp+)nJ)BOr6Cuf8FFrE!+}y=ntF#wn#@VZj3rxnjDfDTb6y~gO{s-{#F;2MglfgM0 zM=s(;ygRS@X(o6plv+SCL(W9>Lg?7`Oa>6SXim>ndad25whr# zsCSX-Jx|%6a>Y5uT^|*p^w3q40BvxU{nqDka9BOSwg!;}#{jAl`h+jSpes?RT0+>dU)y28@@C5N!N}=j>mHR$}AAaf} zR>fi2j9`~!wF1=$E~~uA&HM>eXtw@}?>7JGhJ659tZxmD(t{3v6j@ z@Cn|BXbe`U4{u|$3d((g^GJBFWM%w_qD2bBn_VWBl_{9 zc=C9b(~8uPqgD}j`v6Dm`91F^gO-DE7x-ckQ0;Ez=Zrh(>QPQkx$I}ZoC3gDAw>XrL@Y`TT!(NWtv{{^Z;Dvf%OPh$ zI75rbC4j9tr;GiApmK_2ark{qv;*1q#fa3k9` zU;YY%5HLp4#(4SxOl2HYIv$<|Ifj`elmZDStSFOXQ}1vs5*8x&_O!9U6g=h9>nNNY znLZ&TfFSWC6jAXbf8qz&Zd(|bQW65u{&f-O?h8U4hJo3ReM5eEAfCK=T#1O=`H_o3 z(EV@F`>%#R0vHD(U(6%!k)V*w8)!H^ah^9KV9u4k9e%iJ^J20VK^tzJW$IX$ts@EB zf{chs6)T26Q|iyZvVmF!7~Xz)Ffhy8o@|>uwRGC z;S9l3Dl7a%xN);il%o!IyTU|KK~Ul&hemMU1sxNyQ}ITD|GE~r< zcbps8UVb}k=uNJAe)roUJTU)?z{kkv&|#y6uMJMstF*6;mz6j$wjhsfD=S% zNBiM>?=0w(ub5dff@|!ZbvuX)8i9(w(JjMy3lN6(C2gPb%CB}o=PGoqRq}wmRNp=vs53MX;tr_VMmjlfEwC*$d7@F$>_SZX zAI$c@AH+jUKCP+Nz%1W|kWMUUb}9Z*bi-^|A%bM2^A&!JPmli}_4G7bZX^)syv*L~ z+wBOJcaW*-wSrV9)59HaH-kq*N+Xvx@eaq(kb0hcH2fI+tU;0WLxTY4=DRqUK_@_P z!5^)Z@e;|pXeR~u!F|EF&Lx(H3F>Z%Tq_lCX*CH%K}26V9Tv!jtkwBWnjF^S)*0_7 zYFLfQsz>u}S1qE<9o+-YwjDx575Ka%EuL1p{JFIgU;fflTr}4Yjt`wHgKf1PAQ6?C zea|Y1j({`lu5E~*5A}&aR`-kC3TQaW<~obIdjq<%sHFAO-tNG;2_c#3#SaXFV0;AA zv39BT?=6PAc?#_`JGme_fHWX`w(615oZm5AcxaZcqowq`d9zKhl@T44t8Cg56SPKh zZ^c1Yj(Cz(Ch=-08=+>_Hxnt=;tSAg()(^446GMIy6)cGa3)-ct6#V=sO=cb9eSw20V^V(80#pI$Lh__6c=(7I)&6P+p0Fj?cNz z!2w6U*cUBoiSZ>_Tj=UNTMumxq;aF2LT9aa^6OQqhpZ$q)dXug^}p`WJs++W5dtOe z56+0a*j$vF{7C;V?PIjF!~tA*a9L1RKB!I+NJ*f%j;raxR`?jh%Qh%V-?;9ShX zW};QM(cc;1Iyiy%_^46#*W;t%NgcD*C{mn$7ew1rlsGIlWCI#5?da#2g$^tJd8c2g z;}&qzpcd&I&1}8n$@jRN+I{8yLU4R?L(o#Sclta~Qw^|T`Gja|9Wgs(qU^5&R)Y$& zg2vUIuY!8Z+MMRwX$h*~G7Cyh)3!o^@`=B^zXIJHnbIZ_*4wI+Q6l$xqz3$uVo2Yd zw|9_xmyfPkDs^5YMd?aGAy9;hJUUQ4{V6e~vU2}#ruXppeSR_!c@Nc~4;x5Tu;3yv^`OJ34JQ;g1p#U_Btin`VYgB@o3z^g$?xxfYm zqRx1{mXQ9CGoh*569LC-O))xDhc90(iHP9H6=HQMd3m1AV=li0w)c!zC$)N!Q04rv z(GB{H%GCmYN~rQ_jITEky&yj9BZrN?Owb+-o!9^ zLcQ$9s4B|KcoKa?$p(QHZBx;ZS!e(KbYy@nH9#mGB=P$UoE9=kL6(^~&e+Qr&;wR} zp^a84qDEV^|4+I1v!`CcAp}0PR@Ur-SAIV3mYk%brxhFZR8zhM`YhA)rG z+)S-Ik^7Np1Oa|3$FV}I?exq@L=tXh2`>jYtRM^=x5!wVZv*bZ8#5nZK-%CV{&BB0 z?i!LUEOZOX<{+S4es0E9_{w`d-T$c>xdb{3Xa(nyhdH z!6nt(j@>~;s6z2L-Q6ZiZ+F_(A|8#yv%wD9Hkgl_K(X&AA0m6;=pu4Bf=l<4AZ?k6 zb_TyyC`g(IGD>`S4H*wa)E*z?;BDyK0|K-|C<Fh? zXmG2b#8cL;AU!>(LSe~c-nd$83S8ystu2<;%kWblfH&QRW&Z!`A=a7e%y^ug^Bc)Q zmAM3Q?iJuLfIOq>WMJl6gahAd^z>crzApCa1M`?xw@?PJE+07Y>(vrNM`?u=GkN8e zZj6OaK(jrCLD9QHsny;J%Pkc%uM@F#m1{Us#3Hn#^4f0;=6{9DD%-GyL|9I=kO{<$ zB$ESp%iUYr@&UH>#4T$g!s@gk5{>HiN+Kh%bQV?~PoIQ!>&f&>)5!gdVfxTL)+ZRn zdEu*hwTk>Z@d4l8@37qs)dH$&0PE`C=^I~=?nbz*S{G)UN`?LW&k_af+`<<8-^HWu zZ~jdho*OSQH7_H8ih_)0A6~trtpgV{c9{;8&^_b8eo0u2adhLFn>F?|`O~)o!BMFF zPY|8o{E|f!LXeS^O{H3=%&~GwGerccw)ad5f))9?cqrG@Iin-j@;sO6TGd==8;_@8 z%^CgT+u0F4Yzr$~MGNQeWv!F^fJsElAgCkp6@U|`aSX2^tvaQWSxcorGU06|5gp~vBKC(|hGHkmwZbd^g;LdV>hF?)S+a+bboV}#SPteJTI7M~h@PXL#5;;GO&KsS&jsY&RwIS$u_>>fV%lR?s4Ec@7a(lyI3G={g9gmhKV2Aa1f4my z!Ry~aRdRj!k1+PKET%^Inw|8?yc6R}4wkll+02VxEWTze-GWhkty_J}QkqeDyfw5_^xw@G_`?egcvZ+~X7R~oSOQ=Op*g`Xq7R0~6V)F)gN7%W zxRB~i$Pd^I-A|T{t{(P9b$SS0^-6d-E8R()Fg7TyTr}PIT&rv>hu4b3^(>y-M*CLT z_`mSGbKZBeq#tpWpy_GR!%phP)&h_Bb_PFDP;CBG?|5PPPq1=fR?>zURUekprjH}d zG=;W@$ph^rrzijR7rH_rO52_5Sv_`K_6V-JCv?4d3 zk{$Rh`e(&IwVKFQOb%kN^I-lLhpV_8z{dQc4lpK3eR|a&+i53hMHKpEMWySEWC!=@ zYE7kWW>vponk2BDB{o{FwXdQ{nF}+x9|G_+_M0~{6Y4=bVOnR?BN@}fztxS`RyD)y z1jVi8RrfB?@d$s0UT4G--BhO^uPD1CLp4qn_3zw=kl_iK@jH?uztOB?bx#E@$Ck== zoDtQ-UI9;?a}1sGST2tKpjxT zSY-c1HP?12wfSzfWl6H91~A0IB+!5cWE05Wv8f;`&VCT4qjL_xD*3~45*l(mb{8r# z%1BCP3H0T>M+=vihoUy%(mH;OR_Gn++H$^r(+oE6t`O;)B2-}k6%LnJfoz)9uo}&S zzf`>5GEuh#kWrWWrQa=&Y$P2Lo2Y!1F$@191X$|1d|_bpoCQ;Z5Y}r&|h*1^TFR=paQg zLMj<{{BTt<(99%c4DZri+B$pk_F$LZ+%*I6rzv00*8ZQbJN@!-|Jn`T6lsSuarYYn z8-6$7&-ebsdv~Gi66H$RxWsS%Eexc{d4Mn5fuQy_ z)enTwo4J0H$f_3fB{*Mon35&Ii5!LNjdHPP-OOz^TFK1$FHEsVqL{calBt^|F-81` zaVTCay+67?RvZ-Xx_ROSOHg#n(ri-M@cIEuXUduT{vn3S9{Giv^>>;zM9Jb>Ubd+8 zYw|clYby2%6*v2MC?f8D7_v;|F@g1F)Qa+77f?Zi-4DObFidT9clVJsIWJ!CJ*BN) zLyfCvt+UpEBS zOuY1Epu257KgDnJpZpB8GPmmphq8e6boKR z7&Cqy)e&G{7xNHd9OYl|=RqmN_pJqG5Su1t`Y*Mib(ZILaGsi(`LWk__WI2s@Oq!8 z3G;c)2!J`d0RrYT3L7v;zv53J#kR=2$x{zR7JNw573UZ{S6NM-(H?3eNM~Z_xl$IV zM=2bFOTd2Yc{qe$pvIG0c~Y5r0|Ph*pJcIq^h7-oI)4~Rx|qodhbxN+K?4>m>dy}u zQ3?dZXfyHwu@K$LHtNXTdV00HXj4x_*)(0D(@%Jq{~T@4gscP_P-WcRV%gh@Wf>%o z9^CZzG9!cRi^%3%)+VuGA@MQv45cY#52HOQ^PD>dfbfoT<`oVo57L}D$}L=KCRX_P zcy#&6!Hn>G>m?;( zL!{V^=r*d=Cj1kJ<^QA`UDq%0EdWEN8|AnQ-k3gZgO1U>8q$Q~sw0YlGgj4sdgwV8 z-zS298pX@w>3kF3eUXcY1CXEH-u5FjE8l4yL1nN#-5$q+#1KcXz4=pVcWMlk4fS>wP2`Sgbqbo-8zS`sBm&hn-quV?BxdGZr^+d-CZE?m;Xx$N`0(N4TUu90IEu z-`6T`0l=IqxF~(VKnhp`v--SZ$)59hU!1=N_BN4DqxbYcb?kD(^|+S9pE zAp_&v$Ny707wKC2LE-)}12;ZKkXrW$C&eSCg5#W#?jx5njPDi+I#`-DW|%E#Nu`Xv z*!3p4O2ubBi4K`aaU3l1Hc$bfR?J=P=gc*gI2hr5fO&{6#6TfWTD3D>H7|A$@BK8A zY8PaC8qd;07MU7?6v05)7dRerB(+6vISJcL!4kQ;jvs!ghtfN}MKD~ix@va0jJGuQ z-?cbtGYiryH-wM*YB!?Md|ZlVrhk9^q`_de8JkR1L6f+GpDGNA5bP7m@7N?HDN3la z&F5xZFOdRmClF0O2i!HY5>)@LBdLavB zqU`?UxgT2+oA3W?;dtC~2trVl`Xf2x@MnCZau*usG2Q>T4$f!)$;#AVZvioky#)!e zZy3pQU%MC(QwrMYc){^80*$X2rdfK3g-PcCM?kp0A_J4$G41Q(akW>k3alpi-ca-o z;iE&`7pQq1&YjL9ty0W`bg>~Wr*ZmOo|L<#MNYDFLii3np%uO17%-Z*)@ zv!?zSM2cg;J=?I1qp^R#1%o3(;lE%;C7R%XI&5fQb{yq%PPnn$qYvvdU5|j>b0QF( zOYs~C`Bm*XjzfpX08{VwA{$JoR@nR*`Yg_NcXJGn#@!J9cEE-cpxXE?j=BlBAS;w~ ziIwD~y<%Zy695Sn`*IA>{>T1$i>=|;nvf;q-ki^}kOV%tq_AH6Fmo0@(m(6iWjN3g zea1D?M4=Shv?7c{Yj}~5UpsMw!51ft2VM4<2LsLNis5{jfkz+mS`3H%g)Wb>aPNB`s}doypC_(d{|D_rz`Hl^+D)u4o0tnfInbAMQiN>1IM- zes+fIPo9I%+`mg+M}QgusLNsV_B+Yqky9T_rP-h9P{ydu=A(FDh_DsKb1Vv>>q83R z63YWuJkWd{WvOKQpje3dVf3gD@$a@wI3Oj~s`YH!ukVKorr|G2SyiKI{9TDhM?_k4 z=9(5_(r6eJU#8iLa{t3!6j;N};k==Z%2MYB?sNeRrie_};jaWv*pT(<=-#<(PbgX> zwxWdudH!*x4K^rUbO2L1^-}=egP?FY?03ArS!ulas=<~43njH~cC?7^URFC^Bzh+G z9ylWCz1=+sKxqyq6>T7NsW9}I&4p)S8pOk5tEDd4J_@#EHEkTFO9PKe&txk8t6_3hPCY81ACc4TAO-Vw;yO2&>>}X7(Xo{eqPUgIH6sLUO3uaYXNN zn;ym5E1*EeOj+}&Vm&NUx%V3|-mmT)bt~}-UoRGMsh3F5bHLWHYWj7$p>Y5>9ykj< zp0#8Uh{xRcG%tT(V7OPdob zXyqBhTKKBDHvtrcCC()(5_%c5PHh%@r;#PaYO1b(i2ZDmpA1!&Lqm==eJ2^X%~Brc z4^OLgC+tJ_f8}{$S@7yB?fvY*5Q&PS!7c}BeA*|L{Cge9WnDfF{A!M4YX>QTdZ#g3 zBu!_+LrLzYa%ggAB<=q0q6d>hVkATL|DhF zV+j|<9xwkLaDP@sZuSt<)Wo0#a#OjIl^b$)fT?9 zq3j88e@$_ND~ObhodF>Gx)=yzQ&-7TX0Q||0?#vV*sw@)r{6zEMq28)dc_P-cy-z~ z=-yfmPGJZH#>R67YcynJdu}Y`6-BIl>*ECGx(Myc8+&R)_u?Ew!vb6k9oO1TbY)d6may-se5vi&?s z=a5$ytL#{CbP=J)qqmgODOMI_+_`Dq`HFKE^D@ave|EGCfxYnqRsk_2k@1Fn!w4(h z5^_4x7V(49!@p2BL_9(saE;CnrEy1>i>Bf?w~qii(apYN8O;73)80cVl6Rhd2XoOM z1pCp96lMUZM4JqZyTO_o`uJCRHSlY}?W~tn=M3IxUStf_N4~$EKzZoY8^jtUlFe*OATJ8P0SD6vGVpT%xmeTd0TL0Xl|(|MLLnI6@_2Cm zFTVv#`KTI|ZmnrQ27nk3b9$Q{&vp7gM7+t^XOsnvR>2&=X+g4Q#%?O-x?c#)jLWWZ zhYD&k!KGfgS7>w#th*g`MRoLxWAxBY#wc?-u9oc4pUwG1aS*($+p%KwRAKL*M^vXG6ZI_D+*R zP=0$}j6w?Zmfu_GBWp?VXso?0d->himW=;;n$`&mYV34)MvoB}wHfuxvzsO0TIQ8d z5kzi@B$H;_2A*!@+Hy4(m_Y!{D|7ko+?>+pKid-53L(mu$0VT$hlUD4bX28UPz5J) z9R82Vuj{d6m%#=iCzjPgmBG2~@7!XW*Qv2qs9OhhR(`947HufdJm&5;|DX$+?*mUI zPFt*tRlG@!`v44gdZ5rl1Ropz`pRFjIF|9zdVLq~f zb@<^+u9Q$ETaJJr)IB5+9kOi-frJ~if9RGbyAmi*Qha_EAQ9%@6A252Gt1*3H%eo1 zC|L!btUMV`;l`*MqB9)LOrJnD^F%wZb71#3AzEylMxPPr%Sj9u)O|4f%eUZgLk^h~ ztQtV!y%qqS63-N8O&S%I;xOB}bv5svbHtl3d=%!`yGY~JQ)8+t$~rN5A88qT+g;=@ z843k2Ht}G*5bKD}l+}Uq_rPxlOr;A57=tQ%r%K3}{qzGq5nemFdze1rf_w-7UJIk| zE+;`HeKiefw}SBd6^5X@>c= zNr?m+5&CD9nXX}`DzTop&4?SghwdgTUW2QbU^F;KJL;s4kxQg+P;o_5PevDbYNjF3 zdXIQP$UmXGI^wnL*vm%<6z|_Wet{P`<+fwp9)WMKNlF*;dfsj} zrf}E^5428(F(33es&VTmMqzAKQ9}8|YJhRqd3)92f^MED1;M_*5D zOh15f{nEfq2kwCS!9a4F!`Tdkphk`LMLSb}F4$haXAwr}(4A*=xdHl0{4a)OU|%Os z32{Mcw|BcBAXOOVoXq!#bEggLP?Mq2iq6OO|~D< zK0*vGPJj$1B*!q-IW9UTP&4$6kei?oHDH-RpB7^rqxa*YzMHoi7o7Fyg2vQn zR5QHtE|N{wqv9^8gP7+yqfOc|6XII76h#_6jyze0{Dl{nQyvL_@<1vcMgA}OTKZU% zo_S^P6z!8JrmE66&jX@VjIFM58H^KR8#l3$6fp;5*wZ)rlz<_sLe000N)dF``EFp% zh=C;aXK#bM*pqgixL#dQ#Sf{eJUF^JhI_{MZVObS2Ye>HOd4&0(=3GNO+#meB=*HM zrMYp|#6m9w%0KLW|MU&E2y~Ghles!5qzT#^(Zsbav}_p3H6zM?N(YxApSKPT!5GB|CYDe2O4)tC<762!rf8CRM#Ey_J_lW=kOUGI_CM$p$MVX>iM!@? zdena0HWKs--SMD+fdGEm)#oWaw3~&rRWK|APWW(aY3!!2MKrX+1<2_3O1y83IVLLY z_X{$8xCzBvZgWFVuQ&L4BQc|!vHPOd?EpW+ka8AkVsfPQGHXWE+8T$fUl8GxS*PS) z(I0d3V%|M)yb37SiNNQ{U_y`y4W)*%bQ0UWnUQ;HrQ5CQXo+;$i;xSycCnoj)Fj0c z!uQFf`+D7Jppud{&N;6J0<5O4umK)=Puw8`0!auZ_YV!d+L=wTNl6?%+tOm|o1+-D zx34N>BO8veew&GlDB^xfiYuwZNo;0a+)|{yoh>>al&u$-$QdFlXIWLdl_ZhF#mwnh zK|92$3kmSuBn{r1%S#3NI*$3U18oe%F)}G20fK57&tSz(U_d#BF}biaz}N-~xn0@j zzE5?$AVgG+0Egy;Z!Qd+!TIlVeMFM{M^7BxnIM;GLCbg|yS?n$UMt9|Bm=K6=dBKg zkCy^&fCL8EGgw=JXtIpI`j6~_1(}k^lW)WhqUr?N+IqIToJBic(LVG#!od6 zdlBCEX$1Mb-Nf)`Yq+NaaEL04dx6y(Uu=(@M@Bo8ATh{h5ok8F=Qi%JJ}5PTv3e_(S7ABp0NZ%SBu#=7 zWFw6Zh~fr!!jm}AFID~qMLV`o|(8?JymE`_Kfm$Vkle@TsaB++vJzb!Q)o3oK8M&RU zZ=0Wtu)+gw)0-(?7_U937s}lcGGKFeTUjeHLbQm_t9N3sGClG-V7oG%0(RUt#UW=%qwoj<}Qk1Oa&T*6GyeIE*Z`SiQLtPpslbAi0 zjA3mrtgz}&Ki0I2x0nAV0J-Ac@e1*o!Ivf-l=SOPemNzK?7;+Phdi_m(#wB296gUH zg$}&T#P%g!H)sJNQ6WD~H@$*iIE-J!<2He@f`^RFKmEItlPCg)MuWXt)Y|t2Celp; zdT`y10Lq(K>{VsJntoC-^kQJhQGGNT z_Hvi*K@*uosYY8yYC0N2s0Tj-Sz}lDtr@shL5_Tlq^E^jwha`I_ zf1w##j?Lv_0s-3%-UUB=25_zfwCWhr`mumHpI#ZDV0sh$2cwpZ0eY-~p{Na#tNJ{wRcx zYkZBQ&2oi_v+gw|?9t0k`Rx6^x*$!ISMMjosvioqH@5c_PcygUgs&#Bmx}z^Mrp@l zbm`K~)iMD)W4-9vA?LD3GwhND^S9p5lHqbQ)sH)_z6AG2&4v%hXS%99hm2^oze#MO zqHgLLRXAZ<$Nez@9)%Q?9K;@4=l+E^8j;y6n%uo+Qv^}9sY8!RtA>Y|`mQ#tSm!S0 zT?g>?gFIZrTMB;*&(8q}6z_C!V3gNlT7Eo=>qsNMZOzfu0Qg>K8D1e#nJjb5u|OhD z31s}9W=ET*Pj>`mFrdl(Cpl#G?plHOiAZ^AGI_6S7^izc)SZJ*o#_u&n+pF2fWr8% zZ3&ZY<*pkINr5>3Huyt+00>>I^#Cco$ZjSQWLAd#E#NZv#ih=uD<-w*usNzH9VmB4 zYDOg71!2TM@c9Yas)0j`#aY^!G1!lk!Xe!i1o8x(84whoZXlZ0O2Wfy-|ZVk@*E5Q z&|bYKg3WP%l|FG$ayu!Sj$MbBz~<(9pZZ+tCZi7(s3P9(@L>1l(m)$Lk?8h7^x`LLm{s${pgED!nl+wNVCgb);ngs@%t-C8?3Yd8XQ(gD#)xq|3ee zIbPWbrP2aWc%2RyYdo`^l4+==Xn7po>wx zI$%|s6XcgIn*D5@p@xo&LxTtEZv&1^6Luw2n#@7Aw-h>lNdR1U2X-Phv43e%%WEyI zo}7lZj+UoiPLk_14qhb!Zhq8nx-{RKedDl#*WW#IG!aWZa-`F6^xl z8SpdxQn^_`xwQZ{!rqePX`*4|11tfo-dN4i{@Yi=3^kB*qU2(*zBu&dnku5TE? zXL+-#O88)z=7l@gE?yw%94Lo}6xI)aNi8_e&{9?g8v!K7{ozv$>dm5~#M>e&8_YxY zfc!LU=65g@7~d|5=~UYd30|w>F?T4Hypt#i5Ln{0cBrT+qRsKUXU7O!eo7iDh1@3l zN4dkK1#mC$I1a>cb2^lq0+VhxJ(U@q{o|KxGkCF=W8auCKNS`-UlT5@!u@$^bY_&d3Ot+eBSNM%cj#*l zUR6iXZ2-TN12!gK?d>9|F)CY=YryIn*Ulhl)ahAbv6#j+lnN5@9NZkfPn2pJ>DZyH zB}NPMDHYo6t5gQ~C?LrXA^7EV<`*jAcbzrw0tBYEH2?Esi`qhzuWwXwyDCRYGRDDb z4$atGJ?mCvo>vRxa1jIm$J-7+RBgPt%{LsSg0q8`iTbNvO2vJ+pjak%+L#C9&pZb zTrVZz$P(*aIH!IfvnFRz4nljvNa$GO8$lgGe}2a|XAu0%^1s6Q;`o6G_< znS|Q36-6mWPUGHNu#}O<+d=VPl+(Smzi|ICp7Ytjl8&>Yvb6}Q6$h#CvYbKld26Pf z@52SrtD7+&*Mq(jT?aQ}rbq ztF`|q7EAxHi@)pcyUg5;@xKF04RMIq_UTE8&KW2xl!c7PB;bj(v7dtP2|J5A!+pK+ zJD6*On0L-MNn|8z;{H|UaqT9JzjP_qNQwVyTb=y^c{gh<{rE)q&1E8}%{?QA7_2Vx zIDj91H}SBZ!P+^}_MlSC!SE(EgpDU_%YAAf!-jmE2|T*oib?#1N~*(73-@~RO(Zes zOsWWWB_KDf9WijTgKA6BnsIPzvc@9?z=-*Ty>L-fdOi?&zo&2Y76@kFCUj6bWq1RZ z0<)Jo-o0Jct?M~$T!#gRs499#DtbNEn({yYq4nO10=O(w8R3?sD0iGc{Vg!GvLk{c zJRNZz02mAz8evjkEtWyh10v?_%~c-?8qotO3+XhfU)m5y(`a#3Qaf?(#Hjr!s;aHo zl+9mp?= z&Vmm`^TP4D4lD519*@FtxkgnS#UgZZc*)HMpsgRh(c6;VJuB0jn#KJNikBdDy*>zX zE3~U#pqr>tcb^fr?EChELjy+B0fb;jDoRC{k@J)AddLrp_gg)YLSF+FIWGO&lDg|+ z!d$0H_K}k|3z}+O9-3QZ3tjN-Iq?u^4H)=k#3|96_%Rjb$lE9vNFE6eWGZrb3O14&5<}}o z@08p2wx0osTdWI=q4!TqJ;ay(etcQu`Cz>@CSzWr`_KMlZZ097`hx=n5VoU^}(5{eBDpM{2@mHv4T)v^SfiBd#_oOr#?+WsgIXnOSMvc3>ke zFUiT3KDWk|j50Oj^X@Vt&Iabv@CdE`0w@(aqrCxESKCoWhCJ_d6lP5Vqk3i$#u@N}TU!S0qkr4()i2vi^qh%sZcR@()BMkcF1^Ps7PFQh8!{P6VQjw9 zi5Tf*>ri{t(z`-DE+{zy7D$HhZSI?OU*rec_GG>`XiRcoIF=UNc*#PUWIRnDj>TuG z;p&x;YW^I>Fl}0?+pQ+n6`m_atL#lENCL|f-FlVl1WpDu(1RsN|4X-moLp1v4-ax= zTuCTjU@H-7VyaZXw9rlbp;Ql@?mY6V>wbt3RSZ(Ny+EU~!-Qcqx#c5vp%~VQN(2d6 z+q^KXud4l-_d%{-@{i?_y-F`fTTQW}&G3)y{Y@5NsHXetWDFi5YQP_WsSwBp z`Pr}PU<_e%!3iWIBhlcx@fl9Ih!uMz;gT+yQ=e=;ZLxqvt1 zpKJ?FM0u`PNOO_+S;-}X#|BE;#&|1pJ%K_0XC-uzf`AktB~}5*G#kN@0-A_`PS{tY zW;u5EYHtRbtk{W03lIb5#>vT{%|41pW5t8U!t^D};BIa5!-CQEo9o81cy}oBsbGAe z&%J>be>I;hAjdypq*}*MUJC1)>Z%ZOD*P)4;q)eVX35g}Oo`E&x{rNbE+P+eSbS62 zW=_)cR+AoSRJ#W1Tu@wHrbbXv)-=~B84abxfep6b;TjmR&B6=cZhbe>ARG5&!&z!S z{HU%1j0`z?ezn5l+6Z~i*R?8z#GbChBMU3y^MuImQyRT?T~w9$Xl(zmMljm6I)ww4 zPwt&lAWz?;$K(hk|1@+|RWdujoVbT%kewpgU6l$c1%M06NtX4fbVzM?xu^kOW@CPA zLoU<~UYeIZ&58;!DuRrY4~ZIKE)N{Wd`u32(7BF(y7&rew@1Nb1aBaTMvmimN5i7R z{P9Wia<&EroiIs)Duo+H(N8#aJ|z)E{v`R7O_3ypLB(KW@zP&rR@(cd7Nh?zn9LmH zuE#4=_s+2l*?5lEMFnI3m15ssftG*!1R3_1aXbi@hT|+KsLW^0fdORL_Rwtv4Sos~ ztVlVCf`yh^%(05*Z-5by$|(p_pnnq~Wc+>%NhRz}+Eny}<{cS|i5F?vd4L-0;mQ+q z{@)pq<8C6Ncdq`-mf~GhC7iTx`t@nf&4LaXtyd``)hiJ+I2;j%3e89<7 zdO{5CA}#~FmpiF=Xq|v-?DgsY09CBoZ&Mp;_v;z|Tp7I!2<|4UdWtaD)~qBN;?Zpw zGn`A>iz>t6-8F^B+eblf2Q&{xt{*bL@HG?5+`t=Ao~P>7()&I*w3C{mQa2WvT{awf z%~BLbGQNNH$~1AbCO8VQZb?17?x3%1a{(1x6WbW97X?tV7IdlPSlg+q9k5PbSmG>; zo@u+WLs`pQ?u#njArRL?(S2JuVetAF#9Ph)MWKuYt7)5^4x(CXuk{ZnL>%A)Au64{ z9TJpfAX-g<&KnfVd*)U6{8eS};l7%0Ef1i~vQWZ(C?Khn? zyEm1)7oQ8h2`evT&D<^q=jdQCJu3;iKPgazj0UW#`~6WgMx`iuKc$|E%fBgn7ZNZ< zCeb{t^|%emU8!u$$uaQ-|L!rfR(rMH1nCkvJX2%QtV|g;*_v{)Q<=3fOQfI|OBd;4 zjVmn|-i{)p2m6tDLL9(Mco%eIR5-+-Zp;#|O-VkrsvO2I{|*nG0ykrkt%a7_f7Ni5 z?uKy+#Zo9=CrxxCvYS`x4$Kff(AF?;?K|wZ`BYI*pUip@P38fejqt1!@;x&!h<7Ld z6WE*3l3)w`uY5TpHpMuQ%o;t`oD?h=Z#3E2%jCCA*GH{sxL?Iz%J$yu zn^48t5pq7Tpe_ucQ`m>S*)b&hgds@jyU3j~0Y#`Vpfhk7-Zu8qS;Hf0alh7v8-Z2i zT%wmmgiVlb!M45+%X(Qg@ovsFn>;8ZU2D5&fm@#La|F3KSc;#aWJ zuf{gxfhpq3Q_%6;?6f08U>v)X5>|9+h3<5>dsET}kWYd|)MKRVb@^U;(vt$fMMC7a zr2NvDdB}U}Dw+@?sq&VEuk*gV#cgn7DFYA;O5-^_LvAFBdy*NXZH;K#MoaD*%6Zdm zFNRgddtfBV@{^dIpM{hxNrKf3$tJV5s3!HcIR;$*jeU?o>fspOKDFVh#*|;jMs4y{ z`4*yifrE{{k=OhE4E)N(x#I_>&TmY3b~_C+aSd;Wd>pIm4&tj}XOEL|! z;QZrJHxF4yPDBzC>HmR*H?J#KCE7&yq7`Nek-HC2Cfub#tx_-vPQ;D5s2~Pl9pj?~ zM1>Z^gdDlNytV?eaC8oP&!AnpP-TI0R|%ySGY*$y?Bp!R;RXsI#zPRLMLmD7Wb9^- zAht%MM*DteNacRdtrO$CH%LLY!N4v>*sAmt3znE7f*7cAM`+*&L3#(06n9tUPIw@v z{1Yp%#F+Z#^Kd-1NSi|n2=aq_wK<~bY|te6xwo&UcDO2_&QqUgxi@*dZoKrs6Q8g1 z@nJtN&QU6!8Q(uuKZ_&20F2~+ssN=sfYwjAG9A4SO^V7L7OJ1eIJYNVVWuY3>*Am; z9T7lQ`dL_8>_DxeryhdJabNjds?apiX&_1KR@y&yA0-=I@mr=og4} zW7y%yXt8;8SARGK>7jV~l=~|e1u;r?r4L;5SQzdEb?cH=l5IH2AyD_&#^d=0W{bo*dAbNDlL%P13TL>@uk?L|3<-8h?fhlT&Tzvv#JMi$0 zgQ7{;8}NWC8Hp>Vp+?h7;aYGS=x(_sh>^{g&Fo{5U4BCZjlU8P`4ia5rML$^OVSAJNq0K z|Cb;`e~hz3+`Q0~$v^-+I#M((8rhG^b(fjEWs{OAHo46yGL-AT)sF%7TCu^cn7|icD@N5aHjY-1*fpP8$tf05;__(cmL6PM5`gP zAMaolyOA!xwtXGyD2rVHc1kTz+?c|VJk7evoV;FxLh)hSM7tsNtK`J^^DkIwY^#-3 z-?z$k86=3A#g<6(IHhH-XV?dt-gp&gSAtaFcqVamzR%(W6_AD3>nbtRZv-kNL_r*2 z#kcL**&dC3$E{mGAkiWQ3^d&-Y1(j|g8NFfo8~JSg5_pqWSf58DAJ`bs3HLx^s~Vb zY&3N=0#c{g?R_C{oHz}?+idp3N<6*RwfXQdXXUEfVSHRbr`ZK>cW*5yAdi+WCKwS0 zQ+)3r+R{C`4sq_>IYc+mv@FU)$xkP^Yb&%0B?m@?J-|}Gvmf|TW4;+Csmu3hL?WvK z!CoIno@O~DR4K3{t+a#SV4cpk7A*rXdt&!zlkuA|>gxt-W5L!#vdkSl9OnoZV2!xn zTUtI-vP;G-q?LQC8f+2VI-5%IxMHWxgL9dHP<1Q!nDp_TF}-#WdaHzf$aW|au}%r+~MzPCwHbC-PQnhIxx zXTZk>xzLNM1Bm9dBehXGv<@7AM8Fubw$rQ~bJ{}>40`aHI{ukW{bcj1C?s_Y?l}iQ z@eyQrRn%QtSK^wPtNuxw%H>@{@nU22y;TU3Iy~yhLm4xH)AXxSnEObBC2+*053+|z2zdH%U13%NQf&d z_dpOJP?3CDnwdyuH4-klVpZ~z!UQV%2?1s3QuUyYxJSVH3^hPqevl-UegSpIvjH7E ziM%LSLYKAzE#&v_jX7^*!FY+X$G^sQiJcRA6FN()pojohsM({S`0FQ;G9%=v(WoTD za9wtWbfZh${x}nuA7>@}p;O?6EpU|y->KUX#?CsAqb-EYfsMxT)zp5#&%PYhN<6jd zn{W~cGLe)Kq`P~5WC?fI7VD>XwFc6oykr1=MJ{8^;7~V*lPajQ%jK@d*8bq$psen# zfjcrG=cNyXATaPblV>3$fQ<78wPWZh!#Xilk!RK?@^Vapg0(N!K)tpLj+GezOf~V) zKZst3y0%)&CZnqV&cKnG89W?nCga6i4OzRn^|l=VyRRxzbB|602-uI!P>kExusj0L z@5x3#bI_G(ZzQw!YnyUgubF{C|LO(=YEM0|Gm(cV;30VEabID>GK3FyJfG%oW%=F=W#A^E-$uL zO6BCmgT5Uf8vJ27=c#6e)>X%$d&DCh&CAl2Bia` zS0WrMw!^Df|F`|2{F>%MNAD(P=;0;!z;9z8Vmuu9a#=M5j2bZUL_w}+{D-?Pbn0Qh zvmvr+xNl=g;(h{}0atk0;(j^bmK1Q@&%!BvkH4u41BlkAvFQSsu#f}s_CJpqR=#kz zQhC`jcg6%?;77rpA%O8Pfl66tN;x9;h;le;rXjG`(gnt_=)q6cE|%LR19rph;+4YD z*j6L>vbCZ<-Aj6yQvsojLL}(nRUO&~ONc{72C)t2qqGSt-rn`5Jt${GJ^7~pi5spm z_3}s@@ci!^(lJ+cvueV%Ow?FbW~#GVL*Ea>Uaauz zqD`leER)K;g1u1EAE|ErfxYuhP@Zd_3a0|PK$3K@?aM#PGZvIui`B@@Xk}e*Zoa;t zIR}P{p*k=b$l7SkqKlj`^3hQ#@1E3^aj^c1p(^d;6#5gH?Xf3f9ZOsSbXnuv0CO)? zT*DV9NBd$N?BCAaOIbnbX|E9fe|U;kys%;L+glGFZ^-{KIJ3a0GI0-485@Hnb=?p> z$da+_ee&r7{Pj~~q30x-MPs?e7HP4U+2UNYWKIN9M7Ek%XX}=B(q~dq5*ge=_bpKt z2qZdjGqJfLt}FyW!lPx?G6L_J70w#~iAXE~Z|A=m9VV4-bBs^X&ua|Tpp1_OWD%js zW+e*(s*r$V(+Z=;K8~$ll=Nw6x?LD<7>u;Q_<_TPjCTgw)|~sjNxRb1p8qpm_;5+I zN)iJwiTPk@{#QCFrv|v4x0bk#x&0gGP@HS zi!q&^W$9`{t3*j0?jZ;oMb21K+%*HJ)K;XmvB`zNiO*+QFM6o;QCGpBUa=cwSx-*! z|I`&-Ibn$8qzvS(ukso)Kv*6y&FzYKER6QR z5-*|W;{_nD^#t;-f1~XXxW)~79y4{?5b&7%Jwahgf2kDb9^BqoV|Q$RCSryI zN*aqK>_VOJ=PVsd?ddmgb=e>|-2toJt-AU}(S$Qt43Y{Utv&|b*Ot-6wa^4;TtXse zSu5SgCg}8Hlw+C_&5~5W6wtSk6Uod@C7E1Rb<`ZUx)xO@<@6xo3pJJM)e)(zhkJmI zI-cJ^U9c@7hp8&fvz9XWlUqibFH+qvrgOy!i)Sj|7sg;ej28(6`tdKr2L~QuA31jH zzMIXVdK1R25O%A8QJS6F149aSs$B+HLn(tjBG+O#A##qYHtp|>>1R5UzwDJBggc|t zUxXF)?C@zu|5#5^@GZf0-t_FFQ`*{3s2)B%)d4&jUQj+ z?#DDzUH%GOU^00koIy~k=|1IH>(h?nV~g2(|qUG7FdIu7RI0xx9V*!a-?B0VO0t_~iH@#L7&T3$!W z2@%p6Y0LNViFrtx>KedH9iEOM9YO;-{#O z{6vZbPbG$a~qn z0ES}e-b*P_XL;Xovtuf{XNQj&FQt0gr`hoC@LrgA(?20)%hDYvOOtGTh>LDT@OpPx zeBD^}7}(f8r$inSfl+YL*(n@wQt5IJ-(}j;t>~al9)_VmeB$**ZN&n80Y0>WX5A)a z$Yo1+VOAA^q#qyhoD>u(O~VdaFrK4Q$c&yY+ZZWQJeg7cam71_cc79{-uH!o>0p48 zb-~^hW%`yxq2MmGa>+pImEJ*jn(z@^@S|F1?sfX`x6KDme8LP|D&!QL9Er${eBA&h zhZch&EFM`$0_J|h{Z=1o&5k&!T+J%!}Pv%!kFyk&QVEK#=oZ?7x5q@ETkL5w*)Ky%msw0GJ0rc@wtgb&yow9(<^u5klQ=n;S z`;j3~8be>5 zXB4zgo@4s;svh+D)#|FS2uqoo(Q=Nu)%P!nc7x{4SYSF;?J&exdOAyyxhXZC#1vrt z<|sk&Na_iN+{WYc2C!~Nyz05$uAgaL%1S!95gCa*>eM!1d_x*rd(d6PL?CkJFvgmg z_+^`Vx=X?=Ou}Ks22Mv%cKCWY zyWbta?VHAP8FqbBLqe8quv5j9vO>*f|sB%TniH7ZSda-RTLBFX*N-{(nUkP8*nO zE8I90?UV=_)+*b%uChR&u3Nm{jl0}GBXgA%E+8RkS7(#MP+O?BK}~QpOZY?ik-XNTgKR}-xq(D1jZF# zLa*t8xaQ{A?eThs{9lR<^CJl~VT3tG6V^#Pnvng@%YFE z{_ar92b|cZBa93EMCfX$dx!A*b_bbo>p}jDUHP?p40*YCE#?I)nh+ck(RxN?C{gZz*$ zwdNz~eUCQ8A37lqfgn}lj&0`diFy3fmfUkdyNmTDq`UgjXbh`h+gol3!4p zu67#C9}W=0Fsk9utdu^OWU@ZQj|MAO{CP~{0v5o_=}T|IDCla}qEaPN=CFxrl@0;; zXS)^N$ED2`Ptgm+xJ$^a z09}H6M`4*Pv>qSQ&d3-JTJXabpK_VdYj}QQRoY`a*?uFISm95_)6#*Ts%Zm(lqIFE zoAZzmUGJ;I!Nfq?fe)7q#p2i&7p7KBM9C4c6#4E|=!;nwB7GoL&6BLLVu4G|w7A;7 zC0iKcilqsd+|1`8D0rKaQ==7icCXVboUI#}_K@fA2yQM2a>NV@fu}4zq97X&?E^fl z_jr#2e8oZhJ}J`-a3^N$540(dSrLL4?3-2CNBLw~*e}c|K3whPZsg;@!EzPM$j)dF}Ze7~H)~O=MkO+Kv9j*k^g$~t!yebjJ4=Of=358iZtUea3 zFbNhwz#*Ha8xEhetX;NB65`qX!Z3b=drHi3XcYF-*~|{NL2d~_3~XlNUFjUf4In^; z+YF!!O1u*cGZ79}(fQy9n z1LRBpIka?E!3jn^?V>E6s2MQ)Rk9WE+&U z5b;^KJf)(tKP$31+PmKZzt`XLjo|ch(28 zL2+bl8RGXzb~CO3ly*BedZZT#NDK?MS{Tb#Mvu5p>u)H>%#{pSSF)1hRRT(q?wva$ zOPDCzJlP=SXvnpT$1QJX90YCKkBr`TGs(q2JSK)WBB(ABk@>B`^5kFGM`*cbe13~Yce&G)-C7hoWWoUYCZlL|l5M&|AVJ~g9+i~i$$r?v4@)@xP17na;3*Zg zT5D-6s9$I#E69FL0oIPsZ|OS{izM$lrvNDz0^j3sC8`xw(s=k*8EJ39Esdr_9HQmf z=E57MpoSRmn8gurwhVQ~bR$fSOgU+kD?VH@g3U@ zA7>9*k)-MY-GwUHT3T8WC{UtrDmohEC#6;ASxuWHz?Sd7?MS|-uYnRoivA4YEtRkg zDsR@`U2LHl#8^chSQ7rUbWpbg6*n3AY&&m>Yoi>$dS=SfQlI$jC%rkQ(~&2+p<&A} zf8+!rYLILR0NlsLmfW@ROMxePGHa6{UlSRq z9$h9EgU&xcFQz9GA%vRLyG;20I4j-8)Vk4}YNjZo2PA`#u@YAEXIID+K!}dk^i(;g z{73fyLqNR0G-$xoIKc`pk-0>kQXP5F>zZ@}wT2}WRq7CNEni##G-xpBeItemDLL{6 zWHd*7>GTR;^+Y7bKqj*fc(&0ERaVMhUx!E`Hg*&SzgawSW0AFC)wLF|70eVl_bsCE zHmJ{@NPDIt$-McGi@Re_k-^yv7l%y%e ziu0S|$>U^3AG4QM3N)DljRIaS+S=?p@($F1hT)JZ@~hE+VI(rDh_kRncHm~qSh(Y+ zM1#h}GTi&u1(o?Ho4}cfvTju4rQD6%UftEuYhD_mbnoc5;1Qu?0?r{HG7o|8&SLXK zxBN?bOqL1?*)4P|UTm8+pTWu^Y2l zI(07z7K8r^6F-E!AD^zDcSZy*X}bXa{ah$8#7w39b*7A_D_12(KqK%SoBdQtiN1p$ zt#e92f{ih@jis7XzT0$5CC-E)WfSRk8r=J=l9B@`DncTDn(ipy#=E7(DcV{C>SakPMXgIi ze$}v|CMucS*TC2U2S*^i>T|s94P|UBfm95-&^8cWi?b5(EmYwMwBE<*3}1$@8FP{L zUyRx>UIB4U)ett(42}o7Kipp`7>mc&&^d|UN&(;NnB2}TtW1Y17j}atMUM!vTb;`& z$SS4$Hh&4<8d5NU+*)`AzNb(6ubM)r$W2gmMljGarO$2Zb?~tEjr_nYf|hI-dP8?k zQgmmc-fRqhX+=08ZW~v&UHV_>Pms|&rzT1&LP}(QFU)%$TA1b_#+3S_aiczT?-hPv6Td#pBF-Y zj*6eoP=AEbS0QP;G-S61s`ad;XaMfcc=|Upc)qqErCD0A*R^1NhS}HqAl1vFGL7q{ zXLiL%64KYM_x)wI=dqu zC}Qf@Wc`1ly%B~MB&~z>lnJqnm1|oPx}7FPE$foEW4!Ff2X&pxyB)4hZ=pa_7~Tn^ zeC>W4l_OSPQoQlPQ7u0KBX5@iQd9j36YEy)J~>RT^8(f*NnOc1EPaSrW>Wt+Ch79+ zUTyLmHu6>)i?o!|XLX()^jR=ZTENuAKn1$^rJo_E1K@MS&-Y+2CgKiN6t_tUW6#5> ztAuy)iY0SK^dAGbl%sOuXxbxjyV~6$kjFFu7FrF!Vl;JfDR?BqjiXLV_y6>}n*ae^ z9I~rD?=1TdA}M~ZFQIt&vw*68q%mS=kNE}_APk{(i|sXZOffsiwJ%gKJdPp8A(Df{j`NF$$5rRM2)&d|761DuqCE@4p8L` zJ3uCLbGf=kTLba?EOAxczTPZ>#Eoq`b)<=UD4VA&$rTaTr9i1qe`-3c7eiH6*V~I4 zc}YW!8Xic`Z@q#W-5E!)*&(MLEh5{0#DORF(%;k|ymjoik%?S1U#L0fKjHw+4FHN2P~E%|*bDVhlfx;0Un_=A=dbEJ)OuE+mXB=jTgM(3c#Pgpdj zX$7<*E+}iS&6}&R4o7tiw|_BgG3!e7W1A0l2TK;WN#G6}`sG&9O9U*7a6}t*>@}VE zIXAS+tk(#BX6kP(U!MO3#C(AXDsM^8*k+qeMTg7+&#KB)Kkm`e;*TTcXl{BSkuwuA zNW{krcN$F-N=-CNyb=pmLkT+omX>4@+yvtRa{xBlhPq|>J?m1!HiFU(&pJ9j?v5RzB)`4;OhAyfG5id_A$wC)@CyjmH@O>43hSj`($QeS+ z`t02FSSHJrcz&xP^Jq99-TDC;ErP^q%h&tzBp6|h+t%nGl=?X2f2ZIF&&1`SpPc77 zG=qZ{h{i)*@`+J%c{+z*0mOdxpbQTlkPekrzMH@~p{m!00(cZgmA|BrQ)i)1os?yZ zpdLm9VK<_!0m=zuKGW^>#Z|qZ?ce-C^(+@QHwCvpi%RNL?9#cdc zvblNkJJzSMCUGP2Jtk}{Zf7-|i&}CTEAW0XJ?(_*QDfpm^#`qngx%1BeSC5pD&OLA z^FAM__Ln2Gbl7LhR08u$@jaUJZLToQ z+0>!F|Gt*cn-jODN1*fEYBr-Lq24p8gCyH{!=TULuZNiP%|+)EL8&|GS$JU8^$RN@ z^osq}zByxbr|q@sW8D**iLi2A3qQb1kGx2=)8oJfN0m3`kapT?_I7OcM&RTzm}Cx| zZJXYNi1FE4H|i%B304z*O^iPPk*%OhwAXeJ0w^b3(-Pq_==4CXQUj$A)-_|oDxG3y z4?dF+O#EYA=s~`X?ryRu5_M{0^2Wa%qTxQp%R39Rvx9$+c{Tfhc9Dw67DSyZuD^(7EeI_rQ2|_We3O zU2W5+*eO;UG=Jss>ost%bCJ<7(4{?C8n;3!k#l^Xf7Ipd`aX;ktt*f{ z>|IsDHXaBVThN`#u*o>0iT8j9#g|ozOC0S7?guv$dUt|Dd>ksGg6ruR?f{bcEm<+v z;W0@T@n_-`DQuVujHJUlXjJO}sIDy&JjQ zklNa~!UpLR9!5yDy9JxZ`cm8~;d~Sw`itH_m-B}Ffd{t9mOhQCD|oGt#PFS2wUDPL zJ$;38W|{TaqvNn3hHzo-D%jr9+y@I*#sbNu8uxA*S=#7>7&>MYO|(Tz_^wg!p!AJ@ zRmOBvTh#J;$fxok3$d|6>Vq+xsHnAI@s6Sw_1HsosbR&)o6>Qm;)+ry+0Tm4Vai7) zcX>m8Q@y?yGZ+RyxB?BC29L{R@$>9ruO0`o*7Po?YX=(powSH0Q!iKSQiOu}63-WWO*N{2u;vY{Z3cuwj^W(-_Fb zI1J-**Km@Z8|A zx5x^8Bx-N{+%Y<@AL#4{gR?@L$16FhG9Yybr%Gc=*sN_gFLFMS*?%9Zo;Ax52huzp z1o=030~R0~Q7RJ3k{+Mc`7Owz(`mrR`!nMYH)Ca6Epk$@*g0H zoMD1^H@n!E_Nme>r<~n1$?XwKS;44(4BxXZ2>q-OwRB!^lcXe76qleMSH%S}Wd-&C{>CqW9 zKEfGM*kP=L@;s3nPq6+b9&@I-U+{2Y$^*z%#-Ou5D==?lVTKm?cEEHMi6fpDK+d~( zDoBMr-e=)~#-{&S=tCz7RMEN^q~@GuZhJ=)ohL!1Ogj5e*hl4Dw0!9s+lB7nq~HD? z{HJ_?|1NAD3f52LX@`DH^>W!PnmUz}F>sD}zK|I_ne@}jSz`MoE>+>X7UFH8Vq`z6 z)e1zJx0Z|eB&ev8E;m*S%l~5{zt8DbweXif#h3j9C7(feVyAE++Z|Ia`aEf0$g`~` zw;k~_i8#zyC)-9D%XJPEl7z^HK|qWFV06?+XUmiqp|vKp#T>ZX+)l_5uj?1O<(#jG zD)r?0O()3GQvI$0|G`AKbjF^avFAPtO-%mc_{gH+bA3mD#Tu+&2qbnni4WF?1+cbN}VA86{!j^ zdP8-I7?lZX7gAfLs77dAmK`?(kokt=A85u zA77iPo_lS6bO(e|mG zsXK=v*`$YFdg^ZTTNnOzEyq&Fo`h1lS>rUg!8w~RRGFC!mmVi=ruH+taEfc}%I{ey zMmT#4I3;$f&<43s5ZAdWOqcz(YkxgE;5E zL94 z!)34Ow;Xl}(8nW}QsJ!jN~wM9zyi4!ag!Rh2;J2IX_?mu%91xFHA06oLutt6p?XIu zaA%jJhJo>yal$YmL&jOi;8}7a_Bxn4#+sxLjskeB$&i!>A8pHF_hF+M!%}AHOzAnW z_S|^YBaS=oUDT2cqD?&GLItJNBc7UHsh@$nnQAubla2B2%xX*c{2dnF!-ruAF z=R5;!L)7bG?J35-C%>L0i+9`|hY5VgaZDwq>6OPOEHm~$&yM$_mjIhggN2qK%4%c* zXV?Mt1cqsB1hel0E>g9M29TuNiTz-()d9sx~S64QziTob&nwcW4(8zsgD2B8`vU*eG*kWXyFNueWC z`xFdDlh?!Tj|(VB6#`zYG)&YPt?`VSIw}%232{pS+n9dw{ka-Jpp1N+XGzs2;3_sO zffx-X6HndMzW70r;x{u%etMsErq+FLkgo2pHes?DtTh*!VBro5J-8>u3i!XRm0V(7dDyaOLa|#T^nNeQ79GF8`Mba0UA7w*u0zKuWhIX3q%VbdEa8D z&B)4Lt*y+fqsm>&%SZ4d1ZpOl^?MB!t(enhQ*j)>N4%YCShcgFMd764GJtDbCXAc} z?nXToC4Z|Y&9xVF#KQ#9bOq%GZO!xcNWVY^mj_W5BnvS zkT8Z~;dwF<@ibX9V2`ul=R`!^>&#`p&Cdb*&Ha=XW#dJP*UkMGdLs5>q+Q+|+5JRQ zt^_$3XY7T~@B{a*Fg;MJjWYWd!(u6ZCXWV8r1!?JUcJta>ZaNZ=;i<=Zplq*}XjBn2sfX(l8g_%8A2lI8lP_O` z(gfc3cOZwj3wJ9iH2oNub}*V0Y`%-Mk*1EuTDk5RiF(h_p$WY8G&CLr^{*yJW2ZM0 z-#BIh=LlrgSZ`%~cp3I(_#_C^s2?a2Xcl1~%}gegqVej6-Y)sH!Y;se@EPJ{*j%(w zt|(6sro+YnU&m^y7z*DnAVT0AyPp~Tel|kK*g({o5&J(bRpb8PJ2#PQh3iigcb%51 z^}LdiW^s|{_bF_Y|3MifP>xRIzYM`spk28Yd&{j>LN-jS8O0Zze?BXR~x`;LFIldfKTKT zncFA58<#0)@H1O7>wy?oOiN72^`9=Pf`$c(qut;Ida*7t?dK*m>pox-qj~5^B!xM? z&y7JsP++Ir0H?kH2+M1C)WZ&hxo0{ae!h=%%a-3+z=v75GSAq#@I65$az3rGnR}rB z>daOAvlMg6zl|tsc~Wv}dGc;~IHj8}J5Q&pb}=mR|0#D(L|Z;mRdDBjSV3H9^S(Aj zj<#eX01YPEfi9AHwq?s=nRQ^T^0>LnYB}J?o_gjJLGgeberS2k@9mr#b;35Zk=ieT zH5C~9ZjtC(CYJH%G9f4##aU3GWJ3Si9AHpd^K9ujb#49-P&4owwA;8!l~DFS?3waUz*y zos!V+!*cTg*7Hg+pwT#(28iz3mhG~_`|d?q)BJR(8B8=p^q)#7;|o1jOIKpRa|qEd zl)l8Uo8l;UfVrOI)(JFrg*0s>=yEPy=wd2Q=Me!@8iRE3P@7Ur`dA*}9|4726&3^v zs)s z^rdyj@Ljks`K-4MdMs+Xc-qCgGGptce>f4!)hrlgt5%ZWwAxlD65To*_!Orwd3s0+ zsRc6$6jDU*3R8? zCa+!Rnh~%se3V*%EvSGhqqJvJ#t;IxKCe^=$)rt4R@`e!{$pzdFX@nJ$Zbg?Scje+ zq=8oZyc!m@ZIfHXDj;xkz89SaQK<7m;UAtavZ;p$JKJ?%&jh01m~f^=q+v`&m?npo zwSdH-Y_UBpKG?h?M9{v5yo}C|=wBRh<Q70I7n(B2=Js3a{ga1t8X2nvfOpxmTqi)ZogoMwS5qzSw0n1ZK0V&ole~m zO5xxCMvMmT6B;>afQREb<4p#BkZKnS15XNW1sydGUnRpSi3R3v^1}Jz@6MY>4a&_8 zS0bqT9(bhUXqWXFv`Xu3$9)}4zLg=e@{k5m*7!x$C~RV`u%O{Nu)hx-Y8&|`DB9ZH z(~3Ca$glHO-HXG7c7H7P9||bok_6cX=ZO|4kiz?jIJg!&m8=2aCD#vc4?`%Y)ZN|H zP-&D1ZM-PvEWFh~fN;Y#4Qjx103bt6A>Yimo!(+DDiYQwQb00cYU--7|8-!y2e(Cc zVh>1FTqK?shhQ3n9VLhy@;Sm?kcA1@`prrud_296Y*CJ8Tr;jLPhOApmuqqZ;0@f( z?^_#0P#I(19`Re8w)p>3|4gy~$2sw_hSq}!5&^M`3et%bUnI-T83Km(s#9+g4SkaY z{f%UfF1PO~3vd|KM=+w8R0-hWU(w>?0*P9Y!@I=C{w$-@r&eDUQuT*JU;9ETH?5#h ze6})rJzF=X@9|;==PC8m@J*QOZ^L4@oQ5A~@&yjS(`)vOYc%ZcX#}k=R)QTIZk#H5zFMbPF z0j&VSo)}Txg^j`^nCbf%FMRQ_0CEFmQi${_ftuf(SF!nIWrwQh*C+23`{twJ#3gZM z2_>7p=?@7cFl!r=j@x0X?26Zc2b;hx0=5p^ur6ZbBBVbK=qh%fh4g)P$wXrzAFp{D z0o2bH!^8ET*aSf$+YK;d!L5pjO%Y{ z6>}-ICn{~_>%XRlT2Cw-R%bFx*k9X&8wAw2|NUp*{aJ{w0@io;>xMU2tB)aBp=!1O5^#!yw=_bOizKD5 z2HQ%gKR{gBc&7pKPij~IbhicrS>}h0HF!*j<>f41?9o55RT2ltlnfXI4s1xVW2Lqw zq%_cb?&djiRKWolxqGj2%VZ5vBEnNpdj}w=&FA0}W3B+%!}sE_bI{SdwCYoAX+x`! z_^LGyxXpL-9FVvos2_|B$Zd3>r%@U)wK9Air$HzVFuB^7R+2a2W)O86=k~Y?kp|%2 zZ%ZMeE0Js-5WyKhdpHJfMtzc3qVh-@Yd4YtZ9hAYvI{{*%XjaVhai3+ar`a4c8#-%0VMuYPV%| zQ8l`C6%QpE@s=5+TET=I>k`Z0$)rJSPl9853rJ1JC|=X^1d>GNzAd(qv;8D3%k8oxJe{ zuVZiLCG44rKfXS~=O#+++gmQY#V!_H(!i3lku`}RCKcWXBz6B? zn>k#`MP%ikdB>+5n+4y)Mj4EIkBV0s5o?j#9~WRtyr>`W{~qt1JILE4qKJKc$!Vlv znU#ULWusx#_IgI%s|g9j*@X}L@OYXN_aB6-Vxv-mW8!nql#unN+Nj6Hof8usT8e$K zn^Ct3<HAJe@K5^m!@{)#~!$!I{kO|CyhWKZ@V#y0#SH8jI$G0nQUtwesgQ#f% zIC*T42oN(#b7?f4D6QHuFTv8IH_T=?hPRUiG5uS*uBr5U9sneu*mojJbmOYyM1aqX z3%1s;^4n$_99q>&h$@ExJ%ij-qNNj5_}w$}`PAvvyaGySWs=GoYK7UH!M@uokixwb zt9L_b%&8J^LsBw66m`|smIHAmKEgkU0QVTgt%)xn|3u_u+c{3-ECDVdDP670qn7Rg*@0^mEeyZXN)d$_E#y&LlH^~8iQPISf5++ofjPn&+o`b| zXm?tsDv=vPaF`LI=GS8iwZHJKk*ZJ#c&;*0={VX9Fxe#Yl{G{!&&Rx!EJJV-J-vwi z4De7KyW>hXqQQM2!q(G39}mDpemu%%ZbiaW!BC3K%qO)R)&?g;^y_2uftcgBTf_c` zwoZkBZf3{2BxS8j_RZP}<5C%75w6l|j_e9@2rLJ$fC~ihl#*PQ=UOnvKB2b`L97OJ z*9V4Ig1|nk<8;9QYUmsq%qB+Sy&<&bfk|p9k@TBHQj*AlNync7Yxg5a@|r6P&>cvi zR#NbXN^u<&=m=F=Fa?pBYX65Scl{kag1)7;sM}XEK>h~SJCtSD4=mdJ7xz+rmH;+Be z-No}^3RY3{-kaGHg3IU$n?#(GmieOd2mL3e1S$CX9)lbd4~)v9L|1wqZjme6e=TE9 zuVJY21+T^T5t|ren#!YJHl}e*c!n7P0*67D9485M&mjZ$X8}nMTYgJs^^8@^uX?4U zAhFh}$fzxQK2eq-M1`S5fkrwBEkv9kuN7O~f~hqkNytIK^8i{@e~ zgsZjKrCId(axjvTctZjYCJ)(v&xG23m?u~vO)wFl<4i+0r|C(SrU6e#LPdDgzg!Tt zH>5_~MJ5>?77jXs2l`DU@G_v;S?9vwjY|tn5yH)+$P*ipE-U>88PgW!o1k<#kS2H$ zWqqaggNaPra*?lv>{FTtWNVNr;{7}a<6s0^$a^HyVo$3-EW$XLm*2S|fIVq^DJS-v(f91)%1k+tInPQqvg;j*c>lpJ2t}kiWDiOpgw}=5FjWL&a#x3&PcO! zV?O%>N6kAP8>eOZV!nnmw`$s$Ss-B9%l!KJD9*Q4$CEdv6IZ?kwW{V-(9|8cDPHraTJoW4feG6o+KN3QegF=FA05q*0o@rproZMW6cuV{Z||CVjK#P)#tPmpDq52iIpS$y zr>_r^h1u)xLU4J9{N52Y!B-57?z0~xe9&Nvni-Y z4_z<|RE+?3j)E!eS;RgLP2n^FWtNG(QrY7t-LoP*XqPnyf{5Nv!Q1Q{Ct#kiq3*DC z{g10F+-o46+HPcGkY^JE%uG+@UL0=XwO7?2E{glh6$B^Zy>_5XnESk-6s|=n1r4gp zdq1E!Q@>kh(*b&b$A7vw!!bBXmqBgiN38rDHjL9A^s%XmTP7e1ugx6T|0ljJ56N-r zCOaD`6#C2y-r_}|DX2%Yt&~P&dGXNQS!_m$7V*?@k>zV6M_P zCX+ZWAaR}JQM>p20itQt`I}t_cWh9;OTnX?mJc<$N6Db)S*!@~q0N@0&CUeeM3?9R zDp&Zk{vX?aHVbe`0Mardd_-Vi9@zhhh>N{kgWhQyb+>RXi4#>aNG2%h=%Gkf*@Dm6 zejr#2)h%bZlErx}t`qstt7|Ae*!zI(Wj&0m_~x=`A+RevK>k2QGLj7??x`St7bo+- zA>|;Jmdf6lu>AS%|7{&>&Y~`O9qNLU%=?A5swmZ2G?1}am|y<475ER-zvY( zK=XHm&NA5q>0qfC^f4~4p04E_$7sjYEqx^P$m3I*R1|Y3S3$`u-kI{JiH0Y)7%XN*~(raJi;n zI8@Q-o}5yMkL8`4Ybebrfv9B-2V|aX54HgW*($@(l1}GVxG7Pznu-(ZxCUz{Tn?ol zZS3tIus3iT_z?gdUBF_)CllmfXwwvzDb<4(O*&N_U8!*vrhihKOE}?sbNCh@obbKe z<^2V*f#uM0$RoG|sx`FV?)W_xT4eql%aN^bOaIi`+#&;@KTF4xKqb~40E?di8~~x7 z)*}|5Vi8~mE#^pe)v)@!8d&7&LqT=`2UCrWJAItnDmqCO7$WyY8+l>LuoUrU2G=L+ z`zIO~;l1z3)SQtFkX9!sB(vVKZg6mlmAs!uCi+4V-88}y#P_K3%U+O80AHJ$D87i- zh2&hx3l-NA%2kYRAUKj!!>X*ZU1HoZfwJ8XVQ?#-5s{KH6Fs;~s`mrSBAOJUiG`Rw zy{-Y~wAar7TvL|*7$1;ZqG`vp6OX$-Y1mq{As1Q$r$;`vZ(aMRHZ>hN zoX#}>d4rK|_5I@|$M|HA%&mbS?sI9MCT~?fWDBIYCVJB^^>Y!Nq--lm{+!Mj0j5YF zd2z9Z+}H5dc`Dp?RAeZcxXW4WjoIJu7@mS#?vaCfzR z@oZIfwG1A6-|Y_#_1D`x{oc>AKm?`S52+b>~WwIe!a)*-N>E2QLv0Pf6wM@aLTv-AGLNOz$+s zlKLA!@Ru*fJ6drjxhp&r_fUG1F*D!V?{B?7<|GsNN*9m^qpLIw^7${5-pYCc9#l24 zl*`*aru|7q(yrT;u*YZX6B~N}AvJ~c(E+OhCY1O|^nMKbqBvvr%?RcoxhrKL&#YXJ(v(F(&Bpj^I^X(bX0SBi9?vT3Ztl$=;7 zh_Um~q`eIzHR34Wh4{r|;S}Zp0kU4dNp9t00ZYIOW%^A{iQj9)e*e7w_e(gXS- z&ZJMq^1Q(h;lhOK1JM2wu`PdTn2T4Dh!Ly=Zzx(A|Jb;)(#82l!8BjM0xUJ3{{ZK$ zKo)WUOm92(71hTw&yK8e@Mbe-KT(J5$ab&lsm3HT)k47%Kq zdqW_YHhv{ksV*iK5G01jr8(d3wNk=lLTc0?bK~kI4z4EWw>PMts=XaY76D+?k9=LY zFcWRS9Im4ie}0)@6I~DAMUJ~+=Rqk@$3c=3K*&2Dh;v+s95lYJ#L{YmzK@?~ z&;E34roUq~e-=+KwhwfT_Y}ej+BQ(RLr5u}D^(M>sR#gQsR7Wf)dx$Bkb#0c0484V&=L=2xVJxc(%1%0trS1S0R zM1V(Pq8)c{uJgnj=KFPCp%hiCL;vv=#~Gq8^A1n!$E&Reh3_5E&!i|NJSHxhR7PT; zztFCT^kTHQ3Ky2O0f6sF(cp*OH)DzW+kex$58ROCJk6pZ^9w$(kcEJ>i`~KT0F)Wv}EW-*WP$;rqnNfHru2e=z^tzOh0VHok&9I zg;oWz-+^MDeYxNY-Kc^7+5bC zlEcmr!2$IB_zz@Cwd#_ujc+eg(Xqr~-{7~|)#+mpH+T^dBhy$yi|z71&$lrSnPs&V z@MiO&1hzCzW!_aCBbRYyQgm^qCs@e zw}0*HF^4uM8d3kpW!*9~ zMlRtbK8SeYc(L71Uv4`CLm`v}3tS-!F+r*Wel>%n)r*CyQ06)Xd3Pu-f<)36jq8s6 z>&q&&M|E5s?n%K<>a9A^S%cQnD4a}C6T~@3i zk0)h|Ry9Ci4?a-kb=3wOXO?@0aG?=gmNX9K^YWAl>08B{ z!#t8!>2um+*OFv_=2nn?yJn%nN4wCD;Dw09>+HHi7ti>_k%y((8lM-O()!n4ng}T-|SRy@NkcqXwOx7P8X- zklB*XjsM{~v8J;J%vH#tL^O%=;oOdju0FO%2@^$6m&utEdHVg@aGMAXPgvU_B6`A< zCE>-=v1c|DC(W`)pe6!AB3VEMZCAMgcGpW_s{cI>b0?~jhk}51RC*$piV60`TRA`$ z>VA*{&Y}w>vdWNbI=$O_e#nE2nGQw=7|xvwEl)v}nTVkec~eCdZmD@wAL!^-e@{i` zw)yeQV9@-Bu?+=8S1YG4L~xSJ1-vFxbL)!dgDc2d%i4nZ{As1~M4%bZT@`8;fWeNH zMrp$u#p{#}e;;BB*YFEK@Fe9hcC(|V*0O2`6?Th)tC-fTI9D@!A6p#2`XFw4MA+Ws zHKszCK9$)F%||si+ukBvaUtI~}iDX0*k~TxJI3$(`GrCtU z`uZdIZuJK&t5>(crep32h-A?k=Pje&gZ5C%Vo(YMp77XbS=1&#j=yj5?k(xfQCBlt zfwba6-x`Pl_znaV&oiN9Z~mj()uyQ2P(uWpYXM-tVf6yQ+wp$q8tC%@?Oo;PGOmCW zFEE01IL#*)MNk-ks05Cm&4LUY3guE4gfsjqU11puXr|hyV08+MfI>GOFLSpur z?vx=1K$|qK&PR6}q&VinqL2qc{n)8l=e)IAP*R>jD0U$NUP|XZLSxV`tJ#%RaF@ji zq0C%8qzx@(d-+xjaK6|LCx6@jv>5YMP~CH*`}ko>le1-2`4DR_o2_WBCpsts!z=^6 z^-o%UgK0LvSbqOxfaG#rO%LD?P@ichSMJ6IJj-0!*tf z_$p=-thBA@Dq-6q%N^G@wbvD1P4$Awh@MHO!VtoTF9lA6dFu)>AMN<;aA zQ$VbOyHyH{e5y4CR59wjTNBk$sTj#4I`Tkzg~F?<-)Ef1LPeDz_fLjEw2LTq6_iAR zY#kdM!{FlS3Q_<}Z_Ut%1{v0F?e3*ur{Q%xmN}8~jni@@GQ;g2P6grggzIH+4Foq1 z#Of(3PKLJc^M+B%9PULaG(wmJrC}#9guf;{x4GsUlH<>$oN8;;K#rnGc4V|4F?-6N zI;w?7cV;m`DY$!+_8gSlom&nl2zraQCcFdB^37eK1H7PR8$|-G4H_@iTv3puj1!nBj*SPM60XZ zzV*0(qxw^>asA{Yh})1sQaz&wfO4(xyu@Ng5aPcg1RZ1io2U(LAS;eIzYs#&c#i1` zlvLAZ%5l%&myoWp+O)pjK@r%8qAe*YctnA%( zUy>vkE)91M%&#j((sZ_)P%!?E{LLhp=+1VOyek-%|IMrdN3rX_V&(@FvikWOjG-?h zY!wVq8c^q2OA$L%7)PcP1+Y5vN;~!e>_`2vCX)|07P8HyMNQjOK+z7ew(g4vH8WtO zreRB}6VJaGZRJbJ*l6<@60@Ul9WpqCEJ5flh=_8UtWvY>j5EQWhh$8*>Gy7{o1LMK zX*+?jv4GYc5hRX`b52N)7<J=0l5(5hx0 ze=L(jEcF*uV0M_3kh!(9_zu@Tz$o8VWbcZ&7ADS@wr_4>|lm2O-W?PGtN7 z>Z0G45=Js5I79_t7rkY3X^4(k0tRaA zCwpy}Mo~+rCJPiPk^O;cntiq=mrdrujoH_em)F@|_49CO%c^p`coBRMF0DvahD^6{ zRrMS3SDL?e>slROQ5nK2LHbWp13g6pjuBs8I9Hv&NdNsuZI*NqY=Gv{1fJZ2kU;6= z+@~N0zJ0ydDeth1JWO$u9%SEUmtjS>_KgI>;Z;PIJ>uaIYd~xnXoh~dPDOIQVk|Ye z2F?hgZu_tG(^u#iJ$#=RsN^&Biw^BH=*fHd52HL#vePZ8(2CHzYNUQy1*#7%Al>Ow zm=1Dz|Ex(2dx?=9qGE4U*s8!(wdh?pC8^yi?-#T=pM+dealcqUegatEqp!GmUzpj` z@yb>Y1}Tvdf8Jib2lGhuEUj!6Qr#6<3+i{T%chC>sgL@t{xjSHE-FMxP_F`&J7!a~Y`TNxh+7HRlEh!SLs{}@8~$Q;F>WIe`djQr{__Ys5r21{_Gs75V&^GxsYVbw#tCF3l@$mb&BL^61q(+2 z^3-r@>wKB9SjM=oeU2@h(uet@`z*l$ML*LLE?)G5i#w^l5=^voV#q#Lo^#>}Fw_s2 z<@HGjS$ne*W>%l@HN{wfisggWk2S6oYP``uIb{^=2aL`p{osu7Qit65GCF}-SbeBX z4klQ3cr47teECbH_l-#mP43Wv-JaydIomWO@}8>gQtz%48LZN|jSWq!x8>z+tEL^1Qx+MhY;he`z& zcq>;IM+un!Vlqf0@X2s~6ND774q#ok0&fs&V$BdN9v3b8fx5CIf)Kt9CgdOM7g9is zil;`5|GExaz?HWMHgtc&MXt=u;Mp3LiX@ZE_4DB+b>vHqD~LV(6cBiHACEvK*^uv<7QLf(pa}Ni;jXaGj1H_}+nr&<#~9VCglu?!9-L$#O>n z5d-fc%&YW&OweRl6dE4QbySGCriMF6YZRcg=vbzDUsaL`N$%BC8QPx`w;PUze2Qxz z6iCjb1i9y}%i87`LEfSVGtW^J$$eX&pYIq@gov zE?54p-hK)yX-;_}1j`}Hh6s24E3mu`|DC@QUh@A}^%v*B=8|y?BxcuUi^vV4e<7h7 zunXYlb7eOU6d-_1rqTBJVCaaG-&zt(vFmet?j%4ppv@6twSnUun`C6ZnE^9{aO$BM zV6(IMsw)l_T>MkkConTGI+ z^2B!nZc7=Otx!+L2fJ%H87j1N`uP}!$UI`7@wL*CtLg{MJkC~)5ZIY7q0o`>`OE|}~3fPetIkIzftW~kQl z-lu<$748}fDEGJjl1s|sG`djA^_v*FJ(JaKL6UnJK zb~hxWb+}$qS&CBngb;+XV*D_8P;%4r8_?tUD)pEH$`YHG@h~Ks86z&~J@f|X0>c%x zfW?^qnGxVc4dN9^Jjh_%QA6z+ppn*yrwuOZ66#@2b7Mgc5#BFCD@A4BYk*`iT-m)s zARhfazy~dfNC@6Xm%8J!ib{R&A$s|C&Q#RXvX4oRd?+ zFCcY`U&hOdXzyaFm&mO?Q|!Q_AA?ZKde7_#?m#-v55Yy+GGG*y??!eL6eDq~>v!ED z2BsA@AMOcCIxOwx58)>gm$1bpMvmwc00vcDelJ9(#9~oO4B0(YtTb-Q zS)a)X5Ojb8a&8VbODcd2J;d4A(jTYj+wWWG#l&_MA?K#%9(XGD?_3nFk~O2c$XHBU zuBu6YidLiO`WP<(f?n(CDRfZU+QJ!Q=6OZU(vSGne3RlZLt5!G{QE_$rD5r+{WaLNx6pRw#-&z3J%B2+*VCSgs z@m`e$K;AoeFCFQC54~2h|tjhFUgW)q-*$FwJ3d2=$YBxtM>0HWM}V4Iq=# z$t|@6AArExEA?toA!!0ev^eQ^%A@A-gU0d0vqnr^D?K=tI6eK?VFE3qAx`E7cCH5r z8Ko5WR%{h~yPIHC{qi00`&D>gMs0r&98WstcS3T>O25emgbo4CNh6eFEl91@vR)1v z0Ng(?A(Yh!E_YasMFj>!5yw@` zV%s^e;bh#VXW_>ER~GN%0ln9FxUf%t6T18}0+Ea`Ah~DY3=mtf4sKhc{sd0G7A!W; z&l4HcY`Ghu3gbs_H?$%nX~gJQZeZ7(f{AIE2NUyG`U#v%%~Q7U9OS%COKl;@+Q##P z*x^~?cNmB>63r2sbzw_6*cKlM%{~>dQRL&tpiC#aihvbrQm|4B7+VDBM0~JGQ?O-Q zfh33i|AN7HDd>&fg_HhLNejk~0s6?FZM_Zt64r#lMMWDa>)-`t_yA5r1J zAAX)D4>|##F~-pVPNr!L)cz2{hJLd(@O`*{Lae@)tV_;1D1iO0mFpIjkO%~8;HLr4 z4B#OT0tmJA%^D{iFEhia5ylo@3bw=!{|7sG+e)mouR3DbCMw4(wFEdB)GeT z(N$2^;%a~Icj~w*Y~^~4TH8g5YG`+8Y~}LJB$5sjAVXrxqUTnb+(>fMoEU#Wtt{3O z3I|H@u$;sn5gBo@J`@eM`02q0%nKk_J$~X1>k5;QDVgr_R!-97BU6ER(Y{o7O{a5` z)2jc{U>%TXi114;eG`H6-6|&DBkteTBBrT5X)+iYidbolrm65KY-ecPSD9cdSe(_( z2=C7k@6JuWBdR-qVAdP4c%JwI^^W;LPP|JHJsV892m}C0b)%|lDOlo*Otb+UJJR&& z&;`h-_01H(!>2ZE<8OvMWAulY%G9!1~>b_d@Q zK?p(C+tk(&1Z8duO;Y&zbj5FZ_m}rk3L;nE8o_y3LaI;*yM!NE)fCy=7f?Y*njNWN z<}nM09n{#t!t;Jm6-uY4pSYZlZHKJ$;LgOx#RC+fzZKd*4(|%%GaPbLTT7)04gtWC zkWFUPb=VbzCEo&XG@oE%AOG6ZP)XYq)*9lbOJtz$*J%J(+k?9phdiPxqq&FDC23=- zq3@7nl(bq(TS>5mELY3>xxHcramd(aac?Dr9|K>f&rrlBGjOUsKShk-E6^l-&b3Qm zoNjH2H72gTEA}wEIw?hMI_3VZVXp>?0TR4?GW&X-cACAO*W>3qC3!3>48}>uQsORd`W`P7|)EUA9=Kz`gp^Nm8LzZs(?>rhX1@XnhEitvs z6E%l-bOLX5(3Z~xsZ3afb_;J;{VZxr0x?iEP~Co()eBdWWVXISI-?AR@duN(lnflp zU4xo`2~K${vA0rC^!{UGjtfn8i;rue5jn+YR)EL!3U~l4AhMOrUOh5yUjD4Km|U~r zDjYh?w^s(bGd{dqfISVO1QzQgkHtSIqk*9LX7n?+HGtuNnBYDs*%rZzWXhN65re*<&>#XHgiOfbInS|NQP63WjJ z6|*uA+-1z&AnO>mN+DLBYRtG*Q@D}HmJ3tL*xJ@-00}6YbS#Tv0#IG4no6K}d_YE8 zu@?M92+Y1UKcE8}ArDQw_w~I}4cZfV(2Hm4O5ZvQzIRV`qZ|YvrGaEs?s5fSe)CrA z6g6#GBLmKilvSD0E`L zW;JHo`SDb}luYVz?${DRpU1Uq&vQv#0fev%v3FF%7hXUV1XpeOC-`C6Ie${~S*M9U zf}#MV5caETNi_EQ^@vLz9K%{Sc|~-flUJWb&8!9JHY?u`3_c;M`2eHtY+Xo9j5~OP ztk6kHTg-%C+L#a|yb6MH8B4OEsWkkU``c1`51G;44a{T@c>VfDvj#T?F-q_77;q+D zuRP(-K^&wALVzChd(#r}u-#=?M08Dny`cp~nu;um;Q28sg%|PSJTt8~ z2RaR>W=vvt=x^6XoEI7IwB59(R*$mO55}?kGDTL`AiI2_^&cX|e8K4F23Au^&{h_` ziufe!^>@s}iCegw0^2fG-nLr7!jZQn2!u7nz|R;|mLFIxQYPf#` z3W!9A>@PCV#PTG!<16uC@M(f zXYYwDz%m7K1C`D%MT`=0PI_wIBmc05=(7fvM%5uqg* zpzF~{i=qOEH`93pL~K;XH~@Zi2YDwQk_1Cd-)m$=_#)hL*H(+iSH~2z9R$FpMLNQc z8-H!$1XH-ydhK;buzM`Kq#sNEoAbudVy_BjOn<$C2R`P!LMuk6lPq896UN7Wo#N4h z=f{Z!gC$%%|JJ)8A66_MqW$fe*x{?U%ze+4A>e7KW~bi%Mw!DM#T*6o00DiY>!yIu zSLe>!LwV(K@a05sCGRh5*;iN9a?=OgC2xF?2tJzdMD(L0ip0oZI(zy?5$7VXG7m{o zW+*AL9Junu|GNC5|6CH!q;}aGL?4$4h^%dnYF2{Pbbz?AFOcR6g7xw(+~hL~dy^Zj zk_r{kJ04qT9-(F%3^Ex-19VN^O{0Wh*npVk#w^mRTuMO@Xm4KC_K=KK`ttM&8DDEu zzU{TvZ9Q%T6M?bhj~Z{~7EVEs1vSEyZ{)I?DloH_Sbl^NvN7Ni-6EIWNEH*j1YN|8 z{*l@s+6F;S3%F_DzX6!rA*ipW4E>;cXs5u)?+6&2+CJQXit9LV9*Y51rLKhF8UImh95`gHvK&)oBRP#s>F*73OT zAV2(v3CO(n_FsJ<8yW1i=N*@CIaYyL?Mpm)B@xp49m1^4wC=sq4t$Z*VWz{CAdWhf$SIhOB#dk^$7?buI##K2ezaR*=v7Rn$?G9?1Twj% zVGk8-7@~oFn{4@p)CdtPtBzsnYuf4qPly2wldV7cO|svm2+F=>=%(U%Q*`x?m%KTL z;p=g~kTA2q7#e&S3n-_j5Ysd}J8u=0h)UTNU_4++Mc2;6F6~9{?gwP1%TTTk7IcE| zcIQhy`g2PA1VSD9tB3Vcs&vFeb-JO)J2d)S1O40L(3q0*UX{Oa-b5I6%uaHYvY{mH zS`kAFkJ44T7w!%-T|coj6E7=eOfU-5&wt6{~T_EKeyV?sb{K_Vx&#QE7 zA7&L}v4$5hyDc-f?vWY1-m-;FA+ht~S{!>RctW9<1bs$1pS%Kf2s;*V`GhHC=!6_f z1OU$&@Ap2pwyzY*1jnu9l4f}38hkbBu1RiqPKVT_+VlA|BnjbCqsXq;9|<0qE~9@Ics$5ho91qGN^PFtkR(F)HKjc3ch zn0KSgC{zp)4A4#>s!F2JwDce}U&$4;rXv?68pM~*m%vDOD^X;z_nVz-9hr$EMBR5l zeo#|S{%<12npTv-CSlGXFdYnKEmQtN3sA~4)%azHB;?`& zvLx7Gp@3R;?`SK=)Zfl5hv*e!rl_^kZUd7Hns5( zcV#@P)GuWbAa|R4i{KQ4R1wMNue@!&lG)t48q14FM0dsY5|CpzCNIO~k6=U>vyKr7 zh&1W5AnCJc;5ZtzX%r{YH#`rg7~a)&;ix3@Bz4{xex=O9LW)tMXE9EPalED|UXEq;2p3ycz4kDWqU`zp-&16$+KvQ$#!~+BN;-pN;!>{ ztBoWiBuEKVY)PTdgum!)^{(m!lrIs%3P&u*FJ5bfI*l)QGG!Wm*J^ER#)664=c~cW zxt32ADPY&imyRZR;xOHhM)fLMCK;V-eUZrUZ>HEu!^|*>Ddd4{ecs*WD2-+jk?Sg|}%;;EVYYtY9{Q-w^)qO93JRp zbR{$;tO#uekUt@{70)We756S<69X-Apw1pMMjjr$5-XvDNT3YbTG*&M+c%|BzZMBY z7<=O>UDx{LaM~g{v1KR(*|thh4DN4(k`OCyn8(Fg6Rx5IVzgY!g%@?A1UuGtEg#hM z7``FfEbBL(D?4;F9}S`UuvHlgA63aLlmg|z0wwYz-SPZJKWdbMAW~FB42AF}u|z;P z=i^WGaRY>k%Sv=16B+TQuGF6Shp$qt3x?vsA412-ZflcQJ^*m-;hvQ?`=LP z7!n=4y%oONV{fvF&fhj0ExC3&wD^&-eM1c!iKZ5b8_#Gizg+NsZBXw!rmkLK$Ea~{ zQ@w*F=;$QYwA8CC31<2&-ee$m=8})GpfQ#-=+9a_)@^G__e)pw8)L>mC*TKIJ(k|u zWAnv#Ux=_AzYNv}q)`OW@y-MLByZVHDUL4uW6Ut{)Z`vKGw6@EU$aiKLeE0&wD?K^^2r6yYS$?Vcc=F#%)Px)# zw>6wam}i92UD;Y5Pnq>Z=SrUC<@8Di>VM`oUeOjgM37R zXCo8URK}6L8>qWUZoJv+C7P~_UAY+{jLEhei8&w(+;h2_zQ6M~#lGKvwX4)XCUFP~NXalAL4xEvq{Twqy2%)fMmJ> z2CieXdHEcbDWH6iJoz^&iMPXS-yT`;{KGcuhk%yeYA?8f@ZIf!= zwTs{hQ8hSgw=CwEKv@F-5TYT3M|`wR8h@b&Fv$u_b>I!qGW9k#HultLRXBro4`&4PkC&B%=&K>si15B#JEd$k&ZZO1f%=4+^g zmQBF~7J|KwxoxD@X?Bfaco=6=6_S9QFd&OhqJ2E1nz&)vxsPFp;+~yM^I3?$eiu@zr}3y(|>kvW@oA!CfZW&h44h4^havhuDQeCC~(%! z3VWG!R*tv9O?MXD3(X)4u>H4NXY1te;wExi8=a*JS3G}YM`5Ycz~!zv11DxSTOYx> zXOq$qQAP$S4pkWa#deO#<+FEZtn5CS1G-9xB#!vTPJsU9Ns08mHwAFrAvAYIsInghG$HM{d zO{mrNRmDZ+53Q31`&RUIF@O$!r5*!oYR`mHcMbLXe*^j}=R|eMA|=vNRbOv}(nflS z{EYCwi3m%%l~eV3DWHkO=_Sb`4x35@m2&|;suR>kJa*7~c`g@{3v;t&Eq=q%_WIV( z7~<7?-CvA#OHw|(=DqUyb<4zf5WS@W;L&+SN8Bnd3Vu+V`!Nl>y2J$C+Lr^iselRq z$t&Kn{ifX7=P85$5`$UUQiK$x@@>gid&1HX6E@6B6)t<7oPU$ixBx}t9} zWm6t-KLaG2Ht)OFtjO{jD*{hB8Q6k$17c9?`J+9Qpw@Cifj;}_xJXmjrHY2kOt*b& zOAL-FB;_B+6Hj3)gU6_|ur5k;Ewc{6M#V_mVe(J?^MtCs7?c{bt^vn`nKi_>94h2f zC99px2Ue7$!2CTKO8>^R0UPETSb>Xu?WkeLR9o6$I4Ew!9oYkRgWy{h>1W35D~LSH zn@>I9Y_pw7SfiX?Prv*L;wY58b?F2Lz6N5XACAcj!)LsMH-Gvj0wOpwfsNRy{d?K$ z1-C?WXhgWfApNOP;zVXI{U0;u?2){e#O65xE%U}y)-lw6q6$I|C|$~C^#sSM$;op; z($yMU-tZFQ4E7<*#1EJql~u_G2_Pl8L=8EPHa0)>NmCN~$_8wE4DhAOA9b1<@J#`mbC~uvbf>iM`-6pGd5;}%Yw>Y;S?KWAi0WyDDWLw$v zI^X5d?j@4}+9==V?^Te;3A6|{%#$2uFPi@(K@h&>NgxVAKQ>);@oRI}S&iWhm5=ii zR|%=C3Tkvzb`txyjD1Ij;jQ)K--zHGa^5vdn2~l+D3<<*7MdVG4l$)t(1}A=n(lC4 z4rYi$dU8)!&-+|rvPQuS8gmq^+l4D>m6P;aMqAR5uTS9`0`|ZbTc#+_TjL;Fn-NaVoq5sW=T*RQ7v0KBrd(yX z9rub;Oqn22u!QH2xARi*v$fR@o#~GU05du*ghd+T19qN!^oCNTqyDNS3@doalaWwA zAWZwe`IuTsl)3e*6nLDiKLHBmVfs9j+$XO+QO`@*%PMYwyvnO@aka6UCZn1N!g&u4 z{ZxiwoAt{~;)?TtbL#Yj4g2s7pxcppaXShSt@4Pg%QO zwnw=8BA-r=N98wT&^k8e$es0hDi_|mI}+mdS_$!T#`@*<9dv(c4*v@>rqIp*EmD|l z;eTtUA{Q5lorHs1%e6*AEb;ijZH3>92hVC{8iBj;_GJE!YH25GxPW>rUpseaCJglU zWyzTUH^^G2*)uAzh(qCltodpjfGh>~g)?q(4)hLkXfyZH8nY;rqa1R%E4b@cZQ~TN z*1X}__O0<@0q}91SN0X@4B?I)s?SbSiDz;xZPnqA2_^E8naX%^EV?rRJG+M=(4{qv z2X8=+F1HRCkD~1sg!kS>_`zT(0)He7pe@rGg)eULoBZx0esuefgQ^A~F0-M%={WYa z8S2Ld(iW5gNIyXxvx%ZV+^4-UL3)<(n-9Xk0vYl#AAqap+P$_9@jT5M9XM4Y)w`$K z3W%8v^w`*aa+_LxBSaH>-B3wwgBE2vePug6hy0QhmPO=_%X*9fI0YO#9~Xg$ANto( z9EbGT=*QJI0{-ZPE-xrVA^6(pS4c`K%4kJ@9g;rXYaPMPJ1fj!a9VB9TS3D(Yyht+uHaATtM0sI%Y z8Ch5cCFpW#)Gx&P**^e56lt#zinBM%^I_}V2g0IO+H&bA{99p2+pZw@xaojxD>J~3 zO2bpegxZoP-rGLj;jQS{hT-K=;gG4bpV@t98jZxItDQxmyOLQ8J}^Ieag=bre2Mlt zFjhQ%+`I$uCp}k+u=LP51FlCOgJ#(~g<3Cy4JZd>ha8=3CEFtPshr(V3Y-U3ERItiiIs;BlFJ zDzz*3XUbfNPW_kT-;rqyYipwa6--8ysub`0j)E&+&b4mFUS0z|MKm~HyGfi5}B8=^IiUp_EY z-C|CG6#4LSdOd_iay*+uc<*udB~cisfO7NbTcrWC`HMGt4m146!}YV31krIEw>J9k z@RUWq}|5u@kgHDC# z0Z@y3>r2en0b=ZX*#g%f{w9F8Y#TI7dv*y;Lt`{b&H>z$Ti@}GDZHQ|QsICrPwQ#< z3CFhe)4=iv)A>J@Ob66%<-7w{D;%WViq^!Dpuy>tZrI1KVM%wx=&95^GyRRlk=)yM z2I6ooIJDdt50EeDWMvHTfmx10mxaV>a?&W+j4*~N7u3 zgzm~5R{nj$oDg!!pLj`OQYXkI3*ZBmE=&duC{W-$DbXdG4e+ls$h6x0485{v7&zl$ z?5$TxF8$4*nel7C!jv3#NtG=thi2cg+_qp~#0=!gur->lEf)(PoL!sLMJI)6oSRiB3#T#B!8v4H6nmE1+G^xaf^NNNJrvhZMDd6o2^VeIW)P@0u%i+KCU9_6 zC+{mqoC~^m!xy@R@D7U`l6cqKoptk4+H{M>6ecS(M!=F{E@=^=<1Sa7(!TH%?z&!E z@AVmPAw&ixE_m1)@VL((DLGHC;zgW<3gG1`x5W$25+X4~fT?SP3QHK87G#^AA>)>O zGZ(I7BJUMl*h|Fi{!kn$1t^WSB>~@`XDQEgGMEY<=Ih5 zDV}t^J|!QJVu51eQs+IAHI$2%NM-$1NimBQu>oW05$sOB96D|rb^=W-+;{krUUD8i zn8R>|?1fn9H*K*G57DHIV|Dw+G%X#H@yJb9bc^Z>QLs#u*?FliQV$XI{nDTE4SrjfUO_BNe-f0EKih;0BBFP=?x)4B(& zgUs6{0P{fZ6z+=3*Mpwb_T%FTm~>8++r>;|Q@P})Tm7dC$#hkZ1vGKe z>q2S1*ZTMI+t_`a8)x;y4xACinIpbLv6^tPb|2WYa*}#i1v>G5Sn3ItK{WEqD=qt zGZ?n^KN0#-&Dfsn>SmI8J*GVA3ng^^zbe7{vZ<-dI6m|uqQ-qUNwnYW_`-YQ@1smyEcWhL8wYYo*l^mj$w7<9MlXADpWdH-zc zt$x;ezSoeQ~}n=ep{;YZK&uh%yC2*Jm8M}k+^(%3wK_qHc`R`YUH)vAvLC^z1R~$VJeFe z`Kozc94zM?Bm86lDgtR1L3S$HKtZOOK!g34v6&>vI2QNz>da&X?lj73o#=? zFs1T#<(~4nj-V6X)lT8nFyo*uUZP(!KOrMX8c??v9U;4+uA_WpP`*p}M_&cV_D}zF zMOn8w?L=1DmZcn>3@(tyHYxVOq^4iLmEdo?8XHmgku!qbb-|>R$^7r3C#7alT*2B) zmw%EtAHKrrT}0;giT>!M*6*E)l3}ds5!##VtCPE1l71Lt7sEyOXr>Ga9mh_z|9LQN zlde8130ZdaRsc2T-q+DJeZQI4irZ)WH(lQ+F1FjmyL{T&4l+e#ZSDOzQ=ZpeG~JKh5Z zvJi{4HwxaTFM6!B0$+BD_hz7BMT%;g7uI9R%SQRum-@qP>mV??D<$B%>YXfLsl`ex z`j;)DJvM`w@?TxsUR+MPU|{6bH07QcwP_~aAJa^W)>;-| z$fbJU^TA7KBOUFG5+l{QrQmXFO)32O6J#wY2tLmYy!D2V$dWqqhjhWjhYv9I_wo+pOrjFhLQs8Cp(g<3D09u-`M zc3RWOt+xbsyl@o9`hhpjgNC^78Xl?Py2Ka?7pyD?hZB}_MLMABHzMq*8G5e1@q&5B zpF-hqd$EuZ9*i!JyPv)d3v)+lX|*br?h;idf=N+ci=M=n>cuE-7Sjc5tR>ha7Fvf9 zSRvC^n2+Hy>@ZKltczi3k2%+p3dUAx!t`qh*OchcgL47q16)Y9Ohr2CAh)VLL0URn z5Hg94B}gacZ=9vf!tB{V9UDYz3p?jdE@w2xNIv=fC~8~PtGAz&a1a)xGNIX(+Dv8t zjYvE3jBYW=EzEFQ4+4PQhv&tcr;()=%8HY^t?p~i5wKVPXcZ+BML9Nk6;dNVgMQodqdA1`G<@y=M7k=wOlQ1<)!o=n(W?eCgodc5`g zIx@FD7`8xV1YEVh*Dh@N(?sW>rM|=)OYn-_BhPT=ZK92v71>8JDIvJo&yF7)$aCBo zoi)(~Gfq!52bA_L^L)nMEzeu`}?kE z62vG^pA8rKfoJ%0T6j~)-7@TO7URCVLt$k%lwkZ#({eZ~OMxd;m}VUbiQ8H4^jyE7 z6VY3MQ2kGtQM{X-T@yMKZFd2?%H^=)9Je<3(eJucAj3-X7iD6jYPen`Vl`!aGScTp zqctTdY?&5gr0vdYE4s+)sh=1n_*=)9PZY76whGr6&~>pH~yGg0}E(#;t34KEkc*EjmS| zb--R3V|SJlemz5$>Ph1Zp0m6=-Awy7@f&#D06XB$Jlf!62Xy!gRIU33DeW0C{ z=X2wQYToA=FYtHC)hKLXPweugma|4xm}Kq&bob4{%d&-5WXBjU8(A|*KG2usHAZ|8 zhvjNNorLIwXw^Dt`vHFkR)(SL4j9+Op#>|=dgLv&8BQ@Wv^;%r2L)V!sv?k)zN2vH zD`^PvYy%)dUG#-4(t3brOH{q=>Yyn)cv>f@MLR|S5qr~BAk&`k#kV^BH_p?P&o^6G zZ8^ud2T!z106lG<1ytB2Mlp={a397ssbg)eB^XKS2~3c#V*Q&Q$8_(2!r1GM6bPC4rS*H~UfAfs1kpwJ z?b=DAytb5$hh{17C#Qide6RVr%R{T<6OBk55CDf#Y&}RCE8^#m+s9L>{~-@LVEF0n zl4Uyfkg{E?3VQGNfR{tgqNksKL%-DFd_1oN)b`MROKfP*>NQ<=CCG-rtLGZd+?0uU zGMsH~|1`ugqHh?On+}gG!np-fk zNeVIu#umgrfFa&R5@;y%V&LtGS@}!FS6ntLPjL!F{}clrHvk?L<8AI*5Jd$_{!Um| zqnVn5WPHET;{if1zi9v3(1@k2buv;x6cgo~QX*TB+TB~QkUbd~z|Ns68#ZjN36~2d zLVF4{0_Y|L06XQ~VIJd|g=Rn>zUXCk!8?DG?!yN1hfdyr8tk0w(+;FWWlrwi0fYJj z@tykPm_kKSysZ3Q>nqKc4%DOAX1XSYo>Q_DyTJ8NZOtY=2I0ni^8*B_0yE!Y5WMr?}8j(eI7|F-cR} z4E2wZ6cnEwH#&?0D(RHOv}RCXmJWKht5wniEmwkYmS~q;4b00(L{JvYF6(tKG-lin z!brEG9Q?Vykh0F-1*2|R0m-LLEQV-+0}Q8+h# zQR3nhj-CJ)Q~zx}QDfVn5Zj*Fo<|L4X*&)i$1J3o#lq5b5o#v~(+1ttXaW!&9z?jL zuOZ3AE^*V&GyM_3?Kf9667PAXSS4BlD&%uU{_}!G9q|BmC5p)fQ50X1Oww=i^1lWjmpq2F zEcK^8=N1nga?8cjN-c6U)!Y)%rS@D0fpt%fV>5N}C4@;GP&!`CYG)p3G>+QFZ{W9Y zZ#EStd4Q{R2Sw4G0kgd8FCO4(sj*Il$b@jCIVrFYCN`m{kph9fwob*M6yZA(7hJNA z`DGN)2KT)}Vn{oNJkqJA&q-}r-l(y|AN1!l%XCNgWB~kaSbmn8BGUzH=R{v9WE`J@ z58Y`#3mf_FETUUB_5~sVw3)irs}rUK9@N8)Kxlco!7qTfjz)TkV4jD zAbY7RXgYq4w|aVO$+;l9Z|8gjDn0yiL&a2i7W&rD2X}*Rl$Ge5A5Q!_VF~|$E|iwN zKWSB06?k?F%6#&AAwMy9&8g6l`Du1^9{WdRR>5OX+~Gy5ZgfX|{iQAV$q5IZTfpWtBO7D!#O5aBTzyO`gE`cl!!nhp0q5z;eTwWD-O2zB<< zz4tx|EULQ5_uwy<$tEYJD4E~wXNY_D>_m94iKV6so{Z?12^lvjUDK!eQa|N_c*?Ac zM8iBeaGG8=^YW|SwSo@9E0b?j`b51;2yY!tr`#Ic!jAp47^Ag>Jw-}pOl500541~6 zQKOOoum%{!Z~wTLsRyets{1IM+GQ~+mj7|?3ft2oC?Wc8DH%uu8#6p%K;O#~HvlOi z#Idi)+b6l!8w&vFeHYdF+0X?l|C0wCzDRQ7`4!;)HX2wKitz`l`G*hslAU+VxT#+F$y9;3fY6xbnzhk zt;V;u0f?gyvRDP0>Ply*`M)P6)z|Bk2>GU7xFfv5qSse$_(AGMq zr>qtMEQV!K{$^ty8P<@TC*FHvHLQ=n{Zur|vem85RDba?1#I`hfqLo%9n@wCIWGUE zk6r31fyBOo3!fR7CTm(E6{V6asb&yN=HJOM$;5Fg3hiDGd%xBB^#A}3K2?YA6LPW~ zbtXR{SuB6DXB7!cJlwNMU;PbwdvAsM2w)}^4nnnulIE5-%Ww~XM6@MKX)YzYb!x4_ z36o*=kDH&k9jryFHK%asVfh5q_W?m9EgkXsFQbWyH&YA5>~=Ot4Y!co;@`% zC7KL~Nm6n@DNKq&2r5T_4&F8Jur%H;)C{at`t*x24lB@hqoRw=#+YQ$H@*wk%?f@E zX_EaD17D|{2TB^47iX;)`H&ySuWyG4Glh7(r z=>BTrBD@fjF-)U$!WIy7A46#o>DWMSL$BadrmuG1t-I%Wx`z?e5Q1q zV*9QxCO>~QB&bQNmK@phqm@M0T;7HB_SH=6vd{Sc;~}^1Y@+92B*P(gk90a=t2v{1 z(ZesO=fpI(yP8n0?Rk$XuzsF&7y&j`+GBz;JJ{d{cP@`PeeqTyLy+^n4XLD@o~&t0 z6)NlBxkJ2;A}#G`n(5Z=4!q5|>mCvG`+CM*bxRbqt-}LhL24LE;ud0r076 z;ArxPo43u&HpNu+o+_ADpc#tSGN572WC~iH29)ajv~J|xBvtBNj7{17%)Ec~oI2lj z3#{t2=+ijN3rdvg;sU4;mfupI4M1*DV)0m23T^ux%L{I@yq_cN4a=Ro^njFZ`f_ib z*jIfahU{qbZo5~6AnYy@LCKUv6W)%N+oBx?;<{cW&%WX^vtki|&o5~-Ablt{(0pcB z7}dtf11#)cVw)GF=Op;gMaC&Zi^Aw?gA)pMk!@^E0|(@$P|bd}z^ z3!h}wd+^fL5^)944rPj-A#prx^s>X=)T0grGEPKIp`%UCr}V+(i@~KM5r}YZwX6`5 zJnp%^d7WeP^{Jk?jLh>F6T;e_8RynpBRhkZ;iS)k_8)koF4k|=*4MS$L`5`H0Uw$& zm^mLb2EnkE@Ingld%1`JiffIbc3EKVD#fsJUDj)iIxxA1gz-d%mM$9yIZ24<>d&@7`4n@ZX z5{8M4VGM|ZgXdwruoQ{pKik=YVi2E*%f>3tC8%;m4!zt+m8ub7#we8DO}f>he68pI zLO~l8vDo2(4rwf^mKfk?RWq#eKm*M?m4+r6QRr&Prwq+ao2v3nyUC)vNN~JPDV)cyFuiic3 z8FK3pES_{_#FHY2un6lg!BBERV{O2cqo*n5S78lf-m06Jx9zpaiw7cEg7V;m9Lhm)VBT@?ZLGD;y=p8qR{F4O}?e z7+1V&$PL5c*3@d(&{FW4IiF#~c}By&McA4VoCN@KN+9u9M9kq$>B@wfIh+W9qh6D8k zeO6+)L#i*{OBGX}S!f3YVoH3XxwG&Rbfl*2tsnBZ7n(x2&C!t-87V)B-Rox!#aRr0 zfUGBJzwJAf^#zMhGOVo|i%;5PIKp?V6~e4e9>*0mdUkn5E(-JJG>lL6TJg{E8Wdj0V~bydKYmVI`czPLZRU2v(j9hloMd-Ra)fj zyQaZE7Z{F*c1ku}{BPIT(p^N^lz}b*40KPzsqGN~q-vpNi6>do>PqNSXj+cBYv004 z(0=g)5-&z37hg6G@gBhj0Ve#SnK46D4FBA)zRj^?->;ZsnXG@XjI=8fYtrHRW#D;H@j5{+3R|8B& zju*w?M+0GmxtcFd*(Tq73C$L+ApZ`7tQ*zmuzeAu!U?4T3&4uPs1e?}EHkgUEtCa* zqy&KM4Y0U^c{}cV>nPmYJ~&2_AC3~uTC*Rzk2JH*C>T&l0cqruM*QTYjugJ`(an2H zUj>aAn)1U^pWO736601M5iv5zNJFlXVJy$seriJ`QQXFf0dY>*n>0-%2bs)10&-3X zIlB4wt{W__((e62^eC&KtuqMZH&_vg;p-izMp~Fp)RB_2(H}EWRVm^#Q3z_J(aHM_ zE^;MT(99*o1X%1@LA#DKAQVR#gfI}TOWcs=F}z7DyUC$pM>fBD7|sL7%k{rO{|uHL zePU3b%XUM!yN^K-C7I6=y>7gazocXDzJxb=7z$6970h^LkF8sX<`1Vs$k+WGplKT4 z94Qc?O*1_KOD&qjMe(&2s!>P%0i|63yp5D!MpB~_t> z&Q65|#{e+LZ$_|Ur7Qq5uUgyZfCCI-9K@?xexa0RC*hQvaxqK*y{A!swF-jN?puX9 z+X8D7XnL=c=Eex`1=-_HaIC9ni#6;JbpSIYho!tvN9uCi`sQf$ZkoAjzJOozDP2kg zbDG?zhyY$EJnwS_a0$(xdG2ifHq$OK#S6Mx8+{XsE=qtmm7)GT1oopO7$2C#6st9dtso2ly&lR#OkW-brmoC=} z^+QG#JNZ{XWZ-K#;~@q^#J8<@E5BP~$q+*jvyMAn(h zqV`kl5`o+%N;9G9>3vPdve?GQSZ|P2rJ~Skr)mOIW zfDzn$>3apqm}kR_^b#Lw72XDJs!*rK7Yw;>R%M=G&lc?qgPhR=SkuV0(Qk4|lLHUv z`>Ojdt2l))9D_sP<`HsCoz$4hTeaeDT=$&Su)Sw)u-6u8(6vDoo`lg~@ewAvR3du< zV^+y*b|3vgBB9#TO?1;y?3ReScO#`r@*};8T@Qs4B`P=WCHiwX;FSD-KMCv@98W&g zcQ{C&<|nhN^5L>z2==L&C-j}KN*oKX@$RxbFX6^iO7Gv%vk{s~u!QTch_pdyO28NB zjVzf8&5)S26IA703(g1l=O>$CFjh>{|7L($7V4IObjB<_s({+mhM4;O)+FSeMGs*E zOcFE}o&swUdy?F%@qMlKHicS#WYPUU+4J+zUl12;u;2|j?ji{x$Zfv3csUv@CTOaN{@N_G1hbKwY5=b z9SnYaR^~x3x6HM~)eV!|sdKd4z2M2h#g`fo_nn=u{0%es$iqX`ke?l+3oMyiT?bTp z3(X`e^#iJqb&;T3iAX5?9)oT$5j{d}H(a7Q$9LzfYzab;#|Y8#b-*6$ zt~^B0K18c z7`|vY1`IGZtv#Llg5g=!$iGS8myyhdXTE2{82e>9(^LYX_W%(0euB2}0r%+nW*#c> zU~WXa2XQ15KQ+9TbD;+clPw+vSw6!bE3XKD_%w8Ol_$uP^kYeJeU z5cX5uTGx8r`UA@pblzl1LGfK@c(-$3X~{H1|2o2hhXUw~f(^BIq#7fRSeao799FfN z9aoTZt9aH*;TySNOHPl3?rA06YzvOHWN%N%bMFj09EXtBJqfx{#CbV0y2)j%%YEl` z>=_|FHiHPX?sMwq=&hrdfhYGDr4`ke^uAh=NX$7FVtQdLgbe%*V^ip8y*4!Aghj9oy6vk`Qg!nR$_aOlpH$1WlIUBmf z(zy~vV5NUN`YN)UoNd+?9iRcJLG2f@J2;^c0tsQ5+;xfCkHIP(0ONujtf&c~-F!b-p+1k;L@MCyI39_~%*J(TP>DOtR7$6S+giIg8%4nTgg z@e@WMJ0`2Da^+g}`lj4I!m9N$A^ToAX|I+Zg?fT|ohiNYlNX?M^O-22>n?rF#PUFi zc`TAP;>&RNqGO4B3nu-h{JDEQ&$*`WqEpzk#y4hv2bQJbmZ;wAyTVp!R2#BU_gM)z z)oaNIBga{NMYV@02CbkW$>9r7sKuIupB|QJ73A`s&}QtAVwJfhX`NO`MqdI{s6!lO zr{Rf|(JG={iS!X`gJk-5V7C;u)G74ukYnsUQ z<>rnfc~u26#i#A~lQB=a;xGGTB_vec4UN|>E$jiV)5cMAGSPGBjHfdoWZdP}8!8yY z5z|^E4}?Nw>BGZ6ah^pX56FQ63p-LG zI%=DpsIVG`OA^{4@vR6uD8Tz6=}^($yFW*p47jZz^@Tl|;MbH7@*$RQ2MlyHWvA@0ZU zUK|Bi3Yc|jRuG;^O!nY2@(n6Ht{U6u;}v~Vm580OL zE2wEBwJNP+k_}XhGR}D)bKjXND~8Aj#d$sac!+D~<11lQK`V_8{5H}7{H8G@FZPIH zNHIaVyl4!7QpA)>y|oT-9ws7MX$U}?b{s7-QR1Ywjy>^BqwJTNJA-o_=itkLbQI?B z1D8=t93A;kFedGUl?;Vh12VPiltmAPQed(>V-qu!Y=FYogvZ2ypJLcXRtKGDgjo{; zS=gnx;9u%ejw8zKq7;FB0i&Yg6EAu?0yIJETKRFxsBdX|!l%3JeId|a!n$~{@<78UX%|`YK%c$4ky!9If+G6;!}UD%@nk>}{Hbddmr%kJZK zQ2rQzBp+wXlKW2Hwx07*qaWy-(xznH_ZL5A@vqcE2`^ z+fPcD3lb}~Y5F&aNhTpC`v689>Jr-R&8tT1HG=daH5+dRNfcjBav)e^^YDsBjR@!B zJPYlK%ij7j-H1ezi5s$lwy<{fUKI8WMe&#jR0Kcul=#;6CY=ze^pNMt+rwH-i#Q#B z@snWS?JH)oY9;U3R<=Ouz59hW%B=Gy5rk$|9;nvijgE#LU+l%(QvkwZtxoZFJ(Hv^ z#>_<;WI?Hgqbwk)d?OKq*s#s>5DcOXNIV4d%ZtC5&(QX3H+$6rPgF9<3ryJoyvSKo z-zww~W)QHjY2+5$&(^kO6LyDWnYfx5dMg6A6wyk!co)=uj{1jZetjM5B$JE!F1w@O z7;~KO4k(>qrw)|N>MO|ud7q18N+14O47_y;{nk!ll9M9_*zTf;WugtR=O=mJu^mIa z#CO?M=!jgA3GJ5K$fa>RQ0KCc)2o?2F&MUHuqIveH1CEp{X7tOufw|d^yw{u5er0; z3zu3N?-{z8XT0Z+ zG*~91fL?$V*5x)^u~rxob|tvS3gOk9w*(J_DTMR;9LH$=o#zZ1~!ft)LwKN+o?}wPo zBp_56`qQhUI2b3TA){=1lX+JrN>uFUtwPW+YylJH{H|S96K5ROEiQb`QvF^q{rO1< zY}10V`;|p3>I{(7&W+@!HCb^Q)&)dn$I#`?;9=}C;$&D3Y%21L+%{O%x?ogwy@yfL z(FBd_AbLu44Hsi!r*s>{{*jdnXwc*E&QEJS0P#h4P~1g`Tf1 zx{3?iP6KbNjbka50S#Z)&!TC_hqc<9l@IKThDDnSDIh+|+j)-J!CidXDG?w0+3{Er zr3u2lcg)zUX%Eg03TCAEG6A#fHDJ-yM+-w;I5M#7IQ2B|IC2<8F&?GfIwTUnh{XLO zcrPu#Ei9U$NQRJPi&gBbi!jl~kLOJGdEEq?wEDSeo8FTfeigmkeWZ}eq_9|;!vgh< zII=TQSm!|!6@*NUa9xhh03iOg3Kk7g_VOX>TECW>TCE?olXMdx;Uz*)gl|(m^DEFR zL?OJI+jK0Kbrn?ZF?H`i3w?@re1)MmEFj|gkQ6snF^JQ`%(QNYU*n=W5?N>A4C#cp zC$5!m^F(*hBPxb`qu}jlLGo-r%J#5`G(aZNNTQC3hMTd?TiF>JTOZ3DGQu1Zpx}`d zTaapbbl+2R&a$>8l^`~hDcg4S^CB94P6-DbQ@|AFjTgbb3Z-!sZ$3cl7lfUI$T^An zStUxdWU;hCh038G`n8M8_}{ySmy9C+Vz9-{(f82s1_|IahaFz4i8%hc8IN(>PmoFn zf2i^b)R>ov+X11_v=pqxt`ZM;g;B(_H`4+^l@>ux)nLXP~?A1 ztCSk`4$4rxEahMCN61miU?QL|^anA${4a!6fkEF44ru+ukXNUqYJ%+F*_u>SJ5;!U z=zutXRS{gb2A)nvi$&sGHJ(4kX_|Zw`e()Yc)lv7@x{{4k0PogjGOdmf6=tz?t*K# z69?)I8skEH{=d}-wUR-TkSa33Rz)APp*bIOw*E638Gby2a0}9wF_)^3pp?> zvrSq?hsitb{{+BjWFAQ)XNdO2S}#IZ0 zDcx$AvwA8mXzhi{+9JT#g3ojPdKMVE8Pb_Fw{n{t*(xUl(hNEj%f5-E#q5{O){-d5 zTqWVpuv>Tr7cQ{lGs|Sg*?dm%DiP)yX?P|JQkFi>*BGrwR0R{dO1?LRikz5N_77TK`H}56%|DT_g-v+Sjf-*4 z&Z(anS6Mt3;oKs==pk-Ej4loSr*%gjtB?{dN^qdg4i}C7hF`1u*RUozwH%jR)Y#+sQ zurstKRVLhvddvk_PK(ora|IHN2&)eXWEy5_Xl^u{c2Nr)t_k)2xQh4JVackmQ(x>V~mHC+acLy?FksvoaA zTRh#rB|XZF`2ojT!t|KG)MIQ!Yqt?E|4#DODYonj$UngJ&)Bm@2s;dM2YEi|0? zau+s|KFS~Fu+7uG7^-9ihzXBZ{l7Rgk4mZ%l|wk*Ptz3 z(7aKtA_>a5iaZf>vn0$4aBSaPMc|p6MqLSZ<;b=30~fbaCF&kbE5QxQF?cke^UOg@oM)ZJpk~w zVi*t^GvS}t=-_@p1?gX@e$Xf;nfZb=BWVtFbXIBAe>yihVA8Cv(HZ+7nZ6>S#y3(2TxpNP91w3XD<0ocvv?w?G8m z=!+rDP$`imT36)Y9&Sdov~USOGt5`bD)p6&NHX;~s)udtbqTeD0=ySsW;qFF2BqR> z_XVu<{@fhoSj^}{3+kfFUMGnE1U{S4PJ5(QY6GT1-NibH67Xc8U&!SW07T%0t^!uZ zceOxnw(70{PzmXQKW3TJ%9F86f{{l%Fo|b^^8-Ed09-YZ@7xK=sM>^#v^(Aqm8VGJ znC%ReDVY0ab`Z)=b9lQC@fR;C1q-{AJy2$(`4ON*RZH84OLH20Vk-CDXB#zU6mCRE z%@zNGId$I5bNf`ujvhxyCHIfLfEsY|awr)M%I_Lj_QSRg(?P>w-+9RkU_t0MPZv~|8rU4 zt@UhR`OH5kA=~V0TNiI^u6JSsjP*d3hPtRl)d$fWb1kc%n9Q0wL4u%xo-IhNbCa#X ziPr*xxDD0XtQ2zueL6}Z3#ZG(a~l~Vks&HeaGB<-cfVMbW`e4mFz`Q=krZmc)IdaUR7Z<;rd@1C zrw|3aBBN~vm~%I5%ERBLD6Tqq=J{j_pZ==FA z9f#lo)24M~T@mGb6X#Mw3i+p?f@&3|#?azlxEpZ_#8p*Of>Sn;jwuAu%_p2E1v={j z=fs?S3GuVY%kkBd{Fnz~g?7|Kcm&W&wa=yiIH$(P{=j;=rl4NT0>4uwAt+D}bfMvs z@GZ|CIJajZ68_XkFi3%hN1Sp|?FLpTlqs(&L$!|6n;CMYCfu^`5xp5-q_aaZntx+? z0w`8K$b`h?1*P{LDH1`p#Pg3^38ULS=OP|}Dfqb9JsAm&(Dtp^e}6nY6ji5dK~!nTmVj8gZeO(0E?@OFAnQ&H1kerJD+?W zvfD_2moF1%k8`s~3JOMh;U7DtoQ$Ghs1fqnDG4Rn0@+*toD(!$!b5FDq7rk~!*=Yu zpsd{*Mz{kQo?(P7MRH zJOp!Og1TB-SudAC76r+4qctP91mU4-p2N_V1FZRZ=2rowR++G{ZzRJ+9mmv3 z0Kegl?%m9HpLiMwT3d}8H==!;2`sdio&!21^SB3(h2)QXm8FjT#NUGm=3MTIx&yJ| z?G7dDH4oFR={w5Y;c}~(Fwfe`B|J3V5K&W;4H&tq9K^kW{Q<+O#zP6PJFpuSzN*(H zXR)~=eh`WVbbG_bldHh+TOj2?*QVTtjPoyvPYXJ*b$pJ}na5F-1OaUey>lkjT?|MT zZVhl2N`)Hjb<5$@B5+GyIJ2X4_Dh+Uw0?DLf+>^2!l?7YMW3yaIAqd;`4z-g^7mfq zvcCoENCMFDu^ygb_BPw8nbQf{KUhUHrPb8Zb$;fr-t3utcM#A;WB|1r%Pg4Y z+6$wf&RT3j57YVOT#|pIWPWK`)JEVBkFlKbwyI`-%p~%6CLHtOQGOGW=Rw{ww_JOxIjsI^fGleAsE1L^9wC7_Sc(dr=Xl;~|YL&Yfgq9e zj2LJRb!J1$_wJ%XjF+&~WHH+ryPMvhrU+DkE5UBcu z<>d)Q7bOj62pOO`pd^XN9V>zlb-0%Iz!SO|{8lD}9g&h^ToL}j(-R$ZiG{t`S1PHqTjnx5{dW=Wh<_qW)hUCh4?y%^jB?89_2Z4?|vegBschyjgs8&ii{AQyHR)7+PU+Qdd44H6>Eu~Y72R?;Oh z;Vc3`#z<~nxb2}CN}Q)ojur=6Y;`KGnlPxf;#ioKeHGRmj{2`V(4un#d3VdnMdM=v ze%r<F@e!yw|Dg>&a?KSsg&P?^ZNpsCdOnR?!yuz>bMk$c`SrO8FSdXu*<>-`XJ>z?h@EvDp3ccf-3a&N zMe-}E)&Em}G^LR!|EQw}pA(?QIfq8RQRr^f^bcTP?55lX1Fu)=95stFg4RE561*4& zb;73p0Oz_-O)8z0iGT2GXh-~vZxdXP%+5*KF_E4JG;kft!(9gf-UH9{2dweaVyv*k!J;A=#jJZY z`3m7KfsMe|RE$nxADw=oW1S|X`7#of*wI|xD*Hgtiwhge`-u3`y{K#q?e(wjHqlaL z^?)^!k6#+)lxY{|K?VKAaEpXurX7-01Fg>o>!+f{a<7>QjDRZ_zWp%F3e0o@aLK}c%LOn%MlIPpisee|DA3zNpi`d^yUb=;aPtjWl`0r7 zY5w372oReBTn|q3KVa?-PG`n#K3Fq~G9BxRf}CXvC#>377%im4gca)3nq%!GVU_oM zWcTWLm1n4yU@Y>=nL3kV)d5NiCv%JrX<|cB6q0&K*i~*QyQ%BaSxLh9b4k(@-6Uj{ z10b04o4E&0i!Uxc^wG#Us-$ko4pZfz&k$ z$bCL0Z#YRRbPW;y7*7V ztsDlwhLlS5aS}hVD9**1b?y|Ts4A~rUsp;QkbIdsW3z0X2n z>VnYBaQU&dy(1 z#qAR>K#{^Ki}ws(oiHZ2VJELzzM zr+h+28v(;^*!8@fP-9@)r$_A^U>1ahtSX0skS<`|F7;dR%KW+rJih0je1UA)ryF?M zSpvr&L#s7A=qoy;tu8rv@A;{`Gtk}8X>F(6;-|FMhPXEwY!JXi5e}ECc>`!i)%JR;=<;OEmh)16?v2GxUeLwR$mjVY4S} zdLj#++Dy1wX|K#vKc_(b>*Uh6rm;xwng5=J?D~LaIWB3#R)y*IWkvuMX*mF@%0HMy z)Um(V9&C4@N;;8XL;)jhxOM_k#%J)nL*`Wfw$cXt@_+0%S8L?uKSc=}{|cM${=8Pm z?&uC)NAQN6jS2%26?;0ppc|K@a9KT*yeh~}=t`A3je&{FMpk^Z$Riux0%eR-&CKT-VKih>{Urkw&>#-RG0G-T14?^Q56Z;%ull{#Q?O1b2NOzEkco^*AuMrif^NJss3d%` z>Cn$E5B5IF!@fe)7)Y!PSRaKHK_n@sqmRAs?w!?4BlFRe1jtMuX?aCkmOe*b3UUC1 zfGolvFvpI7ybVy@D+%v%xWC_XX1UfmbF&;SN%*Eooex&%hnnHGE?Yox!KMazpMdDw z&C{d)aCj=b91R_j;3qh8>|s1sF}nG6Wc zM~eDgOGGkog_t?r0ACvBrbPuH%S$9!1ZKdv4ec9*nuL$tWZykq{SEY((%Flmu zS=P9{5~I(;JviT@5P$B%VjQ!19BF6juBtH(Go-SVuC&6i4(OIRU$z+CdUqnX%@I=s z4=+KFExiB~+x96fEEb>L?xr9cOSv* zf2{+lTcQ%ziW~!eh2=J1mjUWev7lK31=17X>MmkCMulyshh4!d$rdt{;m@PhJ@@>f z^rMrS1#e{;P3w{1R51o2Mthk03f&YESLxD<1XU{joIBG&5-yN^SNm&f# z*d|^0x%|-%oab<&9uv~YEMAK*b1m-&rUi{xz)nH^J#V;l;cN&Y0C%>Ps-q$b~AAw&~8fD%-Y3Qqg*)ObI zhF}b@5|34li;5IO8Qr0Qc3#UQcMAer1yK!U3DI$taQz^s@5h1vy2?f)lTX}v3JHJqso#kC0)L(NqG-AZ-%P=~*zZLLSQzUfN4CM0 zmLxONGYMp#UbK;r@-Y*-=lIem?e%cSxpOJ$#TNzx zt?-Plpjjy~8RtH$KmvLe2ohI}4A8|MYAL13*>S^yvXzo-y$C zqvf64Lj>hH@VZG@K4ShzOo;8bfSyM8g?;LnZ~$`&FqpA~pc!*g^MO)Vt4PG_-=>g0 zO~eF}Fp10Pi?5C9L2F_*%m*3mZ7^;VsxLI`iyHtA8v1_mWxIq=E&w0V`;uiZ#t{GEp@~Y`(PVOpG9Lh&Zvhg_Y(vLoqp@pj8#|nxbiE(=mU^@3j z{caqE>niX_OO9WfRK#n5pn7A0cD} z;Tmt#;iErH>mn1czU{rx_1%2JceV$-zJi`D7f()s(+lFpKhJ8u7d&Fs%(L1$b8VD! z8Vng^kMI$d`XnyaATG#5qpfU;bCOG4uxjQ)STRD6>y#&VAIt=;UWXFqRUJ%V0+(X@ zLV+fAPn3wkTM#L|;D<{Wd29c+n&N}Y>OIqAB829rcfECJ zkH!Lj*C-hhZMBI6g;hkjmKqodk-jw7zuU`TR<`58lYI83jvXKQt8GoMf=dkp1FSUH ztMx~4q#)i+WbsplnZ_KyMJt4mwGVo*bLdn(l@tG+n5l=AZJhYy!-91SSCruOe*=f~ z6_t%;0llzmx)vmcrQ^x*{#MpSwrA6gL1R^Was-qtyG1pj%?A4H^)Y#xVN*bGF6J+m z-fs~>g8o@`wFxC$_Bk@>V>+i3z@IyCIo53$CzD`R*uW{5UZg8?whrY-!hNGbsR0MQ zt9^+Nh^51rNQG=0Rt0BW%fnGkBqRVnh91R!{gF;TIZ_nXrsD?v=QqQOA-}}QBRBSi z2nLOcM{6U|lmtWM<;DKp&YWcDp``2)pFzRRGY&x|5g)Wh1<1v7^kUE!|H(#fxIVYh ze$87#B;LoJnFkGU3M~Llak9u{5)G-3DYK&rB7}>^y3MB$*s5RH5{*ZaaggC|*>HuSNAV92elA ztvprzv|yIdVFun{ud#?m1i&v`F9OsYmy{^4SS>M1dJD+K83&XBtoc?G6nNy=a58vd zaBm~f#b;yvwJDET9Z5={+=p(IYaK_x+pJKL%Z3|n3hcmTxvU8UU>1@cM4EX6F9Nca z`v7Zjg_PrhGVV8GgeK}Lqq~YMyeg_JZW{ZFl3T~8n0p1naLCA9yo}pzPT#a9l5Xq7 zFakq~j$&HFRu3aX{W)rmNu(}C4)2+*RF)QOF9XM@8W1+~`aZe*mVC4M&4Hd3wSJ%BXkXMNR?9 zNDuX=!x%4n<;PT6Xb1vfq=~6{KbF>H3?19k&|K!ol?+4tD+3kB$JE#dAHBukUU_ra zu0U`Q8@rU0Q~cA7yJq1=(Gm>m_FO}FrUITM1%h$LIG=Gl+jOe{$M5@im>DD25EnEe zWdNPmHut-!gGMszgnT86I60kc6@YP(FG3&WxEwBj9EKi%CP?Vp{61(DEe0K}J&lY| z@@M0to3R7<#s*Wr-!fvv>@t2Uey8hOs^q3+ua(C0xMn4AypEzZdmBx?;@%pi+tH8g z2bUnswVBu8k!T!%DCDWOXW{BN+AI+7Nci1Zke}H!OuAQBxJEN-H45e9EqT|b(r-4L z^A~94a&ZtwdCj;mm~D^1=k?6=3;%Y)Nsh!~!Aj1V;{@+%iJ>1u(S`@{<92JrIy6`g zAls)s&s^LZVEMi5*diWDIN+2nuZv903=>@?h8Yo7p96t*%P+LC%2LQ(>M6@%6`P+v zyJAF0o_zz;7)b==MiM^FW7$zF!M${9%q^PUlvsFoeIK@fg*VV8h&`PvlkP^J!)5?ioWm>RIcUz z;v@lRO;32Oap(+kWaq#SZ7n)N!|t3-whzvTHw{P?S>366E?>P1Ldx~&Y+5V>m;i@( zof9&WC}KNkww;2TLm@?r%E(Y}Zby$Wo->k=84yoEjd-l~l`d&^1Ou;_&f$!e7>MZz zagg+O8ef@i9S-N1UB==6)Z zvIE9!hA$Tw!tjKNDPzR49US&>ZefXcw9=qy&SoXUNGjQ;wN^Yp2~+t_;$avrel`uX zPuhQt(^C1iHFc5Ar34+U$A?^q-3m)`E|ePV9UibQ1*mY)b#bG79GBO2PbXZlKb#2c z=KYw_P{0M{%4wq7g_~qVMZ0r^1S( z(9-@FB`C7ux}=z`x&U?l8tYU)AseVV1fyliFh#bjiWj}p;1qkR9{vcHF4I9Vhvnf- z16w(jWF8^nAC1>OysKB3=nu=-p%wb4IPK>`thN>fj;xt~f~VC_`3-6EvUDKn*uMU=r|D&Vn4)a;D@mR#cPdVvW&!@q9I<|Hjc{(3$Lm)|QO zhRfnE_OW+03?@UDTL{57tu zJrw;=!+c#XB@VnE@`!L+=oxyZloe<<)xAY8oK9|Frh=K=^p_xAfUt`Ry*ny-xLzqfS-ztlR z`U0L`Z?vF>FEvo3#ACRC*$%2dJCgY|=2vw(k`SMgi_H>`W2s&udC!VJ@ZGUH?0Ybe zvm3xGot-MTc`Dl=RG`ZX#{U#uPaeu1q>9+cCzS_te_W3P?t3Ki0|28*!k$0zQc*<~ z!?AGDzkHZK-X(U8P+d!q(=*azw@703u z9wTJGLSbt}a+dJlu1|9(R%-dhY7t|hLj3M69VgxIaE6w;|qi3t<43wkuSv=YDDFx_(lWL^%*y404QxoIN7N{D- z=V)S@9?iOJ_h)5jQ3Ym}05m3Bhq=B}H=xAva89 zZBy^J$O9@y%yQ|6Jmp`?4->%m=0tJ;FX6**1vjri^9e!T?iZOxf&^_z)k%!h3XO~a zVHBTYrgivv{wdKJ2u;5*YC9GE)!C)J?tIH=-(@0w){7Te}Bo z<)rT+koowNrxeFADK$Jj2oT`>ei6^+SV`t0 zknqcH56gU(3XOG9o+)5&UhF_>l6Yu(euZ={jmju!$9WysEw%8IsVLak%NnqLl|Fn% z7fpQtgaeV@zMHfFmbVF>;((b}pFrZ>)(akt7)s{MVdQj-mg8Z#OsCPaBIS<-7LRU6 zZm$K%>mcSUqw@nh>E|(OQ|dJ{pK_$sP!L~&+mFGRaDr3&Kp}bnlX%~?-MCg%=do-+w22h0MxthlNmH-VeKe8E-p_{6#~7w5j#*Q-CpmzOzNmj*t5NsP_u!)6 z5L|tJavqI?&<&8hU|@Kxf6Oi89xjWs)7ouQ0TPYv^ZL4bN)f*#!33X>C2}`aJ2)|_ zYD?8Aa}E+8bSbBBvEE=Lf$Zi0P9FM=vHr<<^tm!-4DYXZ_PXJTJwgo-``quQw zL?#$16c#mW8cdjX-+XZ$_wrxO?AcuiCdxninWM3_*Cm%0%nF#rDo5We7Z8B-H|)n7 zT$84PAS^KQ*bN*9B<+ac5GzKjvZj3{iu8tXk5g(69tXj*y;5zpV~_KXt9SQ8dn8n< zNo)3C<=H!*95g^-Lg^AeHHeh1oU@O2!-Xr}ju9ahq;daxcN6!>LH2+dSxK5P5{)8{ zW`tnSoCz8`Dg(gLU8Wb=$m%x**^|pv*XI=-;#>Wzdr?R+88vh4oFN045#e0up_&oA@DkMV0=1a8OyNP;y0V^K;Z?jxM zgmC8P{_49O*JGDwm)W~1{A{nm6lF#v5GN9snpj*Hx0e`hoH0>K*5hH zrm9hU{{X;v59PEQV5#zJs9GblIYz0Z{5WqOHeB_`4Mro6APvBq;Aj0r6pa_-C%m!= zio(Le4XYyJChp1+@?OxP7bspzp^}m&o-(G%p}*6nL(yqReAQpg4mPS3BNLiGArwt` zWr=GvK1jaGdu(9FGSHCA3UPM`ywl7H4UCu@OA!Ii+pwdp+vnB2h-&2>)zcM3JfEUc z-z_aYa3Rm@1s8Q8mtZa}1#kCa6CG(yYH`ePf!fe%*Y(TK7%5nK7bvz>*H%3NE386aDR`;5WAs0BWD58ISu7v5*6$aefnBZXiHI zH7)>jS4?JBypH~kwBN#1&%_)^PnP52O&iT{4L{3s;DX<7j%HX$z`@pw)VzSv{jtgzV*S_YD zT)W4o3PJRl$T40?W|LJL9NxhuaxLbQ&MT@gudNSSr{7M`s#l&x1!`9Z{Tyat#>lOX zCi*U890k8bNN)tUb-05Ef6<#46`_W`=6VoEaz0~zQc@+dSj8utNhwdfy%xQxel zE9?Im^~fpKnDbYF_G$c}J}@1xZBBE10Bdt$pw|6vZ(%q1mxb%I^lr+^e%-od?kq(9 zriaK6(m<5>nqQb+uF`n!P=RXN0B03pvroKYD1aYS3M&zN&b$2=KPDRC zy1P7K(&`}+$gj;9fEmy>;T?(SNwtXfZx&F1Mi2+`F`KL0v0mSar)eZ}axT+>!zU*3 zI3K}3UO=gv+RO*4hIXGCWn^E;S0eN;TKr7x%Zl28`tlhd%nhbTVqX%=b#geVzh{UA zpYpO5kw8>`aXE!;8eR^(>nWHh`0XtJxiFz_ty~wEsO#HI7xp}9Iv{VVP&3OHU!md0 z&TTFg!rka{>-6vtmK8ar;TSx5-@S>LqZZR=m8XzuJsBzCrB!mSxX4q?TLCdmwY{h)SFUlfj9TM?Asta$AOU;oB0_5pAnGM0voWSmOly{ zSVZDTK68i=c|8IIDdCGvsWlwqDRLXxl1DZSSn0K)K{u#+SS7hxKNcYH%J;Xw>*^UH z(YY6a{9OUW53f!=1|yWM*j^sddyM(|^@-o}nU^NS_Jj|zpxe9DtPXpeYGv1ze1__> z2(j+X7Aj-{3vm#FYO_W2U8Ku<4!lgi`BvUcJ4^2NUVQL}9r`L=Ac-JR7PO4m&|qr} zx6x#FiDsV&c%uq>NfTC^+VZ<+|9{fjr)?g#iw$3;1fl5hvsuybhcoOvOlmwbJ6QA2HM42Y`?EjZU93vWf{WB{=kzIsN`HS|a$S{Yz z>U|UNsnQ@j>t*N3h3@%lnUy`}`P)UZP90V-QafhI>V>pm8fh-|n75gJ?8uQCcy|pumj5#rVBm_~o}km+cFNTO34y87=NMVW_Ng47r>88US-8k39sKa7 zx(HlSvCA^vwinjA4$2A1e=a0CB^m`BUR7}z_xt!N{6+b1+gk)M#r#TEAfr=b9kXRf z8>tHD5do8&N^BkV8z3gZ=ek63HU%o`*yFJf`d<_8&j~bfDW4 z3ZD1|XH~+y8|Qi>H)15fZv}tf|6qS($(|mfj~KWt0?JFPDN~f`#rpWWa@ihCflKIx zsO2yRvjz(8sI?w7wlhMPY>yr0%j`hGEvo~Yoh^$3tc4p9Y_%w8t!gxxSk*2eWlahH zyA-n4!LJwxYwL)G36?qgNV#qg$_z~zpY>&T--!u4cEbS_O=KCjtd~M1@{0QbW(<+t zuW$W+)LpdT)0p^l2}V7ZeER@Lhm>`BkMVD99ayrJdYGcjaKjDo8hvXsibZiX#pEu~ zWcsFid-$>Io zptE(AH%6%n5A_fQG+M}$VBb(!D(*G#aJ&fCXGV1Tw`1K9y7fqRYatCTlve-r^94-$ ze<+Qm4mHQ)u5_`HBL&s!n2Q1emPH(%+ZJZWJP7#LOV-X)jf$5q>~}v*|3ZyT%>ioQ z$TkFwqFl2{R*m^mM}WjD+BP+lpZH6JmUp@VuyVXM>xmoG(*$yT1}F#%0E35}p78GI zMoRV-MQ~1QFUiBKVvj0f0xgpsK9s11PaULUSqnHU3Ov)wprpW(0gn2zYiUbJg>Jm&_iW~Zik zw{_G{SY{5p54|Sfw8D4~MWpM-V<{U?dv=UeAGSLW)zIR~fjcU*jE2DLe<7dI7p%7; zMS@rh-)MLje~_#~Tm-)AjItZ-NWM{J*_E(r8v?cy=XGL&>l!iboPHIF$t;Vdb{{2o zz1Mdzf?d%-SNlRuQ5g&d&$AB@4PfW!n>kWQcU>nYzmfw73#`sista~cobS?LsEH!t zaK%LFqe5kr+4m4#a#S)#X|7L&T9jg+9d<}b3Jju_F)LZB=2At|rkW&nZ!TB^7&%Xh zIG@jty*3}wmYL#ZKOpH{gjRXvi@5-#ey$R%MIWNrg>`LtRDk$u~Gs1Rj~0v2Z=K^F6sgd ztg~3q)VrTXhtM>pfW8BoVz~D~BFs9Gn4&~5Kn2EG5$X2)D5OSXot#OU`v4SiMEe(1 z5^1E!q%U0_pfSd9X23=pk^J=Cl@RSg;inNzAY!2NpyPF*s#h#cCKb|uf^-`Xz6&dS zMcYIhjW94kUJ5>z;qrQequYmA$7Acldr9Idxgrt8bW56yAzB2Ln8BbIg`K$0KC`^K zwEF3VJVnH^)acs+w6aJ!qIe0~g?&!L1(in!cOY^1h!7(D-zaaR>1NOlMUpqy5t1i8 zH)xe}9g>yt&mA)*_cr)&5zfZSe5(c=Zw7rYbo&g57Jm$^9{#@4(L4|J1sSI6fYlRr+2yKO)fDR65$8Ysj&JQ9Fl>vo)!vGbXdY0 zH_a}$i-mkURxD-i#s$(C4T785?&sVXKJcccFqeYVm_-@qeScraTys^??+eR+jgd|4 z$kVK?2YhK;zC!PNvs{6D%Tly){u`-7b$vygH`_h?T(kzgS{%;)(#d9+^v&^t+*5D?} zqYZmku)}^EI8(AdLrRx(gLFSR(g7eN_ycwmR)h%1ok5JTykNw*^htO67*t8*K4SH4 z?088#Aqx%39XyVFLv{x@JqS|@8i9TVghph&(wSfX=Tn*GbXlO6aZ4ve*eGe@9 z8q)=b38|74%-wuKz9#}zJ_S^hdDON z?H<0YmgGwoe_eTB&d2u_Zj2kz zF8gIuPNycA+1b6J8GwwpdpYy4=S}orZRK*No006gLi9KuZEqB3S`HbHMDk~I!N=?N zY*Y6IZ9c$DLi`a*u87F%EyW7t)tIGPBm({Eov=0!Y;!5! zxbC zR_H{mEsap`(C`ucO@cp^$~mbMrU(jR0@fy2w2Ht+RtiFdJWxjrnpOns?1f+;T;m+c zd=QVU)jW(s_>g3KrIfduw8k|*z>z9_!5g&}hcFXm^)2@Jv8lgCT0()$XV>w9U-sEH zi<=Z~_)3J?vi1vMdT)r60=yd}gqU{BH(QdeN2(4(zSk3K01m@*+199cP+Gy*Ceblj z2{p%o!)4h;4=IP3fFTd6Wci;$zYzg*i*Ia&dDFC;y`W^a$gK(pTorasda`+q^H<3h8X zA>3Q9sk{IpChM5fwtSkWCnl;|-5h!5hGGSH66tVu(a%xsyeuxPdtq7byHmp*COnL_ z+e#Ah1JY$Ro;jY+;a@sFyk#pE)T*wY_-gyu`BQtBu+1$}=g@zU*u@hPK)v{MUc z{(%=H%cbwwm1kbxgJo{wqlrx{TX0jEW6EF4di@F_wYpm$f`>F>)Xrs^w`ww3lovKr zb}20i8OacI<2VqNKtGm7vF7tw2z-h*Cq$o}@X^w%)u(*c*hX8$(F_c;d#PcZ`})w( zi0Vo3ta_o=y-d!6Sn?3E^#pPD5-tPA*Bt8*DZlM2U^YxBaJQHqxdace$^GbkP948y z*}Mdswf0Pz%p&V{O*v+!{HEChD+|zOzu_lg%7aR^qk90%LXmyrd>)_aX9ztMcP@o9 z`gBa9&90wh9<`r9Uk({RC&F~^!A^hEy4ru5A}a#Z%;SAmUh{xS2=e&PJq8N-c2AwQ z!f+dJOr`8iH=m!8+8Wup_#YV|C4I2+1hNi9(IAH07Upj^s_+&JH%RLxI-Hw(MW2vY z5?f5r(^D@=fFtbk=v2PVq>3E>gjS@zy{;B)0CGK1;mGG{HYpP}>0T-#Z7Q3N1o#Jq zHSR%3A#8uk2HBE$^CNu~OO6bwU6R_$;giSU0z6W1#b2L8ALTOpZ?&yfmY4VC{-Owe zVK(~PS|Ns+)Z{t83A$X#mYuh}B&zo~f-LO+^-KUgfL*Wc`YLDl@m$u|Q07RV)vW0L zL9o36JwhoNq1gjzIgBOu%GLw|`KaiMw=;m=bW1+km+Flo8ohJ|(r)vG{0p?pel7ezvNG6jW*8Ccc-kvt-v3n)0>IS>f zKPNA3>a$qZ)Ws!;;rn_--%C`oXHGpBt^@(-p9(+7o0&Gceuy8&oh4DzL^rRbjb-_5nDu*eS<6j1?&4V zQuU#o$`MkWt7CHW+lpZpfISm|aFLN;in(q`f2LT!x@jQsIS&^#ihf`l#z_LUS6C7s zJbU@2%&aawC7$6_(Jrd&`xkc8FPywY@1qOBBGeL!FywwS}v80+6Sayq-t1D(~Dvwg4(*Lf{;M_0jtdTbd-T~BSWGsC z-*iHCm3;!>B4(O1n=`KsWU&qFisIkjTLm52J#{Wx5b++MKuRBqS(j;iSVx#@-%`Ol zZ!AZsweWV^uccQZ3&nOe(Rv92EiWM8=rB#<)N)RCD0?FXv3NF1Nn<94F3&|o=P;a!7`uK;Aa+sv{+0DS=@^% zhaSgK>FD1WzK9wqx)YIHq-1(?h{HC`BJ2bR?Yh4QU60--`FUe*Rk1DyPfvILRcZ39 z-B5XM^IgXfw3N%`x9da$IBf%DWHt#H&#)Oel3r>9Xc#~ehM=w2e#n>Wl7Ipxk3s}| zbeIOEc%2Ta=*qw~#4M7odjA?VZFCNgVYC-Yp z<5}WA9}o@P1cSy3za~-KT=fu%d=^y)-M}rL)TPba>~{Ioy6yQ3;pLgxyozkldP)xX zqx*R)M_@!{ZxJ}*F3?e`+$own?@%8?LKalUIx;3$su5eInQ+O$Pr;J9p>UktCokKzZcFl=s9mOh2r zaDJRE=Hhm{Q#GhSE1wQ={O|3-c;OG#y1$pJTc6Z*{V@z<+r2=>^oaH8w&=@~KPqU^ zVptdGv;}i%>*;>($l3<-TSehYK3^*|O#EeiI2GjJMMxcQzAjx5$j(@y$TK<^7vG8i zK(%t55(eAsFDNkS7TYTC@*$15%$NhlWcY$?Z0 zd_kqUo0^1*4oYwoOtU)3h?B4wz)vBvaj-oI6&a`KEO$f4YFu5FF zt#=|bGbjv!5M#K&Evv9$c$<}y8EU3EZbakWLZ#Ywjz*%nqCpC^a2N;YoQ3UyX9Z6y zY{nMH!;JNhKWUlTm4#rTO0gDMPKgKqbRr5Qu_VzFVbdNU`{?H*d|D2$MwuyB%6A{* z=I9T99+jr%Z$TR1RmRWHK+WaQ#gr(Pypt|~24ScD4uvf7+CS0_1qOg&4|rBw)B)iPsAN)(Z~ zxqvPaAVIWCx|t+KcizzTp1L~j>aY-vfSUD9y}L2RAD;yAwa8#UT^i7umiF>#3oMVa zxHfwV6#1czjG8REj9wCsIr59L*K0p=z5LXv~Y3 zi>3tJ3yc@7o0>~>tzxf)E#zFTfNet4oF>>P3=^5iS+h4`TSzC@W=y!*_)MCnBKK|C zejty?+{?DQYM+j6&95hzUS<^{eZ{rE{}A=we{5QC?>%G!xLvL&-V0{oPC0BUTv`C- z=@0`>A+Zg(o)%%H_Bc49u6sbmkJ+~0`vN4VJnbz@7V7nV=vQ7Phsdu=zbu(-^3Ic9 z620Pn$bm!R!ut^}c6?4(yp^&sqzTusoX<`|Pj8B)AIOG1O33v0H+CGDI^`+YY7nb$ z(W!CmVcGEvrpQ_oGT7t-YW2QCjD;8FSd9IGZ0*!YnKBx~3%nuaF9U_g!7a*nfpJT@P!e=fVgp~-uch~dvbkJQg@;Aa78R2n@UuapqPGHksSk~Y)`yi zpMoqvDBrPdc3Gz(T&2&F*j1k$~ zt5dJ&SDik9NlnJF%Y7Zznfd@Ox-WjnnPT!Mmp)`uu@>67ZY6{TlRa@50bXX|FD)aV z!a`a*(8Evg!`}&-20}`!EEl2jT0o?T86RVIy=NXNE?3kjiN!=Y@AMF4!3C-u(D2S~9nq7I zjfLl=;-LHKnRZ%VR|>Oej!c6f!J!QE+Ahd5#rUs{z z3{(_G6f=9;!BLUX!;l%T5jykwvHs5E&Arrs^04aYUp4H)wOVsDt-5wIsa7W)>no{sajJG5YRX}h$pgQtpJ(I48#5x{@Y4cr+4oytoKD7R9W;PGHMoS|51<+r8^Ryx>&+?!fcw3_;CXAujyl&)sR~Fxk^hEJE`J7- z3#mN{$j*+*;fN4f#8ZJcvUWBt2g6)diz~yWoAnq96LZzddoj(P_s+O@OXy1Nv%-6r zv=u2%GFzvXbJitO)2fa~SiXoYbg~uL3UqINQa5vW+N}6Nf1p8GwN?;#Q}7W=>RXBk z+vqK9FP>^8A@}lsgN8pE7cgcd9y%M!&oUV$(J9k^t4KcY30%3Coc6#qN$v(+RwTf} zhB_F-UVrQv^J-A{fz-~c*)>yKckvi_U0CZ6wQv{;w7?!|8PiSnPUznSo1l-h#Mc0L z!&L87l$B%+)hL;e$z2Y=KLcq>^j$~E>CrETt>`Cz{H~?0Z;o$ewQ5nHWk&?&`8(h% zXb9BQ4V)A;W1nA9chvx2Rv>;Wc|VMm^lJf@@Ow1Qk0vZ8Kuikph`k|zryG4OK|l0x z4jul#7DOkM+g2P#dR2NheCtCrLR~U>0!V#>8O?%O|ynlE%Q<_yvm|-HB zR1dGN1w}q3aPnpJGHrn+M7roQ!FzmWCaY!=^vNA;7rbF+1s&Y~O1^=`zss?&n=RT` zJ~H~_P;l4PeS#9W%_ZhL24erIw(Djyxa;TVrQ?z!et#)rBwd;-i)93FJkc{tIXLln zcFs~rU4roCJG7W4B>A};;1_$xvQQk?wZ#SANHQ^1GhV7<{a@K!Y zsQ(gafA)+B7gyh*$o;YoM1}xM78eL^Hi)g9>gG^YSS|oOE#%|+1QO0_GSW^|KI$2w zS?wA?xqb&B!@CaTLY)&_{Qvb2xsK)b26%Ve`2<9I0jZ$oAqo7P4lt_^;0!M!E+hCn za*0DCRTgJ zd6bUyqyrIz6x?kOscK-5y;iF!Hwn}P>*SdM(M>e-r|(!8MgJkeCB#XvT`^vdcAnqjM@#=SFp$ss3oy4n=x_;H2B%q>fbX#4`UsEIl zE6yr*9_=fRUT+=QH@WB^km;ZGk0jL?o$4EZbyO6ZsuvqyB^zmc^d{86339(hJP0G0z1cDhu^tI9A?rkmtqDFnk#9!~Fw7K*^00zQ4B>KX-6!XzR&O34$=}qn0!YTK=f$SC}<&#n_tPrz)R(Ksrd5Q1{ zTvIhgdJ{aI{IFg6Gxh;x!w~U(md8r>#t~ux7Q$irM@u#8o1LJ{!B!tp(}O7^;D7oG z<>}d=MH@s+T--5+_&ugSnBB(S5j3XffCey@o|!EVlZMOb@!P3b3_XoA{6za%881JH z=?`Hu&|nxX9PmzH8)}>Uf_tnG=Vwy_2sL7GNf?3`+u$~)7={^Am4;}42Qe+b@=iMQ z$*JJphBZzz@Aq*J{~;lMPG=A5Tx}39+bkFs2lplGr(=Jc*#6ErQNb?GK+b(oHxvZp zT=%yG<3v!%3aE2i8pgmxUDtU|1Ow6H=x=2XzV;p1o(4N2pEYz@p}+h*D?)v#IDl?q zQbAqG!$S`$!fpid>I$iOj+GYJr^#3BH&C{u>Pv!1J`ylQru=`slz<7=ntv;`#nMsd zu+g^=Pz7(#NGj}FSYr_kMD`{@0?8{BjoH=fy1mV=FLLcWJUWztBi$;9s(Hi9a#q>B zQOzrCsE_!o6eSZzG4W5Q-p@09u*+v}4|%LkBUBT5p7j|sm6oJ_IXgB~<{KX_l_v1q ztFxnX%R<9nR=YE^E-??iNdOj5aF5PsfH|sYOsC9xgSQ$EEP+cBh9vE^$)XPb4+&3; zf`T*4m+Lc$=#O%Hj}4%I$Bi7}mgK7{ILj&s{gkF`XiQc%tC@!lS?Hd`D4U`4NUDhk zbcTuaE%^<4S67T3;FLCU%;bf|h=R1KpZK%u9TIGzK5Pp*I*la0eKqgq8 zy-KG1;7KCH&dz3n7`3i`&@K($^(&ILE4+Okp@0eIJ?i*f_7i&_xJd}bBHt;>CaCVn>oBTf_KX>$7goMgE!M+$ zPrGFdR;m&9jDd!?ZlS^8YuHj-YPb>lbDboqT{xY?Yb^8WwPp(LhcWIW_*g^tKtG0& zsY?WVp*hu~B~+IKS!X2q?L4NT+_P`5lzi6XB~l3D65JND6ti$g^;nK)lY(2L$L7_a z)=@1_x(c2u)evPQAcZdDne7AFfIoj+HlXPBsxQ?#1tTnP>UwSUx5Zea4)qWE!lx4+ z30&;sE4rpRl|zh6lYeVF!n|tELJtH|Qj#d4z$yIBaq~MU9KWSf^IrOPS%I!qRr)Yr z6{u5(o)#TRF|gYcX<}0*1M(rh)}KAM+Ck>u&Zzl1ACk&UY2+L1ze~v4qKY6U8X4@d z5apKXgISUMA*@blO9+J}2hk(aXyBz4kA#Stt{cDy0Xvcj+FO_cghd7HEFTHvisdWB zk&pmk`a~9H@=QUB9qP^N665w&&)>5y{58x8hR+ZWh@H!H%Vb2E^-#Y|Ea9bo(AaJs zfV&}v7-`mh^rZk!Ne5_X!M@qZkMs6wFHA9OR=ys)GB@3 zwU>^(&B69VHQ_+3UF8*-kSMm8OZ-*&z-7B_TV5CF4jid>V=>2;6iLpp7QzUKgv2bL z`~P#cC?c&~j!#4hhXz|t^XuoE&n?b=U+e^|Snzv&|AI@0?51X(Sd1Tp+JGuie*g|8 z?1Mf~`bP+99E6J{$V-ot)$E-*&~8y53hgAM1{u1f)fJG>_7#v|+D+F`7<3KJ zy8aZ&UQ2iTB}v&~E4E83W7Mj_-~lRUc)I{#ag{EbE$&gMHYn3wJNvVg|GRLxk+YMB zQZVzr04recyzeI{=fJv>92eb1OMr{lzMBUiXf&lXPV{jGkS{9Cpx!9lz2AOfr}QDi zjP5>-&gAn$esOKWth5fC1Z0=KzhwhGvN1$0bA0W6VDbN6tZU#kNkx0sF(t@kwXJ!X z6BQR$l64zo)Z&z#HbK50KHMpsd+Fl?4Y+-I@SYjX5eg>>J1csuLNz5X4$__{Nf0N} zI0}y$>Ga5tX|PP%T^<1sQsA|zYK%(#eM2{@I~t#*+Sjri6Y8|`La%+{C2=Pqb7%Gr z;&jM_RH(lFHR6!W>Czq7E(Jd1e+b)9Dp^gELqANYF%4-2}y#-Wcdq zP{&+kU!^51Q7m;RxTZTBzlX3~&AbH6;XG(|cOFc@QMG+`DVYZW&4D}x5tTEAov@9UH9#SHs%bcfemTm(ZFWJV|!M zT1#HSqF9N5QhQbylU(e{E5v2DQ&zCbAY`Pmr>n|+-w9(P@Qo7-+8vwmMa6C zV5+lU-|FYVBFvLT0r7GVX22!A+}*&edvBkM2LyT5;=VA|`JJK%?-ML7BXJ76 zq{uyWDQo;~2zL8ixl!Qwyhxgo)nXcwS8D$KDd}v~R@0Y*BWvUCNeZ!srn!B&Afh3g zYj*}2FuUl)p8!GXpOXIQL`(6qrH4kEUmB}Xa24$XpS3NZAj); z>h&or4ebG(63hZcUB@?Zk!Pk%lYRymfvYHi20oLVFaAqck&u^Az&Iyq@t+?<1ESy9 zff&686Q!?p$}`s)9YED&dd285qVWriYS&2lwhIa1xuZyaCO`YdafL46fNOX_vGIlW zRXhYSIv&IZ(~blxNOjw{ZrQ^nH&KY_D0<8V0b^=;ljKM(_;~K}% z;|}GpWfoc-*f*?zdL|H8b7png+Z$pd5k1V>T(9jggc1y+hm|BPtnF`_aH1s*Co|p# z!zh%wbSaL2DCU1o=rrU$H~vjNB;Lx9PtOfUlV{+{2+Jb3`C2d<&-7UA$@ceIf-6g4 z0Gc9Gs%!!^g0(oPTy@viO{)RSE_V30{Q2w%6k7j*9hhOB^=c=7y~@?H!8pP1GG?V8 z7T`UN)v6{(+n))#Spyo!35!$M-t9dd*ObnuYm)r6WK5fjJ~D9 zJ(IsDeOH>NTb$S4*_2bOnV9Ke%u^cCzjx!oL_n3ED)ku0RKuFam`?Iq#PtOZX2hn7 z9IY3{8Mng&0U0ysh)J7EV%d|Y0-h{XB~KJyUyZ|nrrQdj*~Pz*O4ba~@(8bG5I$+M zec_q4IVkaz+^&Yp=MiXH z?0RG=(Y%AEz3H%9D8}GW+BYR{zns{}9>OY+2mJ>@9mdgX`zGwcIJ#FL^N?K?dFlUI z>BFz8DJ~)`#TlpWKOWk%s~z7V+QRY8%8GIKiL`P zZZsh5L)XLl{^&$6FqXj_OF``jBciy>>RC^4g}x_-@s)5o#KgaZbI_QV%9cTDUNjkR zrcyn9&VjI3BnlI!rlOZ$OIuc$)nW=Mw_KwQn;!xwd9#^Scn4PFSZ#ib32& z{5vHC!0(6QC6pi%rUNv2t2Wqu_0$~_Ae?_AQ)G;OK}$(PNC@%asvjnzfTzlm=+08p zADR{CZRGQ#rMefwTg{p~^pg|z>k>v@jlbeNq*tC;r~okd`4oAkc-5kPP>RC^O3nA1 zX%7wmK)cnh9DI=4TQ3dk#r@+f2bFI_>@hHsu$AO$ashnhC0jj>qP%7ZU^^TUOcJ9j zMb7OzkN2S~slmnrfN5H}X3R>f9GEnAFFzDhZ08wn`RUVH%Eo_eKOkTC$&Kv3LJ|?e zp5)L$|5E~p2c#1auK1JALfYL`>JdMs#jpM?Hmt3pl!qsP;?gTWbJ*{LLc zG6{ht;$=-@SZ^XOfe=%K@`kfr61o{2eD0zFOezd4r86b8e(mCMz^)skTR00KQrr0| zJ7tJMz2jDIx0ot=GAGdEkqdSVz2-~wAj307Fh2uvnu|l^bhc!y{o^md3-qFf!(trC zK4z|a2h9h=m|J%7*`A^GJ17HwcZwYK_qJ6(($HPsRiuL~yPiwGekzdXcsn-Y&`n8R zcmWW90(YY4!*mz?*TlVyBQ3yht)3={#{Gk-V6b6wx!xY;J+NxZClVS0>A_-E5eoVC zRW;inBX}Rt@CO6~h>;yD#*x91L#PZ$Y_Vq!C5`9WMf>ScB9iU~VEWUBQxPT0juxi6 zSIi_m^btFv}0#mpKxVZ)<3Nzo>I4pgn*-rss2NR(bDQvQ9a1>5@ ziEZe_?zsesZUS0MNUr-k$2mXK-(+KSR7fJw$Di}=R}C{@9jpayS@L0w^#4QC<95gA zqr@sd#vjap&FBg{&eE~}WMmb6dXd2@@kosvX288Hl8FwGUlEU!t)K{id!0C;?_vxu zT_m5#oqN|5l(rcBd&N#VG7HlFYhdhxX9AU_0RslRuRcj8;6(Zh3hwEpe*OJMD&C^& zzST84l3FI zxwj%%h6u{pwr^%lFXsTYtb z*HrCP^0W>0qzm1G@F?qs`5+g14hk`jX zic%59gb)=F}2)vnL$!DTDUR= zQ)Tm(mkP}3I7|f-AT$_%3V`K_Ji|V2X|iYBN|9sIeH0|KbjDeVp`{Wc#iIFaF7tBc zokM6I^vW9QNO@E-^wixz(X@Y#tw|>gIX2$cfp<%YEn;ezQz$iv$b6DHqX6(hcT*LI zy8RvKnF@~hP^7@$`}%N_im@H?RJ9HHTNW@ zQVl@T7#q%7wouhgqskqx)!6K&!ud%cbfVdg+e%OfKYz+)qmq@jFQWjRNwgv=p#)ZL z2x5#slS%D9O-n9aR_u-%ug(Nn7N8nvQQIsD@?XQ6@O6eU+#=&V1b$8J(Y=^63w2+uFYTKmlOiLu?O??9Yo`cmrE4E5M z3Fe^6+dZCAwZ5dX+Z93p<*m(3?UY z%$JPOKf21g|O4*Zq@0KHM%gjjp0)hne0t$@>nSdqizhyEv?>d{9Tx$?ueZFKvr7x z%u$f8TpsR(Ne>*RO;$q@fTkt)ySC3O)>K%cy7QbzQvw4?Z`sO8bh;@Lk_g)k19&TF z8zWa=K$kYUnp$k62SM;ljQZ3-yjm`jXEi~%O>8yEQ`k-zb+UCAF{28`7A6ivoM{?z zw-E?uwR0Jk?u-1^U0`p|MaQn;_4ptmziHL!?6W4o!cHUJrX@l*mGwILAQ~I#2?0FI%`y(*CdgGkWSMpzONDg_|GtVE&NGTeQDSBc;T1#e%`xF_O;|&Yw#)l|KT_1w&>B#YofgUwS*j{d#0%TSN!|fV8$Q@ zM(qfyI;ck%=Lo;rn;>tJ2QC~JzugUMtl$v3@vs9m&I+t&+>)6>5ZqKHO}BxiN}hO) z`9?^)S@R9yV;d}rL#Llle_5!u=za%y7smRfH+D=jR)M{i`C~5^16&kB##mP&?{88f zNByI}+=%MNKwqgB3^ci_3UTa*Jber9p%t$h@DPW{6DB^LH%g}n#sREjbch~AxSwmQ zX%rDTrgOU2unY0NwyO8`j!$3jnNEX$9aBWlqY4JGFxm!L4qpls`72{6HmlE2wEsZs!-o07nb7Al;P|r@mLWxECSemuhBH z`OTNq?uSXF`>dxze;jr|sFubM#5p)ItVIG6Zm4=ig996%yNBx6$fuo&gyFrp#`f@U zZL@j-9f=DKC@AoTVy#pj19D7jGEnHqZwYf$g(+SsO#wRe%O(u-_JD+^67naXCjKpY zO-Xjp^*Pt6Qj5|`kL&1|{#6GKeZ6|2p>k|n`BI$<3A56nai5)9`DBu3{QgNP^y3H( zo_5(7b!eIWR}b(<6dwectwGCge3H5aNlGuEQk)PRyi33sDNKg*^8yBD7tx}Sp?O!2 z9B97`DJB#UV;nH6q!zsAcRRkHmPIk$UeeSmIf~uqe4`;~ovKf3ynQ5b1gSoZ^yD83 z4D>0w0zXcB=q*HE_h18?8Saq3_n8^DdT#d{lGxa3L5=YmqjL@sl4({kQc535_$NB9 zJX#Lqas|OO>1(C*9N}l!bA)co-y&fTizTLXYZ;2#Kd|k9I^gU1B0~0 zn)~X9AS?)rxY1nv_5})Z02EPin8-DVRHqi(QGlk%j3vTc2Dc!3D1YV&0sZQcbr<-rSP zv?9=Q;ab(TO+VnWySL0edgiDB>@o;}UA6!LdRY%XDT$*`3Ubtj386lCJD0AQ9+O|( zrqL0QRUG`kRwEp+O~1CuoY5%l%>yVNJou%e26q6~@_r)@G~^fChQJMIN(6MtVGBk8 zzY_k>9$ji+6W}3vXu`#dwAEy7)c^`|62+baT?ua=uVBe5m;3=Ok#c;NLRE0ES%}?pBo#{pgac0tOl0tqd}E!^!8g#iRgHhdh{ZV;Gtk- zqRSmkitzgmP!=zGyG1_3$xUGYytfO~Jz6UZRs}}d>IB)o{bAID+tf)4yW{4mWNt`vU?VpqujT9S0v>Y z&^@I18bhyyY(#bI8%iM*=>-AD2n zrgTOMHx~il4w~idVALsyZ!Tl`hK)EX&E1s-Pd#TFKir*)4Y?<_HQ5?Ly2NmEesJ9; zg;~-sbNw^EtRv~ z!}hp>a)I!wP~+1XtQz5l?w6{Sh0Y;MH-Ih4*IQF4PsW0VMmz8vPQLp9>XHq=^GykT z35^No_=pGAYlkxef7I5Pa8T-V-B%QrTL|aZ5E>+B1JoQ-TNZmp+OeUVh^nmB87P;D zAFUx?h1RNjp>H?^kYF0`s{Ii8WO$va_t0t>4Jtc{;zWH_&KcJ;=ihdl5PA?9JP6Le zT>4-`;lwmpk442)>0KV*cHn}FDtCGZu19(|alKtk$K_OL^O2JZ`#M zzh+Trtq>vP*@K~WTptqgHZ{@O8(!|+qV^mLQsvB)n&V}OmAF+ltFe#Kv3``%AvhQnDrp-m7?}i)O z1xqU(r~jFS7!|Gwzy!B(}l!oy7mA)|0_kf z)^0Som9|Ad`D-XAagjDZuXnP~e~!<-KdpJl!IbAkT>#v7LKjYrD~225xU8-YpQjIS@0+5|Vi&pX<=%vM9+05tUjT71oj6&XdMBseAzmg)_t6%k7k1^Kj2ZTI(Bt zgZ$OG)9zmfBKO+S3K1v`K5;HmqY58xYJ9);NWJHB8LI`39HXv~Q1Z&LCh;BhycQST zwpl$mKysW{IZuvZ9+mRR#~odh;FW~H9( zM5fNz2lFh3YnjfZ;0JW*DQr!XPf>CKKap$|&-N}rT`_v8j+G!h9`a6xa%RfC@@NjC#)*?n~KjmI4Hu z`4uo8YmVK;l%;xfC{y4e_daY)l$awEXl{Le%`OAWfOnvQbpW@>#nFEobdw6Ebm$~u zy*dsIi$GI`LZ>Jcrvs6Md9yPBKS030O!4C~T++>(;0JZB=2+vHZdY<50cdk7q#e$M zOslU)WW=Ug2 zwElhyGAqg*(cmeNFr5)OgD{a}Nz<*NJr5Jmg?JYWEl|tx;tr<|-qh1>+l5eR$3=?v zP2f=KB}eGG{0}0*3~iV8Zezg(JZ$ScQR!0-27JL}5Oyos=bN&taS;|10O^Js3!<|N zQASC3;Vz9kqCLF219psD6)iW7N9)KIu+K^mWjzZk-WhGA9jYE$0=vT=9pdZk19nY# zF7(58=BzBc`6oUTKgpSXN2O5~7_n@$_0o^%9}I3`M`&rgg>%hHf?pdX@|i6zIh|yxu*Y%~##P(bYv&V9 znC)x^=-hk$GxNCe&EPv3D1le8sg;;8yGsc-4TvA?-*XM-UAH({CsGuH=fXx7da;kF z#~{UY1CvqHgE^KD9N_~DUaQhFhLN?(IedEojU7maHpp6xBP}iFJ-Zl( zqIh}}U5TU+a2l|I6N$9l!1427gsH3F&~IE;j- zSBSqvi2n0vuo{?94Hq!B@a0r>!SMF9L)WMrnCxZXk=ftmy~UTZ--nwj4avWxdS(&x zvAqIzp>L}l#R-c}F3M|XY#>*vvSmg<9y_qz_FKJ<;CbD9^p^)FWz($m%#Zwu7T^tv z#BrFMUi@0yND!~ZIo`R+GxpI7Y%z@^8ZQsPgCUV3PG&GL>fVlYN@@~|969L?vM{V0 z48}AU>RaMz5XJsmBs###A-xorCwdKgKpbIe#ilnQKH7)zXai|L05GTLi916#J*B_Y zVVCaO#aNg#&W?*6OQ9P99(N&fFkpe2`IB76=R6T;vSIRf_PHgQLz5p3CDeBTWZ9w- zGMHMPQC#Y7$>VCvOS#W|9od#CEEP2=A&)HT?C=>x>WREO3D4Me%yjVD;}%4Ce(|UX z$EAx2_r=7lpUWOE_7bT8dqM%gfhnx44YU*Z+GUoW8+5%a;i*c0i}gyn4(0YlJbMkylpPcWZIKC# z@&kl^kcQ_h2TqW{vManu!)*2)NZ~40;u^Sv5{M46! z+@9zivx*fc>e6jGZ-9AtB;SiY@{P_~kW|_der&TOw4)b3%;!BA%SF1;(j##?o#F1{&ggoC`VZMj*QH!CATWb@MRS4(!)qF}yUicn^n zW;x>1hS6g=Bm*B$)}8u(XNN4&BMSx@=}7;bwsLu#EaQ7>UM&_TsF2B)5j3dIeCw8j z?ec^f!14+8)WAwe>SdAX07xZBc%Ej7L2x4#8-zV2C}@8iClDqlRiL36t*;m*u)Rd*U38fXo3~t7aa(&rCHs(WC$By!ZAV1$bfbL4@DXt7mNW z2@DgF4gMgAlA`Bjfo_qbx8h3#W62tsI#*Omtnz>5Y^u7->uNb2Ha|88Wng28IrE}`(0K9MTgV+O622Si1F)sV2|LUO@E#Qb$r{5F11_aA39Fb40zTg4WvbaY z{-rQ_IWSMB)bub3GY1jNoW3PB!3=#EW)jl*C%P(&z6*W_p4GD+ygM}dt5}gk^b*cL ztHKcuD@1e81S2o@bdt(Wr=jrhv#P0l>|w+oli*xRAM(Q;e z-^+|LenVd{Wq`i26>Bvq9xq3uQWGNs1;!v&^QsAJVsy+R?hae1fTY&8=>zXC9BUlx zCv~No>jCiuq~_b18Z@|ILqz6~5=IYGZ#~HdDK4Jy-hI>L;)^=VUdP53DdnZvvqxjN zY7EiS3h6Wk(q(TgXaNH)>M}yInrjF!YPd0lSaZI7`P_MhWzqd79a@8;)f5;7ARmUU zO$yQET+BlGa}uwsg~?t1g$nZ>1h&*wR;ULnY8w7f9SNRqp?oJ*KEC{dqXo$VarN^9 zAyN1JL>QzNwYI=4lcU6>$=DL_tk^;9Kctcj9cKasJwIksi>Ic(taV)^kJj7>KUBY$ zwgJ1fZCLey-idiH<+*GPjEs5*b3_ecoXuO)`NsErZvhO+&mwaB^!9TjvK!N6QK`rG zcpB9uKst{t<)hO05q^0z$9A5810nVr10<(nZcruZjkIelZV=(q=)1tGDNP&Q%mt)ozr(RBDEp0_r)$+#0_Ke9!Z3mw zX$g^@pt_?9Y4D9}=^|k#E3OIY)z8U2e1z&Ss{`BIh3CxbC)*^IG;ApqMSkra<*-(T zpF~>HL9GLh3Mzo~b_*l>E)VkLw=0J{FO^*+rQfuw3#30ra_L=aa{!7F3~SR)#`~U*bXEdSM0&``KhAqxkDhzmyvJ`z|agHJ}Uw^z2g zd=c?v)a?2p^QjT}cz{;br-fV{j`&kpY-FzER>{9B>-iiXXAuE_e#HXo;iB6(Qs@agatBP9PP^bJ3br~i%{(Z~d)8kP4;djVzlamgVY+_qjt6O1t>U#m>>-W@ zZs9Ru#+EqH9`8vf8Mm?6Dh~v~RhU@tE}_aOg`>zC{vEUUTVb>d1&9&|jRCaKnRM*V zs!tA&8UWD|Qnw@yBAcEh0BO`jfWg`r9d_L*IHmO-p_Y;-4d?bBNy&$gxlkg4>1P;c zXdH_e{56gf_Zl{0g^-l56@T9s<&k@;7_#BEWs`Aw@eec<4h+K=lT$}w>mBMBcKw-_ zSRvcaef(LnAm+hg-!+jGOt#fo9U*-exL}Iu=nsGf^mY$ym&y%bqmK@YiFt4c;=c4_ zXLgy9gv3N#Sl^Q}`&+`ft|^4AV5OQd|L@r-=_djsTp?x%m=*+ZvO^_4 z0OQdYaB=z46FZ6t6B_}-`&cdmn?kFmte>5rd%a=5R7w{Ew^Y4HYJ7#V;XIl^&H8T; z2vV9spy0RQ`@P7SnPW9yI>HRWV9(gP#iC^-qPmAG#|1uFO)^D@{E*7lx9!x)yRR^= zOe`~>1Ea-Yqpz5)C&G2#NDiEN$T`@N{0SwW*CMX(2bp_l2WkX$tsg zQ5E|r2_vsf&4qVILC=4ZHR56w1AJLop9ZCz4LGy^*;dA zE)`j5^+nfMYY!xGVUsVfPP4Bkhdm{TXW%Z(yKY)n{LfSu;N{Zh$?}uhAGLUxW$>&e zj%~i};TazYQH0Pt#Vd%3JRqsdlSE^1 zLf=s14UTl z)4p|)FK>|VskZ;h#M{2lqa54>P3@xpC z@%$t$s1Pd}rmL4YHEpMzPXg>Fn()ZmN)@p#7IN`vCPoMu4Koo8Kd(AS_B#+uVNyDi zQJ78*3AGNW*YO^bF?z{HW7UESr~SBtom@@yUG_g>65_YchL`&*pFq>V6=spd$J~Jx zYx1qQdVrjOyx|EtRPm3d5)D+bx>WsO-p}Jf{?PUr-tNCVnlgmLb$LmkvbjUmBgMzc zXZ8blA38Zk<*N%5cbB(_NFs5AQ|k%exKa{LHLewk5m&ex>G&AXwv@ZB&ofn}i$XaiS6 zhZe&BoJ~WGg#$73o}})4NO${ct?Z#N)U9nLoN^1S+6N3;ll(b_Fz1#{=71x%Z3KRU zVyhn;>dGnuf{gvxl@efx3Lo(Caeu-gdE5z_E>j)o8DaWaBn`M4XH?lnTgPdi^;8H( z+@8}=^)~<~9Ct7LPpQ(5y&((;if*XqVUxhYGD90FZNAb@gyK8vv)g8YF!9)JME*7v z28<5^N_?!ARBurC>$_le!4)_ds2rYiN>Fw62$~NU)$ugUiP*xfqa#2!M!xcjLOy#9 z9wUKEMP5&*w9P{!%!|D2U~5DPWq~va_6v*D9^DVAdiAS}e02=C$R^_vnq-#rDPjj|P$y#-zdpcJTb`K6_xKti$@y|HbIGL(w$4jcvqXL&@K$1h2o3aa;OIlEK3tZEG1jPU%%zLEUez);8a!KWIq##v6Ze3?zG%UhZX+CA62xcf|eL!7g+s`#Q1u{1M#hSNpbN+CbTFoNzL9V#pxo?0hCn*vI{YrGqn+Bc_BMFx#fdwua zRG~3X#YffB0)^|Q0kQ-qir&{+xy>f|mE^&mK>Mt05+4k?_gLzonLKe%2w#XSh(q)! z90HXdQGQ%0_pXoL4)XGVbMv@(Cf^dqO*k?R0Jw=O40|C@DqRlR4?Zw0W@tcdOhO!1 zBb?P3my8z=&RL+1<%O;g%&eR|&LUB}O( z6qV1ApbLPp-W{$T*bEAhUuEqRPLDov$+fFNpllH48Bw(uaEipS9E*;O1gp-3UVv8=~D>2Q?zvGp}-(m#Fbx{;+o(%tfP=3C`V% zAKz6eWJ=^`A6)||hurDhNYXAoODiQ|ky5lzal2ncwEsFIiX8lx+@S0PUAU5}I6+%e z!yOMpKfivCc9moOr{z-_fIT#?&Qn+>J1X@%2Cy)nw;2sv$=Q8R=h>@R+oZz*mxFOW z>4!-AvVO%)6SxOU|6VeeyGf`p`%qbYD>n=Q5H5g7T8(FQwp+LxGV>Kr2YsR9V|Et4 zgpV*g`-;ykG=rJO@UCjrwP?r)bzbys6u7bMxRrKgqL`^e;BxFKdp*zAT6b zrE7>|fy2F0I6O#@D4g8x@2fSr{S_{uTa za5#fJVh!_$(-vd~Xw~|)eu#TRCH;gK6uHIxG%J?EK%u{P=hYmS$zU8!< zV}h_1zoFGe1xN9vK9BzFx@}`NL`W{Ks@x~xO6;%#{@PCl@~{`s&P*27%>VLYEl}5C zml%O`aNe`65yIeZDxs1eHV+X@J+D8B;$s+1%gRSGRRG=w>2rR>KMQt@Z)|QM!uXI{ z*Yvt;*LUfw_zm(_mbWSW^{T-PKF=g0A zpJ}gf2pF(^+wlwx90|v(+(*6MPd`Q-9}Ad4v6wp_35LE%wH^UWazxq`X*#C;pF?;Q z|7N3Hh9Y;;LJoN$2C|=l{x@AQA^Bz;Utmz%Z5LsgVqPuPwE(4WsWi^KoECnWLbM$F znj9c5n44c3juY`pvtMY~?bO`;wqo`6j=$Kgjq0ytL#RH=`s}i&nZzK50>lU1JX|j9&M!F;Ec%&T z(QciwKN+3mB$W(OZN}+Lq5A%};7YO@OzQ_1Plg%uqz(1)VM|VKKr%Pm{;UGD(CY)M zmFVLuVbVVp+6H=){l&5{5MykfndhRmMUFym1i~=329%X4Chvv{=Orbu%Tu2-Yq_Dz z?KF%0m@{I~Fr>9~2ve~`TmpX+zq6>AB>d7uw$>x!FP+tHzJ&=KC{_~ocZ~{lk@w>Z zdLqoA;})6IDOm0b{S~!=i9E)lP>)bz=v$`fp?O~gvs>W%P?tYb9j%Wr_V5BM0!kSW zmzoIio{LFq;YD&Ml6MVd7{`w6WSyH+jHat6PXVP$N#k=uTI7JMJms4i!yaQPon8?T z(VnCa6jqu3Oa=%h>wUfKt-dpS3N}A27|6WH-@CcRVVSau#qZ1>=6jdMb=or;c~bT> zT`9XPn6jI2-v3LN(%v^rd%hA5qDfoDYl@VzC){$9tjO^tE^79c-hzQenTC@^z~V|o zY=O?b_JAQnF{>;Eie1SRV3`Iw9xcKmJCe9|;t7}x*xbG3co7r!9lop*ZM;n^`ne6w z;O<ck`_k@XgB(aSvWA_k+R6yhLcfY&~#- z+lkmgN_X2UXgubaNI-;Emfcp^9)aS7qXc>dk!|NPXqVnFZaISwvV@<~rV{&$si}GA z7Xb$}^%!C6LbcZ)ihZ4XD^4H=Aj`&AdhGR!5|q~Hi>lTG7C`6t%al<|r@h#QqO;c% zHUzONzE5J}ktWWdCI$cLfnL?PKa&5r@Ad21Dc_PTlRtr&3!xhVE|468LtrbtnKy!I z19+IYHbElv;)`4bs<0E1%{o3+VClEzo^r)1`e@Ni?<;j51UGzrg+|jY9 zoJYZYPJ~jjwvd|xRp6~6LAZPT6hCqqcU|e_$D~)RMqrqk>n~@I#AGWw+cF%59yeJjcS&sS7f&jFTMYPmzsT(f4>6 zE69-=jPyJTO+Q#$Gc$9$7cSGvrqySqro5;v;3)5RKU+5TKS8c5$rw6|<>?)pK-;dp z55SVBH`L;fc|@RX{d(wHTL6{-q7N%h1yu>7T~ayoRGkN~h>^$313gS2_xu%v5LmqQc6qJugIAuB~>QYcXHOI*h(oke*UBDY6wTVv^i!4YPmddhM5lIxRET?BDe6 zW?*30@xzH0JPg%wR5)px4F&-AJ9<7umw zJOg|hCuyuQ6zVGfymSz7-mnA=vs$J^2s%he{bp0B$@hbK=kGF&OniT~5NkXu*hHFE zAH`Z&1ikf$4+@kIY-R)$He!op)d=&l{9j2S^HLQOhNxxUmUU`ndg5zdf1k9mMNc61Z=2Wz3jXIj8&b>XYk>w-JkeVP&Rgy#G;sO!DCXVYlebfF+yD&T?aFJv-mOE1cR(+~@L0#vAc@51S^=keQx*01c zO?OO65=+&?R-EvuY;gQ*?B4gzhmwUcFTborNU@S56CXdQnYr}1R^${P_HgVb%hi?w z*93X~Q)H;~<@7%QulJmd%s|-^$>8+&?f6Z-W zUaWJ#cPb=6;`Ovqn-(DsFcl48cPYkb88VVbBNV$w+K38=Q#G>SM#!JsvcQHU?o(6= z*V_nq_BpjFRN=e@(r0ue$a}}h5?BIH7+EkXvXRbdV(eCO)Y?0x1(xHZthl!M;7>8p zW%ML;2?E~_C-a`g&Yl!z#)&lZv1M(g%23E~xn~5ZQ{3~K(viw8u>tIfzG^F}fTMQ) z{ylMjH!#6Doq=)%QXshfL&Gi}oe_KfJ|37qBmsXLKXb>(3M3wte7P(ZJFAttNg!nb zTh%m1%KjN}huI@w@^vMY2g(eWL^7lUHho;)-rKJR-@mZGD`B+S7pA7uG^ct;J_vlE zzYAcxsVptm`emjHGIZm{I)Bfaxi(#V4;CLb7RRW|9SJu#0sJNIiwX1!=y%Q|3Tq`m zW=(y2ZaS_kQU0;l2q;dX!q7hh+pq8g6yk`iTW5(=9i7dCGPz7Ipyk^aOus;><4s-h zq`#yOmVaEdAFOIQ|6-@p7nBEO@^*D*hco{>_0NSTz~}Y@#mn0dd{ND7`l;YM2RJZq zln&xY0zL!ivpu)9h~P8WBD84UUM~rRq=Y5@muP{0pil z#b&#HVYGcIpFl3MT+}-gD})Sm7Q4Q0e{<>>Ll^~a#mWL=>FQJplI&0!PZ)|Dj68`& zj9sJErp9j_{ar`wKKeQA7%@J}l42>+CLjtXsRLkM=FZ#kUvtnHKT~k#Y=Axxr^Tp? zp%2sMo^QRHh6mkw2l0Fl>ktSQcGk)0u+Xj!EAO-tl^jKUcz$AcribckOzUt)i6HSK z4~FNCuJjG%0{r9nG}>fB05YVvVx3c}heaM6G6&BQTs7X%I{xL(=8F(wAEhpEf!IUm z&`Y@Ay(8Bjo3w}|CVs^OEdB3&s2LNfQc|G@u)}o{Ptc17YJRB~MGDOj)4tq(IrD-E zWQ+nrBTxhG?a_p1baG|cqY_72d}#k8Ue0hiD+Q(tf%BW=lWi?1gSrtc4)uE;h4oWp z*L64+XPw1{fL`2%Lh@&Ze^`pqepry1HnPZ_tL~K!7&ntjFgCi8xx^K9wE_dnxv#Qg7GJF8rx?w<3{3^5b6l z1rbmdTt46|Ev)|wE8A%_eLbt%D}ir7F)7HhQu-%t+E zCF~U^>!17&(YNxmc05+dT^Yv zOin}>r{?q~?Sc$^DO;GXU#+GxrWqLGk0>=BxAiU%#&i+O=cY7BZ0yoa6NS`%rv1?HT&8z_k$dO4QrJHp) zTY?mR^Fa>!^Rv5VTi*X0>AKggaQAvQJs?n?_qnDmAO6fYX|dxK^^~UZvcdiz0l-;a zxl-Yu>vDc_CRm~tWSEFsDamW3D>PVh=Ox+=zC1cdb)4`s8R;8G_pr=zkkImt~tl<<4zb($| zU^)9?vj9-6j40Oe`hgua!5HNN)7LVrBcE@?9k*_U-A7bq+pFz4F76?vf zb4`uw1GuKza`Pq&?VC7Kh%PJ*{;o_NQQioUrycKbv|s=O{sKam7`+_UYRyhGc|-4U z-I~S>SqR5uFIMtoKt^luuQ}PafS_sY&x8g|b}bw3coXsy4;``K83N-GQS*x41Qe%D zdt`B~#M~Ix_P^^Y;PN;P&>PyECkeop&_}J;a+|;@`s}Z&>9kCExh#NDL&3KNiHSzL z33(U$Hfv<`o*i9ub8xS+&6+AD#OgM{h^b`=DaQxeW#Q@`rl*^}?Zt{B{IFn}w$iQj7vdZLFr9Q?X?(CPDI zlVOk(5+72Ei2bstk-rW914#7=S0Y<~T?xrLMI+AC^hX#Kg}fVyv8F>b)XEmxVS|tb z8Q#qBhsDKr&VV8~%Y`UTkCw`}|M!|=VhTz;MlyI3T*a3L_(8orF-WjupPZwgWTwt= z%ch5m?))@6WUq2AdF?U7DftXsVM7jLY{rjI|93qvkv|!Wlv`8oL)4cigEU~$`*nL1 zZmMvw#UZ08&pkBSucMYnO0jfgPuIK*h%s1jg-F@h8ah-oMgI+TVfaTdpZ_6Q%ZdkT z=@4EY&3xkG(%f9;6Sm!|sK=gqS4y80zGSd?KzXH6ZpO9uWo zK`aZs!q=ohk_1I$VifHgV|Z7&EQ%G64-t|T%}7~Tt<{{-T6|CwR=vL~k~G=y;e>{o zv+AtdG!tVJY-@Qo)cRMmLvBU>IHlOzPS9T^PpmeR%#D?0^wKLZV^J-WmhNkVYyO>q zWOTJgsv89(Tb8s*zJRtyxSXCDFLxCrGvot;V=WGe{1Dm&0t@mUhtv2;vM58Z)dgM% zoJvM{tfbriH8xXxuU^z4a=_mVHlXHs?7x2t`e#!J%z9M$Fh8sQp?mfs>rKP~?A(_a zj*7(#tY&e0(bh>4jr>H`OM!o+0HU0oFJiVNL0-A1B?R3<8#3X)ThL@7YU8v(zE1nZ z#z|y){e$&`C?Em1ZQx;nbI~$$AFL`P`2JPU8N=3XoD7@Tx?_q|oI(X{zy-fU0bglR zH`)OM|MI|86R-ik;<0Fq$(&;Bwa{;gJS;22RQ1#rTQu6H z8jYK^%?}`ZTGs)WYH!%y-pe|aZe{Cf)dyT$*=~}odGx!Il|C&o(p3EzNDZPmLA)=CE=g-vr}w%Y#A18<#6m(lvQWumhB)3 zhJ}~8dC7g++ooL8M}_7>z3BZOBhBd+!Qq0H>1~N8ex=s46DiCL9z8=#9GVTEN~28) z3#(SpqL)0T+?X3FUwpoEoNwyj->i40uayM^WW`h1F7c$+Q3&q#3*rtKB}zRMr? z1DJF)D2J1nxLVyo^Y%wyh_iryQ5nk&i#D;p-39$~95G%X(CCsH%i>KM3xuQ)f@l{M ze6Kwh4ga0ozh88Fgk|0U?b&{Bp-;RIe$FQ{LPw^a_)6*nmQxG@X5^lStzg4b3B`dl zOELe@#o6)J;2T10OJENkJanCNK$G~7583dYcQb8)HZq)#b6=0 z3MCb3%ftX82|j0W*E@9DswTUydYRBlhaIUP^Oi}!Fil)}zH`44IQnL2ox|r*y&mo{ zKJYZJBPjoZG4q8qmkm!^{+G)tb*md@pa^w-u7oP4bx(Fab7rm@Y7@^f-Neq;1g9(; z4B}WdIL2o&z10|bng|OexbfeLvvVTi$xpB?+}zG1bg-|z?}5?z=cLEc=4XutK1n2P zLGR4N=`0crPFTVlk))0+GL#luJPY<^$rvd$`SOD&$RupUdn((L1@1g@qd1!74bP`qqLAZq;F70g z56t2no&rFtdSR#p1k_*7BwMdVT+9q)8#UX8AmF ztA^B1D5@llW=5EJ0lYpe09(w1@59ZpA#Wy4p@GN24~!g{iKI7xMDZjk3+yHcH7oC7 zjFIPN(Fr5Zyh$aoXhZ}t-Ekx>KMcs8tci>uu?ejIc#u5CW@RV174y7oL0g`))UVPT z`r(K+Re84ncFlQw8I{_kB0E)EJH8_U;a|k_atnXjAFAI64EyUG@IsZYNlme2o!eKM z-9w99js@BKzO%Mn|Ey*rr0)6#Sl!7|dRN`;Xf=PW9}0MP)2nxj<9dgw?)qm^`vfZu zHQ#orFxs1^f!Q8=R*Jf6^9z42L(f-&7T6pP!}6nsd(c~ zr9LZ?#j*a9N)>VN-`q~drC=+SQQPJid}@PX#G0^lc%Hsuxyz=-WZkq%*f3tTp9*|3 zgQD;Tj$Dc5kE38i5O|mmEVGs610?shFB@t64&_W=VX##TTYQHUo}E+31_*|{7Yj-| z%x&isW8J{`wS&#W*s0qLVV*#_rhJgWmNaOU&)V~qCT3DHMga>^>fi6Wej~pt)1`lC zvRP0=Kfg|`6ybvB)9Ftu~S zYcUx7nLh7eOaNq>x>T*c+3NTWy~#4T@TNJ6t$ZC3>|r8po+Y$x3odjFYnXzMB7YhN zM3+si$TIZ2(-f2;MmMt-h7Hai*`4$g=l9H!k7UjnuL`g#U9SH(snH91V|y$et)}}f z5Zu%-+gWT}HxxK0;KSHo&d>bZooQUvjzS_4Oi3(w821JnHBYVVNeR0MWrxVAM-iGF zkxzyLpq_4V=EFt1WQ4&2AH}5%7xd2=_k zC9{b}l9H%JLDs45&Sdu+yURF!D{;()A5GRi40p2yh4PJjjgi+oE&9J{aHjhf0c>F5 zkv`X6L5yeK0_0kzk@vDZ)KkY$$jKh38-HUBp5FyirH9g+TH>3F^`l-WzmmgLEJx+b zrjG#-<9K{3!}|bNh1McIMerK@f8-kZD=~|@FHvSmqZrQOe-2{{yP{`c)&+gB9kM{) z8*y>;-EJBwL6hK&j>qDr`%~Wqh659bH2^UvnU*bm`sp}Ei4g^Cn7lUm@7!gS2#N>< z$XE0)@ZtOsRVlTR9(OO~)KaRTb7hO@;6rq3#8M>Uv@}9zaH#BA(tZT;P097?*>VaB zorrPVi@Cr9i|GFZcRyVppLnT*_XXLDrpp+v-h=mNy!7qVNH2nJtk2!c-@a=q_QsQO zL?9u9K%+}6wT3quj_sTe@*?7NKCk9OMJK5VHqEzjkISupzqcbi&uekx)KPHOfc)vP zih6Ps8bmP}s7*LHAf2{Efsvee>1}TJdwBjsdK?}50NqyIss)=Xc0o%fs-=L8yNif_ z$wPj}4Ae8vsR+~%lsxpu?8!hEozF0XM*JwSc44@DS8PynKZIG*3 z=wK*_pugw9v^a+b0;YtvMB;>CEM zFzv9eOgt!31fk~qA>82`j$kG8Es9g1$`0)j;l#oFg9vNv+u zsAC935>iQEv)`y49pDi;7;I!_nT#AeuwcYKc z;?q&{>p5d932{8Dd*5LhtWszJxxR++?x?%FX*OGW6)H1)IP0$!WUt{tq`{2!HDfrA z4-%kR6Yt1AAbL9LH*}N2^6aZ>sT(YH?fH6tjkicw0Fw^9v#|Y6k(pQ-X ztdJdXx2TX5Qp?g+;LdJuX)5(??lRY})M?bHW#2+5QIy5y?`pY_rJHAmdGVyYl1ymL zlP}KZbEz^d9(W}swbr7TnK4Pg_$QF-I`=JYdjJbvx>g^Z)j}wK67u;WHaQotPg?lV z-TI3Qi^Nm%YUqweGpoPa8t3v`Q8Vrg!+C>*Eq|=d9Ei?7s-H36R$jY*D4+{0%^7od zN(wk4+v3{_+GV7svX4t<_+j`pm*qBcC=J5fwQl`eT)(&>p?Y>N>=;sdL?Brbg{fb- zQH2AJ`j#a-t`%9E*U}&)KIcxQ02C3Pw&Kjmxzp4KrEj}30H{NVTNM+N1(s?dV0H-B z?d_y)pWD%tbPSM_B2EOkq6f%qM#^nnP5L1aF_HSq87R=>9x^+2+_VE6<}y+-A~&$H zh0rzt9n_Z;JCW#!Y{Z}QNh)E^h3m+wz??aD2R$DE!Q|`139e@@bV=GdE;s4(xBHfm z5FErFRWJ>4u4!me)4GU0o*-)_FP`HPQ@xT+lu+Zz_c;k~wpcE%_W=SIM0P)}SXk~U zMMv5r=}sICu7Fg+u7vd57FLK|b3LamBo!o=PJ1?Km8nL#@}s)CS|elj|71zR(b z#Muj{FhmU;L8;>vOzZ2K@-bB^YDQ#_REF1g7I zfY6ZBj0^&fwECtA2|3#*CAmR2d2b2N=}+#1vJtl@A~jOO{r(oAi_33a2FVj1=ho9? zV8Gr)d;w=qz@r2rFv!pGyOU62LKS7;sn&oK)E-JaI4=)5DJNmjHQT09MA3k`ZM?YM z08>l|78W)UfDOcIj+hTt!y*-kn0oaXN0(@?5eFnvO>L=;BQbm}NJ42-$muL*IFpD) z#t!rc*ic-;FqrjzKCzz69@uma?=J8qLJg-&ok0<_#cS_>>Sj{iSDa8;;qro8cg0dH(Mq)k!&DGqExIL@;<^s%zcpTWQ!7VV@}b8vnU z7qDDF7v>_KG!lk}9>Zs|(V#5m`17(3(m9Kh4jy|9C<+X^pc(cET(kfdAjbS#{FYd+ z%3T^NSbpMq+Zs3xuXx1DU{3+&qRlqu?ula$*k4);n25|5%G~zz-lAG!i7^V*MA$Sr^f~qC0gsuZsD+nel6hK1~1ARmQ6R@maYUWnV zfPFN*mJ^{s)pmtPzEO7;u!V>&s388Lmf>FRav_ED9dw2{qHTKp7r-{G^{k9j%5C-< z7YF5wf}HRp+6=A=^Lr;IC|T{Ef8;+H1pP~#CWt&KkKBilyr|vn_PHZxTa&oq^<#As zLU7lMpd9Sy%o}wlUqO+-tqXr_a8{2Hy{WyG__wrzy_@WwYS|T=E%?z2c5^i*8Rpak z^RGx!w-Ub2RHF-VHnutbbN&ha$}3qX8fNb?fRM5~(d2v+-_LL(Q(XtU`6@e@`jl=P zh{S~>@+8zrRh|s8+r64V5t8j;*A(|;S5za2moUk(Fsm3WEV5iP+gc|1ac-4qP_M)s zQ|UhwSk1RGjTCUjiEir{g}BsB?$AzYL0j1`5*1TOQb1rq83`8UQ~l-VT{ln*hX{#N zPY&c&cZ+{<=>j$?Xg)`=QE$Gf|Pw#Vo_i zDCibLua>(;G7l;VRf!oH8he-!kNltrY3wCbKtCX>Mh7wg%2N*vzzHGTg&v(I7Sj6* zL9$sn-?|m?qH`ISf(@K-CpKUV)7>~lkOWo*4!5BuS(ye|%+5ihQ(GyU1Lj5Wo}IeQ zI3eG+GeGJ`jP)}kR6zQP5Z%bii7-jnDfnGE#iG$=9h=ye<>@0ImI%x@{F*e!^B%9vLYxxGT z|Q?IIJWZC2m-)>f+?rZJ4dqY;aF3DvspO zy%f5(MR15G3km)Hs)Zn;<;v%ta2mak8U|!7qH0sAwb4b!FQ>0EM>IaB)9J3wy`58& zbL+%S)NP6dMdA!r)FqYn;OL39Pt5#_xpmLTDArT1Ju4@#b!F-tfJuGc&R5cw5!v^d zprr|u47#&Qs#$7F>+XkPnH?t~7Q(r;tX9cv;8}#{%KSx8!J-Dol&n0^D%inna0VkO z)WwzV!VS7ZAa0b~lSw6tL53j1FJfqs!n>8CofL8em);H7u{~sUC56!q-vNP>Mgs`& zkI91pSQm``2ff@D1Le4u#jpBLA`TKKVR!1&v|kYy3G<&8=k$GudD#pbt0*Qy2140= znm*I6Gf|{QTTufyFfALUq@D;`-P`mhKoxEep@G~oGEVEnt~??8FWzDNoEoEV*|K%{ z{)kxR@6qYfs4oa%deku?Y?93}Q(u9skPL#V;gS%C zSdR0$5PA5jT!I|_46~{lB>8u+(wCZF?SQ7-GeRG6p?uCneI@2j7gIbcIjPGS53o9L zbU}_1<=ze_$p^uPmSGL{3YmSGNT{g5ufb>@^1L;n3HiF%&Trs?%0px{COUtgK8(I>>PSe5cjXaXg71ItS;XrZfmKs**hKV3pMFjufS%!pFmpsB_em! z(X2SWWR+ukb`vGiB-P85E`Z39YhANv$9-^$F3}f7gs=^go5@czX1|{nvWq)3jyhG| zjj$57&2wAD9`V#{@IjlWaL(-i%C@K?C&;RG&O=M@lX5%bmzsI8Dh52`^yKA29IsTX z**d6h-D@bF+jjBfqz~_7PANyS1u!B{ADPU;d~Dq$C~^*Y4*+nqR`?o*J&EC5wl2GP z6;{mn+j|6o4O3Ia1Ft1|mFzGq!S z{HawbKoL`JhA#&22o1_)e3x&KKkFuGJ<;r+9Ib?(xCG@P&r5ki^o~avCslH~8Ys)E zK|zs-(4HvAVz_Pu$ckE*>_1}2fsoy)6x$`sPNS=_OFAS1#lLo#(x5LeJlGcwL(!6R z=?>Eq4(9M21b@~}GMfLVZydq)kLlV_d4%O(cEtdM)ve;;EaD;4-~sm$O3Gx=QI$t9 zq<~DaaF)T1I(ligq+|46Fl8P(+jTtv=_96yiVQ<)1ncS$me-^C;dfn+_7+?C9ZChw zTCP+$PX}_4DE2IBO>^B$JfitHm{lkhV6%R$7@pW_JNtR3RlmynH!Ji{SR)v-MD6cZb72=UKw1B&&gRT)A^FU%<&+MSeM5$2j5PN=?) zFM-tRRT$iyuFA@?b0)N%RbM$^arLGX4K1b9jvv2QC3TiIR3+-fp*vM&f(@n;4*I`F zea!xl$g8NSEk&n_7w1Q-`LHL_Y|z|qlK=8EvJ7*Wp#{Ex6l{zZKl@!jC;n(YIfZW? z(v!=)c4I*h-zz98s%a9glusKrWCj1`fdi633UKzLJg9}o7w_GDk+Y{8&R`5Ov*P`gJu)Y6G)9%A?NHLv5iK1;698Sz} zj?d_iuPHTVQdAx{zDa`vd@?BWV*w(xWLoc4A9cSZ^Z9ET$hnOE@c-mS>m-!TDjWmx z>NLOKQ5T(XEGTfy)!deJ@{?N2f^u(ac)UWDgpfUTjhs{WJPtWJ12cIU$=a1}@Qy=X z+xks2G_PTvkw;DBJkH*P7r3=YC16H{L^)HI`#L-@HQLRd?G)FF)L=NnMS;B5gu*Q1 z9*v$i`F7FkF2A(J8H)Ofnpom;+m-cv*Ll*=ZVvzv0W$kenegSq{skJ(3_=Bcp2BMM z-Oyb_D&FY-kyuV|8b)_a^ZLmzKDc*Qw8r` zAN+7D)ja0i8vWmA7tnLvQ-S*JJaW=(5fgA3T_hw~x72u=7R75IUqXFk34w6-z$6X= zE_N;B6U6r4@Ju#uHvB4;eIIG?)34NTC_2mP!ETgk{>-MsB~%I9UJck(Q@F~rrZ}Y) z#z~}@O+l{#ieNzf(ncD-EotYrA#Ol(L3ZmXx}_Z->$Q5@t*pGEA=WxWpy<222nVl- zqu%Wn<5l@kBxh`2I`QwRG77kTZuA~NjxE2~D9teR9lK3tRTD-O9XLt>D7 zkvoUqWWDlv8A6d}`Nmc(1~l-PaBTxO-P7&o?*Qg_AFHbK?!a;e%(&BItZE=1?6<4OEQ`9y-% z7KEf9%oN~pRVdZI=~i>TwpWK|C<#}(Bm2LwaS|LCEKZ<6g~i4gY@I7ry(J=syVhk| zZSVEPUAETq0)~)Y3cp{$zR8}m{ObyHU;N|d+E`e4=AFiGt#S?+J!+#$8aBzO3RG?- zy9pRkkBniE*aEGg5X>u$tVo6Z;X`nT1UNpe<@ydy_q|y-7i3p2WcvPw!e*0`Jrcq+ zD_|(dBIiDp-~vI>FTIniYoCU@?{1*ng$>0)Uj2Lqjo#5P0dOTZ&3y=_5Nh?gAz0E% zRQ8uYa|>SQ08#zd5>^`K713Jw55<2aG;RITvX-g$5#Ggw&@m+=T}S+miA+Y3Ag-7V zdV0~-$MsIb(|Sy*@tT@~^=0{l_suJ+C+;o}9CDLnA6flA=MN5@+HVG)zd#{dNi$Gj z^D>oD(g65k8>pP@?`JYI#v{x~Ev&2jzfxH1L?#&dQ7@eVZDw!d5m`lhNo3o@hUXr> z5pf&Bt&n1b{qtz(ZM#RPz`b1iCzJvJ;Z7WTnC}#^VozWAsNGR033JK@sSEp_9@DHu zDjVfibKdPt7aFUlBH^zb|6!%?1mp|{EjMB@hAgNTEU4}^y5J*4#nQ&?1B|ZzqEjZ^4t#w8R>uz$@ zUNKb#DBAC4;B@(lS=QGS%aO(=VKa4APYB(m0zp7=30=}#BLjO?MC+ndO{d6*j+hfH z$Jo#FQCVeL7tTU!+r|>o;U!VCKLy|<+NMiCZBC_OS!YY8FuYy zso-;dPeVUj-*MWA_nsjfuX4e538+rUkIJ<*3o}4e>jnJ$AH%w%$oi1rh2?Su*iDJP zrKD^?ECc?AEJy^guQ6uG+IF^=dJ&;V(#71f)MxoCYK9K_zZaYoE<`CeuU#pRikvz5 zI!~;wXMH)T=L-J5oyR(aI9Z+K2_5@w$AVRZCaOwPN~80)4=D`86O!$yT~9Fnldu{s z5~g4neN;_c`q)Quxv3_~9=q;_cFdyDT>(arlpTXZ=$zzL z9+vRX0>c$lw|ZE-$W;Wj7Oqw?vggMd=wLVnl)hS;(QqAu2e=W_xZ%T6t|VZq>aLDb z{kYBQFA4_0KZ&lXI9S{1AKBFJfoNMupWE)#oixlylsbar8q48Og4wthH1)?YAsv2y zU3l1!TEgMsR^T$5tDkS37@1_X_fQ_V1b;CJ8MIAJMV>QX z!caSqB#r`k6}I$G46YR+N@`z35p^K{Gezta$S&!Ds{;#9typ!3w~_0e3N5EJt)>Ft z5>aE{&1I2Y>Ywc5ocavc2NGfVqpZf(?nPCj@Q>-Z2lt3b_>a&+ILRnacekX;2#>1r zP)g8s)-j8Gl7SX9DGC=BUW!9xJV8R4T^P_;Z>w58_y_1ejTiFgi&r8x8tTZmwmaSW zW99rWnX#J#Cu=y$@F{G_KQDRmhxLz&7IGF=j+{h&i6XIhxh&ilvGGp%yH-9QqU^G{ zwKqi@3mZ-OQJ4;H?+LJX_XZYYt{;O&`TG=(n`YFm=X&{<2o8Tt%33G|^@rBnc`w_z z{CZ@ROjyqU7<>m0mD6;*1Ve#{p?91CH3xVbiIOY}a>b1Ym|Z|oK%hL#Kr`yG8VF<^ z3M}8?)u|*Z-Tuc!BTRPAzY?$Qyw*aGQ+1N?J`uz-+F_2qB6$ za#(dmu8y*b6X^doeZUN=bK1)AqR?)fQ5{y7606sw)@gJ)^u}PkDSI%dGq6%V9EyiZ z{yG;(Jq|4fwqf#$)FFJSI}3ms2>L@pI>Ss-@c9zq_YyP3!Xprul$~wci~*c8^2pe( z1ItTF4-QEaB0+ALN}ST2d01hFqPa4ZDO+&giK6$6RDOugm( z#!hULqEU;T8sTg93OOvwV!`i&muRU}U68R8PWgG})r?Bw%sK}!u`w$hCrUPt%d5^5 zi>;ATXmC$bLA81~O5w02i26yvdpY?d3>*8RYC8U_tNWPJn;%A^U`Fy^}iAX8XU7=nbmO znB&^NOEMezXvn6KjoIs@C=p_$#F@dvDRxnl+$N$m5Jp$OPl!|DlM!lu)%Zb{3m(c2 z04mwl?inm_$P_UBHi{HSy#GCOxTSBNfne#k5D6Xr`__vTHleS0KO1nu-T)>+6{mZR z&vG_&@M!Q`0~bs)4Zyu4OfGd{%m^Yft*9B2p@G}p`D*oK*xA75EE3qLz}5ZdL%^KF zC%ddeR#EFb-?HFQ%aD~OAW{PyC`4I;RrnIa!F+zKep?xdbrD9@w7XicH88g?3=wt_Ym??UZSvnX;=hf}m znHX3!v;U8U{vxYB6#BhyC4mWQNccB>pW!=ute@_p_yO0@Z5~v{nmS(aC<@^}&tp%a zC_m~>KBswfAQyY(cdBOSZGt}ty&HmBAQ#=T&HQV&b^w{iG?uz%m51uEy5Z_HL=kdX zk@;~N9!NIlC1hkZ4M=Sw!I;N56q903k|4@(MQICqRRt>3tL zFd^0oJc_u#aFGkYfr)F7`H)j42-@=2%ADGPgGlkyO#$FgE~{Sx9F}~Ik@QM^Rf&xF z3sRTNRg>{=waTAi!?hj)B1Y*VdUPWqYT+x9yv1L18`KS1oclM+lxY9{2o()5vVgI| z#IPaFFn7b7sS6s4F2Lt}Qt>L&#|)e>56G*`ML--8LDAY!QC%){7v*lIBEWk+i^z_b zLQIityy;NjJ33X~(dyo}MxU3coQ)l}9_FKI_G|Y=zI1g*o@$c(=>3~$SGx;-mbeB-2fnV8)`?av@p+Vfglr{$ZY!| z#zGF2D}rAB-^!Mrb_tp`V-Rvn=HWyI{-2mS%qY!YY0NwnI~nAR4+$ zByZt}JMcDIv>jM_dW`y;*nt#HOn`p}Z;1psE!ckGzmtjb_X1`Xc&%OyMXrS+)%3v^ z0Y@7iaTkPw9|$_3!F6w?vWQT;foL=K+HczTe60MccKfPtDS4p_99fcC5VMhU0C9Dc z03>FaxauK7>fSxoBbm~RUJiz|0`__(f|;#Fj9Sp^T@rR7a*2@)YXCG+4BM%N$7U&1 z84iVknjp=C8JImrQtblVaE=^FHCGcWs}M+z0^u%5C%Z`R1r?RfA3Xot?o-sDdSUCt znzHN1Pp1aeJ(c@)DaZr~4;-TMs^|a>m;$4XVG6G_5@9mwi)W+=$9`ElE)Y)ANM2_e zR1Uao{|t9c{&*5QoF`PvrQ#)%)=o?{02J#e4?KX4D>-F7pE~r;WBvFGKK%r83T)k@ zk3((73+^9ZIz&q*hs^bcm9+R|B#TAp;!qY3hz?833~TL730-}1s7*LYbZuDG_e{GE0hfE#W1U%aiOya88(gOOGWXZ4le&8 zASqpU`R*7W2*NP4j2}~IBlPj`E*^aM^z-@G+CzWotw)Ne?%q<->bDXTBPZ1_ zB>11Q4B-=%o~6+In47}FIT3Tw>!O_9gMHhcmP}t02Ib!#GFp3g!5Q3mZ*cWh#YJZ> zTz4KG+VLn*E#BT@7RKwk?|u}$0}sbEBprrnp_dbn0qL5B{jm|%rl(uw1rJCnIHoF@ ztJ&7Uf&68-V9@4cq`w&ThLeKyaE&av63?E%hT8_J=mWqedM~2wjBV}k{%39VLqGRf zGM-;N5|+2d`q>eq>qu8=ux`0HeFxI1uHP|Ivh-vb%fqePB7mt`>z++T6$-r@;A`hL zD1s}y)N1BJVRGU(%P%i|FSPQEdEZLCBd3aFPZjd+F;2=;44TWG$86IwRcq&*A^U-uyLYcEq{0yf&g(N ze+8oZB{Qk1?(vFZki>_6?72@fC+|>nCX=dpzz;feOC~qD89N`!Qqr-Pz&GdB`3fq# z=UmyD2z$+tC}u32*AAq^_ys$GFGGV9+pbSjsCAKKrxE=156Jt?vV#fTSIGe3un?5( z-jaN{ePkM@Hz9-=D-ZD6ACSqO_jluWg#V0=9xlbdnTTw$B!$M;01WOajrzFvC^8)6 z7bB^+K6k*|a*q8DZxq{*w9`aa3a}XkTNl$O69T@~5?2K|EUi4^iq|25jv#_3WQCfq zdZ(^m0FF&}0t=24gCr3jRmZEBsTlRc>TX*2QpmD+CPKTMD|v33Eic=1(CR+FopAVn z6Q~7?dD#J8z`yyBV8btu#iDA;8T0!E_a{bZ+Qq_Ac8_!D$ZgCkS3@*A(HS&J>%y)< zFq5Rj5~G5mY>C<(K~Wd-%f}@|zG1hx#_!S4J{4xm7gsD)2$PrkAHz)Tb3#GgLw^Bb zcD7l>VlSyT<*_9OA2=|fKg|%%`E>IuF$fEfyDWhOWRC)86N$B6|Da<3D2KV7iHo;M z#gbgCK01ejDObl$StcXhG*-z^;J46XmD5&zKGC+grODp6uaz7uAzueqFdYnAL(c&60?$z+KNyZ@BIlm< zh?{^KV_apAD0H~y#lX?}@fOW}LV9TrI4pq!k=k8N5w5VAvR7XxD`>`1Y(>cPZxq?9 zt#ato^W}6P>da=H0|pv|MTd|+E$-;gt0E7jjE;dFrkA{q5i#|_lOXFA9N|U5D<1Pk>UHqsBfii;A1W?Ph*P1GZk`Rp;MIoUDd^4hc;LGYgu4L*5YM4o-1Ad!^*@>43p2?yXr{v+io& zFQM%RF~+l>06w@n8#wp;yd_a>JaI+AdPXmWH(D=yE8tr`m$2@}Hh`M{63I7TzoBYI zG*AutTm1`d`Tui#;qUB*HJq^-_-THkBG&_fua}_772Z3<3p2)Gn-&$s-y*i~DQ31e zMlF4>0Fa(u8ev8N6;jUkSj&wW4st53kt-Bz%nf7}O#Y=&3`YKZ%iY)pB)Se>1xg-T zsoW-9G5iamC0!d=TZSbx8blUr$ov(fsn@*PqY!9a=9LtB*5Guu% zb&zlRd#O=Sm!G`B**e+}jQBQDhvC>hsthzg3g9=Oao8vIKQHV$6^2ez3lh1G4br4S z{D{ICRzXTMFf&r{cK1oq{;n~HTfm%ba82K{w*@`a``;AoC~d8e51hOSYk)+#b!+Lz zBq?LSzm;5~@THxF3gHmr z1_3A?P4a$;mcAAp?Wb(&MYXOcr)Vp_5Kdg3Ugv#q9bU<1h5_l=^tw9@LS!!4mv3f? z=>fT=Ja53(9WZgpa7zU31tfR8REpuQ9sUzy1 zwm3Rl`_*7WyS@bZJ_}dz@hqtH5O+++3(qVLX`|uL0^4kx1Qq=>QM{B=4AuIF))1|B zG;mu1BV788>FG~J_jAQ55lpAXLvtTd2a}2gzUvUS2#JP8AilqcoHJ+Om!L<2;O~We zd@cKuGhUuId28bHu{OlZB*jH*gO!8ESK=w)XnV^Vo0LoCkiGtcx)3zqDx|C&2V^}b z_)baj*_ibgEwdQ9G=TR2S_MGF9ht_H4xwO26AtCY<;S%B>hQ-#(X^UnsrAjn3%@l& zM*+FQZ{Yvt1pfAe#VM@2ttC!$|H7 zvTc|&Ze%Yhu9$N5-k6!I1lJDc_-5~@7g3IEP)-T43G4HuoukfSz3iY;fqRU43jA*YSQAskf#)WQZnhe~I&7V1~6VnM}2 zdj3D$dyZhNe{mciJV&V@@jwW?DSh@O9+B^UU*Hf4^}tCfg0rGR7M+3jx?kVLQC`XV z)DM<8fFMfJQ`@Rr5-d8T>GKwaQhqAzaBF)#yS66Lusx;7vd_! z=R+3c_jetEE_33g&$7uepPW5vc1>4U|E-quA4+vv+&;#tZc{jmZ>@@@=4_7hDWQvV z3^R&nZj|X=D7uO^wxq7s#^-*3tbmPT!a}Up8B3R1ybDCmezjwIx3*KV z3XQndo${8AS=uGQLcc3_cq&WfCm&f2G(8siq%5d=3na3^yLn$%BzBG$j;zYgX}i0G z>Z_boF^QnnMT!c5Es@=Q#D`SsStsb9`Sf0;Z!a!UNNLpX)JFT0@K|Si5No})XLlxq z=q#Ke!cx0;!c-Wvr9y15wFNIkO%`uF2aapO{Gv`~9D5h}t)MKO7I)^?fK&ZyVSA$^ z4=|#-5?VRA24S%5KhvXq>HfAp4_x}#b1Xc2XhBmI*G}o&5fB3bw2z6qKRZVQNmtKx zFghARP8r(aVz2|s>?kN<9oHtPPaBbBpow5--E*Ea63P8d%%IUnh9Drk)lOsy2S4@& zmrx1aF}aMt%e1@2_lDx&uDd|5O~x0>N~#kR7)|W_jzvy{(SV`P+Nfad)iX z<*1-afSg1>B}>gJR`jq7Gvn0}I^a58o>J`R8JTXoZif_~E^6IEW$6>J(9A0B3n0Rb|*9id{8XQfv=ul-tMm`@=u4YIUd zFT1LG&}yVF5?2!@Y0A8Hdb`Z*$||V5YNoigt+H?MEliuxTOV-bSjHkgJKRbKX^m4y zfHYySAtQp_fM2bB2l$GRs`fkh{k}UyCf9_Ys-A0-6RV*?wN{o32M;G}1muC3e!NGl zXI7G8?XRTrK7a{T1r`~k+U{mrOfo|`FG)cHyi+C*z%Yq^%I*wquNED~Fu|m=R<|12 z-78~CFMza4$NxwQQrL;)cdeKdwQSL7!eo>Mo_eGyDX)|@EDNv&unFp;F6MC`(e2*k z3ivUK)l$}H-J}0_i`bv=1qfM6>&g_^_Jz8*n#|0GDs5ONTnX})WW78&`A5H+1|pfE zsVwv>>wF-W6A- zuG=}|=loHX1w#>ZOB)sf{zoR@M@9R*SE$%$fSF3+asR%tL|a`K0?)t<45=&R{PUg^ z$JOt47_H#Y!~aKv08}VeI~2r^C-@tH>9VvXFJ)T1-*ZJ$jt`c!_5)=lM6QcNvZ|V; zA|t~Wr?-YrF69}$b9KdIjOL(eUG?WA?X1g^cGO@=FzmyI0RDHi3zCS=uz)TXTqq%5 zg1Z1*kSM;{MMIV^Eg1^3&-7uT{zD6RM~u<3EOsr!Z7gNEkGjKNE_ty89d{YCOfvk# z;=>SMakDJ2I{JhZTMUC=IhakzX&E~52N8V8*mNyP*&b1z7pwu#!SDakcqryg_$txZ z)GH`f9CfaFPRW86to4p~l23lWu<0U#Jk2WoS#DVr;Hv2aFJDeTBJKXwwd;#@`nynY zR!Jm4bz`2LE>0%OJmB`n9l7c2QQo?qJ>Q|h>f0v^B7R2M5bb$t;-FR}>AbG-BV&qW z0DuOxCQR|Woy)<*s{3D79Wt^LncWA(md~IfA>_Base*dFt37urNkf(s^%(%8vt6r_ zbwgb_!0_z)n9`mm_-Vp=;t<0al#CtIY(k1L#X^)s*{hf(` zRM}7>97Iy)^Ao<;Yp#JmsW`KwMQCt=Z6Vp9-p!plmv;ylCskW(&~Hf2S`AFiN_9vYC`wRuT0 z0Xt@Riq!>2X8^ig8lRWJ(K-Gl5>0G}vK2cS6APQ?2+O$@5EN$B09S#~D~E;qI~gn^ z3*FM!#UpmyE3R&Sa6FMjKf~+i2lPP~j?7neTcuQs-|#mZ~jf6-g>qz!4ySF$eGcEfp!?tEX34etIhcsdwU zc%-xO6ifwUhp7NP;izEG|I>UnTf+bC3v-}{ekXk^!_;k9lVaj&A*=-MrIJg|d_nAP zGYsa!3jYBgWIFd*VE<*sOLdN2(1W_W_v2ObJ_?CN-lu~!P z>)A>#FbJ1zKEtQ_Q7P9z7@3!9eg|U(Jb2p4PV|qSoS6!uy{7s+yY%#bCv1L8A+=(* zXAN2CWMI|y$n*rC)de&WU&om=ySlkmp8FKqAdzdKVKQZ3VUV_`Jj2i}D#rPj082?a zo1(3Mx^uI;4QyW@>Ne*?oQIQZ6T=N-4Bh^`7_oDH7MyY@Jc7H$BV~Tgp>x$bI2V7D z-zBeCnceNugk>bxRv~>CfP``oEP+dXRp*?bOMINlG%;zD4&#)X@kb?JUl6`^yRzI? zA2c`mMgJw;JNXZz&H?77_xjXHVgu$IE75cYZFUFWV6JAGWk&W{qr9@! zdYRVi|X9{XS12s$d>%($?=*95~)IK&M=pJC^hf_P%VGKOt#|7Ah zBU{a_=Cc{e_cmo(dcBVnFydgT{s}ru(#>bhmH7fT8sP{>6l;!<4frcYInI08`yw76 zooJtvj$?VCm8Xbn1-W4R?HyhQdU6^4DGEPi9*cLpX1j-#x{t7QC%8{!2Ka9RCk|AF z(jTB^ZzN*8A{<9_P%_X<1uemrCNmj{3pq*K!dkP1HQ$703T2kfmh52K-7fw;h#T`O z+zA*H5;7LA{V?>YqfXHNW8zOI4cUgZd4l zJRP%hKp1CmelOF4Iy&wOB-sw?7jqIuIsLRHX%3+*POVb}3zK7`XI$a^F<|I{0MPoR zz5fgb+7rZ1A}zXYB9h-aieOJ(1}&51tc+&zC{L=b7r&-Sw_%%Q3DGe%h{G}&)vbG5 zYphNjZynx28h{8+SQ7O#@S;BN&4;kX%Sw4)XmjHfwK47uV16k*0qnJxUQhtT*@BGl z9U2eucQi&5sI~^Dg@`{>F6!zo0D_n^W$Sph#ia)1Z|rxk7tF@Gd`db}`3a9z1^%x% z7B^GKUfz&|eRrWj2>eS~Ef14)GwFdWoQL35kO+S~hV|vS$P&a6#!hw68D69}N4K=>~_1 zvuvs^2m+{q`6RK7hif2T7$3PM$=UTsRW1k}kOXxqSdEj_4C(0l{L2uHe%_mJvTBiY z*gko3&}mx`U*bNpZ;0)S69Ln( zS80vq0zP>Z?`^R&^GuZ~i`fR8!G+l+^(_icFczgjfy-y{0ycktXuCh-ZzI@7_`?83 z>Ejuy=#X-OBxN3>QM?*07t&p)RrJWgd>bzoykrCMWefxv0<_1PWV{b>c!Z+7 zeTVqIe9b65Coy-)8(&z6fB<}|B25KKh*y+U^_uC{P=9I}r z;u?|!(Ujq@&0@9cC#7$}H!4h?UlF>h@Y?38_qx(>0E@-XmS|aL z1razUh7;KrOE470JHo86SF(5V`;|uM0nQi8nNpzaMO5k9@Al+|?3QpppMKOthwqIv z^KiGG1^%nb37f12^kz5~Ef`aS`x5abtyO3CrHvCFS;*jrHbshxsCzGk|cgdK? zWc^m-$vGR`sV-^uz~}j+09XA+2Fh_C3WUFiUE_sT9#iBeKCtiDA*ZtYOrKOd#FhN7 zvaM}7CnKgiz^;x-9UNKni$EOVglovqm_2yw)|pR~uXXQ!7L6=f^Y9Jx(k#Q&ZYyHm z{hffb61+x}RgyyWoCRFxBQQz-s~31DKDs5d6Xcz;oMt>{Nk*zU$Rs?d4z3t(qo zmURh$CDGDaDEp;=2A>o7<^FKL%rSYj`N6k3j&-5OuvMrJ9reiV%m%5r_Vss>9`xf0Oia zUD#(ef}G!%%YeJ`IAQzTHgZ+CWYvxwMen!3Z~1n!hV(0r*p7Y&OxoE+Yiom^q#z zyy+Ulgk*GcwF%Piq^TU|(Y3n2$Y~E_ADYh<_iToHK%NXbFG2n#fL5vP8BAoSKi4J- zB3f0b5oqan5bFJAlWZj1?%>g{+N}Fd5=0L$&blL5OPKI17(r<)F)(BxH(2ed-r~E) z#J2{4upkG)R96=8FqxOKDAp2D78-L` zeoc0TIY_welUDR=XXc8XXpO$ix($zvt}Mz-8gbPWHvc1qavA}D{fVPGYGG0rD1I%x z>TqM30~F)0CJ(BDZID~$<>r_QN5}t*5+UHf<5{-}g~f$}IP{1NxQ92~Vl5|pmW2M+RgN=34e zkx2$SzyJ--`8yf;UzM6<0`&TUf@96Up2?qo$Fi_!MYqOkou0%#zwSDA25pfe zCt)jZ@eQ@V95}z{a1EvLdzY_&JGSJi7_U4qC>JF4KUS7pZS^_)ga7sl8ZFu7(p? z(i0ZknOcrOSnC2>9xuvSx>N zpQBaY|9TcJ(bbh_weyW_2>yb8Q=feY3%i zQ#H;E^Wx<4DX6X}HM3Mi1MriOn;RE0)gTrxNKX6C(AirY|NGVsIzk~z+A=$k0HhgQ z1>DMAG3hSXE@-qk#r*(RbjS^@JF+tY!V3`}0y*uDFulB$qPyW!_c_$JoHNKE9_sP0 z_q-O*t8u;cA3kuQ>ONT+0Ue0!Rn?j@aJz+DMJ6dCR?-J*?;Ov2721fs9O_$4J1*o$ z5ALVj#p?t9PrS0Qdx07aQL?a97@f%rYV$B$k4MshSxS$eXkD(y$C*&0);2Si;t1m3TMUM`jcv;4^$qLBoqF$n#Q7|}3Op zn}*;L2+nEnUsszJ)`NZw6MHi>7Nj5p%a$K>c|61ty#D@lUpRgkqx1d1+~dti1w%n2 zCa~Aqs)&T_3_&RbDv(mM&rDr~M?>H~t^V25m>Jn-3JX~m9TO2%NL;HCJHU9N-c^Co zqs>2lhi4Z(j~q?Y4QQz*UMPOTu2c(ulD_d==1ghJ{HgaGyl~uC@tKzjDD%4GWEtXC z>w0>y_wa7qD!H=IclfsB7^Ss0K&<-taXK-fXAwacC11{ zW`-D_phPOROESQfBWm$|A9n9)?YO#bGO1qYN)%Rd3&VXsbdl{FTD^fKVh=Tw|?2Z6wW^jD40xomf^S?~!KJEaW(u@^e&MML8A zC`4eKBwCu~8A4`I34>g20xN^>B`Nn;)}e;QTC;WaB7A$_pNQ<;78)=`Yt@|hb&~K< zf+Dbn1#lru{8|++k*SxlMZ}F)FHAXA#UzCFwli&VlFIDoKVi&ddpj&J)w}TWmxzow zB9#(hJ!i92*?VzH#PTme+j|+z%-NY84FaIa!-NPZ10H2%4>BNgK3UCF(|SDp=4CQG zH2+^&qaxooy+|Z74=vZ2kp0u zEWBc#h!SJj?Xjd~8(zmHysh)dKyTEtDMRv`dl5QJ4Rg;Y@_irSy!^G#nAycEY*XH4uEC8L6*$3> z38?XcnKW^LzK+xtqC_C|z)D<%0tfSu6K=hF9~)7{mS)RjJrZtSPPoO~P=w&&LKCrN zy!>X_CLf7!2)>btv|hdQoJXx0pVr}KQVQHeWAthgsTrbic28K67VubVFx)Db1o2a` zBb-6!qOQTS)ppTVdJ)cgq!XTO2dF;_j6YD>d+PbFM<0GFH*hjkOa?C!EocNQ&nE$s z7@YLLq;O2Y$dfssAww9v0ic2$0^TE_hWm^9l)h{+2SPa|!>A%_Ko5E|&z)oWNZIRa z!LuNS7+nHzAW2wL90N0M&&CCXd3yC7TYI?Hh;FP!lRQWAcW|J0ZD)>$8;dI(Q6}Je zgQheT3}lvlT^BFp&(JVz?uNb)&$ujq1;-QtDYtR#7%ekG8QRqup_Vcq!3n^rBVfb+ zV=ynhEMQH}HITy{lZHc% z8mtGg{;e7b5hVRmjJ`-R|0^=(E1TZa4n!R}W11meqb$Hjp7xo~f(g z0j?hXzg1GmtjPT}F3N0lw{-%_s$1jdhNRiq?__+bNBc_C)AhxN;CjO$fV`A{U_pWr2iVTGTOxmAJx$XKhs3>q*<@fR4cD6(!nM z6Vs9%@+@n6*?Wn*H7UE`2pw5a*+Rw(FUQXk)Ifrv64lX90>8Xb20L8QN$%NF za@1oPd7LxLIdGq%FKQj3mUv`eMzLg7DzZ%vtbR&^?6+;pA(hL>(Wd95Vyf~x&`kWs zR$A;v9D5GAV%EBA39S+@{qk{z09JIT5C?dJ<1D*H-oS{!7wKM4N1ac((y&rrMsW{a zQc730?vRbfq4HulWZ!IJ61_iUR9ObYp+CD7Hn+hUBKX#McMT#Zzx~D}Hk@o_1I4{r zz+$SGHpPe8sKoQ=kUqQX?5DJ%LuCocR`NXR0ds`)27iP5ZCw++8ah&=hTe_7jxGlb z{YS!R;{-m1Dpb3s)k${YZY$0bd|=b(m0%s8FYC{M0(Tv<7=40&CVbEtoE0DSCs_nM z*`s^rHBE9{CzjeQ-2WJYEgP9l53i)TP69P_JzrFzbmCE`Gt8UK`sv^^f|GX=|LzJ) z3ntkOK!Q@9cstyk*{M7*7H08l^TE!TVYLP`1~6Ki7HhQNxqx~aX6$o(Ejxut)W=P& z;jGwjMo<|pAvZIACdp8Jiagx@i`Jtua^*AQ*ZL!kH#GY6))8}^cN4cc6S|5vvdhJB zc)F1T%OC!6rySxMcV4zn+^UZF*T9BdAskEai3A-ues(m&xKjQv7=&j97qnZJK9<*q zzcfC(DCC^DJ03$#;~xV7~J2+UC zl#!F%QV}w$1D5aE@JdCTA?_nF-|7I#UzJVwoX5nBMZMd1z@>pswj`i{`@*OvFe@6I zH+is7W&#AuKHc9G7kWr&$LTkaK1`y_7`ANP6};{^sFp^m{n)pdLyjkZnpI9zBq*7g z-YIsXUt)!G4h-Q*fxx5$Nwfv>yi{2Oc=Mz&#>N}N+ZkLLHg-<1E}N+JJ=_jtt0B`y zY7TxmCnKojcJ*^41KP@5pd=e*5kwyOepXz#e@7E>Y?8}`aiFHvuOM{w7nN#ux!#U@+5dcI$yT7ovLesR4kpYiQ(O2zr(~neWOroHm>nBqJND21XH=B;N0uUty zGzuh$?P8Vrrpm}sPgD{)5ED>JBa>yQv_^J#E0avxV8-^=(ISu>p4Fq-^xA;!4iWnY zIRpEE>iKLd@94s2#|dNb9(Qs{>j>tqBWqIR-!4JF!5L{qxDNZ$Wf*%N|ny2+Ub{HAHg zyW6tbwJcbFnX}-7VfR%eFF9JdfFf!8-R}YYfBLaoK5+(|v9a0N=C3wbf|W}LrY}f} z4;DWG3H}3O+~p;ZIFCG6E>H^=-$jwK4E!ie#l7E_S|!e%5ML~l`1O}?&?LcWrC&3i z4R8P(h|5~>dqAedw<7w4UPIl4?(=wOHM@nVGFp)Lpt3kI6R2Hwz?(hBVHcYfHdQ3I z#XVMNWd%fnR3%0=DqHW4M_eIr&0$;D#~d;JRuWp2-oT;WH8VpUH1MTuL>a5z=|685DrZ-w{E0s@MPT>e2FCX3} zOo9rgnFLcp9-U^ZrJFXPwCAmUjdu*`orX#!fG+`qHrBIWR1lcR29h~e3zv$=+CK~i z04L+bVa76g=O_U@KZb_C-gHk+rcpE$r;;>1vc_Th2c37nvb&S@N*1@RhAf424oyg@ zfP=XG#J3i!I73?9Y_QBr)I&XCLk+6^X=f<4q_svDj#W%+g7F{3r&fZbDLIC;tn~|) z>mFA3(II#oDztciybakMxcC>o-%=`O^Gf`J>{BXsF(Ykk^$wRpIxMz7-v{OIcToWL z$Wulx@-d^S_%EYbb_&_z<*@b}Lmi4> zo6bi$F6%_I%43&o;jH%_isc_Xk2_+cnmv3bJtK)t8_0j?^jOV&4$<`5Y1NA4xfD)y zW;>$S&>D%=O$>XdV~ipsvQcs1|LK}E#sI?XoO_*5v-NZ}QFu0kZJS7c{#2hzS9uF7) zm6-7Z|@Z&OZfgIApvpsW|Hi&N|Wb?4aL&U~Q?bmR4)oaTQzG_-86w z>s!^E6HwC*$wV!&#GOA^{Z*KqMb_}eWE(TIv#ey{4z8jxUUNStfG0!8j2x~3k~+}9sQOfLY`y4hs^;;719&;%P-v*as><`NML@@vQDEzs5t4CLlrfys2Kk`b9zROAKL-2IU1#*6%0iVNhF4lw`N z%z~EHos!yKmnaKoEIXL--KH;#4}NgP`4{tOX9+{fI=4rJKvHX;F&GW9cK=0gEIgIg zrUT?-;-%hGuOIG57y3*~#elck9vQz9pKgo}*JjwsN!3YSPjUtvi5uyj`>zr+j z;TG@58%6IV?81=~9O3d|iym7{Q{;#9`urr*%r^>tqZ0}pFMPn0t909Hh<1d}4^DVd z#;79!RdcDJk?>=7o&j-N(-$B9O%&I`Z2a}!p~Q6`Ky`M32Pys$sC`IJApuFHQ~+a( zY->M1yF3m8pCKB3Ro};goB~`mnze0;))^mvb=bxOq}5O0t<9xf>YOw7pAm7xt8LGl zxk{jmi7Vp{3_O0T4l78bsO7h6_s~~oQ~wQDD|l#OV2Lt%ln4apH@NMSbD)xe-ubiM z*T}l2&;_2DWoOktM|<9Ch$ksBtrga-HJu~aOvR`mrWYRx#3`|x0c);_I-7FTG)*&m)F|1LW-=O)`;e>Q6!!!tF z+t-ATMz2(!e8({YXg-UrU+ih=?k>AVbKTZFS&-9m7N6ZN>@L#F-Ci@Azu zC?f-slITd<*T@zSIc9nlCIcPP?g9&lWboMVbhKt^QzZVZZv9FsdSuy=_XpP^_1(w5XT&HolxDJgBPrj~cGJ54 zcE$7|}01sP6R)hsv6N7-}Vi|+7|1TjNp+}lkSoEf!Oq>z&W zmpQl)lfjRsH6#u#^OBkaT}!3Siy1mLP@ zGx1MC%radmc3cmgY(~&e?i=VOOy9$SZ8zHUtp_#c4ieuc;Je6MglGlmx=F4-a|B8* zj{rlsa(}fIQP%F%$U*PfB3ESKp~1bGbzslXg(8Mi7^SS>yfG6Vg~>j z1}UocAkeO7c4uU!=}i)xuL~`V>aSb#rC)jza4e2NZVD1&qWE@(29!67V(q34mGXSr|Vuh&#S)Og>f?+)8IR5<^i;e+Vy1L>weecPP;>Jt_VyCVQ>g z45b$T?~OYL!=%!pkR8JjU}A!AW#&P%<)4{@7Y#HExlo^SgS(kS8lfDh*bc%G$`<04 z>j~l67Zf{sIQ^P~<9!v69Kq=d)v_O<04RJ#Dx4`>r=27V#U@_N9R0ip^sSvkusr&-VARf=bjkC*!^nz!rVM;1UVs(g-+?#WS-}Jd zu5Ds~eYBUWg+hUgex;xNZvucU^j4jSY6lsZ6d90n_!@~mu!n=Ejg4rg`0Nijh>amef*6VaiaMDB?Il-zB$uS#Scowvj{C@$a}OocxJhLB)S) zB$u@7GX^hh{{YFxWr!j?g~tq4@rW2>+K9i<`^zkVp6CzvyfWNuYz{xk5Gwr$ul}_6 zs%;1^uB!+tSj=M~x0K~ zDGWzrn0JrXy87{%#gu)l({Nl(+M09Hd*t?XK9@wixD2_V>JagHab1mzBz%K$&%Xq^ z&mA58n1n!+LGjBO1t7{hZBWn5egG$Er#bAwJ<7K+7&W@41x2HOo&q*?=pjwOxOqB{ zX#gC$gnNft1O4Xh#De(^4;C^FSiZT8DGf%SMYcWRtwF^XN^WP-px8F7wY{thCLYRN{}S*@vz8CWxe1nlyjdm-8tbZzb<)qNau4(_Xvcf*Y3Q``V3!mU zSw~JYb1B0RH6?<#TNJdX{R-2C1Bn`6pUgM_j?09mQlbVWrAXdkWQvm4+x>*>f|Ei4d zA-(%W%XHhNf=sIvMtyUYXADoI=K+>Vevb{|%UD0G(vK|F9g;TFBA)lbr+P7CHC}+^ zTq|hK8ocgopkXIiJ*vqbkjY2@`?KtI_nFFp1?vlGrXshj?we5j!=ALY>C0wfpUM)IFj8WplNAE1C3~yH07}IRLsT&$778`j%iTV-(jd z=dK1ScwPcw(HYIT8C8<+`zl$ez$B}|+H?vly7Te-|GeP<1ft@*C^ZS85!TRQmo9Bn zmpF_@t*MhAT<@Vgo;c*@UoPOKyRAf`fb+A0+AbIjI9WXb|JgY6Mq0nN#2Wb2au=*G z#XgzL4Ack=b_AXA8ASrTjL1~OyD&=$Tpj0x9~cD)e5s80=KZX7r4S-WlRP}9gTLlX z#=60)FtLs+k22}R571STHd(n^6C@BefSVZ@RXnyq3j^=HF$l{jXeVb)mm?&Q62{df z77WU)JdG=KTM<_v_Wr6ofimdR15A`&GQ3A9e-P(+D;@?eHT7rVW94_h+v)eCK@G*& zF`)Edmz|K%bflV8)-Ah{r=aF5ORvJFW?I5c<9F>^Hq4MJO5ZCECk{du9TK1y95=71 z!W9WL70IRJTP=V#15M=Try9APmT%j8J{8o&GEGSSUJrsGn%j&0i0yc<=Nu7AdsONm zB%`xK6cE8u%ytMn>;Ll>TX1>hxblh~7VfRuDp;hpo?MV878*6PB#crxhu-fwleN9v1PO-BLZ|tozk`%`_dn6xLP`j5B9eudcf7=MB2h17~`gQZxDS!vc5j!%~9`C__bj z9T&8zQ_b_~l>!Fkb+SCpF2b1lk%m}aH_s1B^=n}5cJ0R zf5fN{p55E5Oc6?%&Ywv@SI+Q0>J00A5R4`Oo8Hz2&+oO7lTcfHIaq5eP(zNra`0+v zaT-G{I8hKJ7|{;4yWAL?8s**XZRq$Zy&KcV2FR`+wjZ41Qu$x8j+5?L$@xbG$`Fpg z$g;iH(A$ths`w7u>?@D*ypi~f`qH+w%qT^`rW_>^;_KTG#PVN88yTVSE-ZF=XU@ho z+5EMSBg#C$m1sr##Ec<|<-rFRUycfn%NJ-RsT=Ml(;wqOc{)z7Qcv6eiq08h_1sol zEY7a>SrwMU#s;03CjbuW;?3AjBfCx9Yc?e%`Q*x9n~_&QQ6mS;w3{)~BFg{N$x4G4 z0cdH_plZicNOEg?m8O$yh6{C;6E@Cg6L2U3b-V)~-T>yR9!%3^nuEpE2Ee5i3==oC zo?;+e9u3WgPqbLjKo1%!D9drXdNe#$sP`L#yY2 z91gkI+TCBst6J*P)4InZJ$uAia8Ftl?hX-6*; z-uCG%6OU4P#h{>prXaL;>t+)8nV|e{0#{C-f&(@aM39a#(Mog$5~5XQ-xwCr`<8>S zW72wlXyT~!dk;1|hq48(_)+@*4(Z{M@)yPocYY`OZE)@8pmHUE@I?49)&J}pcz}Pw z{qZW@nFTy4iP2d%x-iFpJyVP#XHo(F(N7yo7Vm-gk?fI&DHv}eCqGtqO0xGij%jkR4z}? z{?%*q8$I3;^!^Xq)?+o1wA3%D-zX(_Z+%(Bv@6tjoTlr17_R9g9u(mieeF`)C@Wd2 z>U6=}nrUA75e}`L&hd&c$b?wJ;&ooBOm!fE-~+741PbqHd%#xS94 zknej0v|?b>5ianZkpkd9V=!v}}#lE=aeOIM(8L05OTues138Kp_ecQy}Bk zPL;^EBI{}?mWz_lUk2# zFnTRD8H3S~&VXBgP>K=dw*y(#{cL^7oJqTaX{^;@^+mI+J|VR<;u_n}W9$(F_Ab9V zoI*jV$+&hu;~+}PIP+bc%Pf}AVgHhkt2K@Io)*q#_W)ufFytYs{z+wLo*>t|sb+k* zg}puC6*lS(*C!xBHQ|*dHs00C!Grh>jPImSf#{V}T%d!sddd0y^9A7O2pe)IR-m1f zJq!vTFQbpPGTq&ZpFYt3J%eQSIUya`%+Y~Sg|wa46KCG27h_SWswxib4+Bb8zEBoB zyahh6%(3PHoF7Zg-R7)VEv|VPWVZTr9aLy(Ou2KBYZ=aF)AG-E^!`(Nx-edwKv$@p z6YN~e$?0O^V~-y!;Uv1D59T=~&kf4i`wk;gy`a@zqNCfxrST6Th&#TG5*ORgqsiu5 ze53`laEaF4GCyKH#H+anJ#x?vMM)$hhAOmY(v8eEuHR$)5~F_bwcYoEX_E*8N;uN* z3{U-*dLs$hNNfM7P0PP;h1FVdZFeloBE&tb8kJ0D92nMAq7N5t(USVNnF}hujWrZn zDq86`w?>MMdueHG@yEYWpc8xm3GgPb-60h2^jWAtGN3n5ns8kfO8oueBge&y9}%Ab zDpLqQvQ&#)acDEns+=^Np1drh7M~$x<5V7Eja0eEE83zE(+DO-vb+f7pl=R{$3-3_%lD(3%eOAt|qqTh2<{M%LlGo;MnbhkO0w z^a+2LRL`{r0l3O%fB=k1Tn=;8ONaA)^h?AUNdgVwzLv~|?Rqmw6s7WCEHF)2xTcOA zV|)3LeE~KvW>@cC0v}i@m+wqRvE5~L&=M&8XG(=rCG1+2_cnsNh zVN)5yAGj2)WU}K1=Ip^D0wtrNgnRGD!3@hjQ9Zb96VRr%Apmx)9drB8#qHludjm7s z*+S~cwZXx>BEg1YZkrJN)N!bvHo|zsDae>}awUq8Z^uS|^T>fK0{GlsA|RL8t!}2R z%s^c0YaLR(6f41StZ5NGM$-p6{_$2uk8P4c+#F{dq{uV&SD-H&)d-b_`LPM)8Lc5h zUTdWMr-R4u954VePSC0zoq4XWNE(Jirqv2F)82(i?oI2#329B*b)s#P{D7oP7t>`e zcLS;8p7Vk+Yx2JGBUe+$Y`F2sCLdQbJr1Tp-;4*UH5k<56rx_Ib=g}}ek!_;R2lNh z^$bFJMNOHAbEjzX_!Ar!M|E<+@;hm~cFv*Xd^|ZF?_A}wZGK0WP7)KkF%vHP_UKl4 zf-}Unx%c!O67DduS0Yeu9Xc*2jU;`wKQQdgib2qsEaup3+*^|=Ag4aoGmq$G9T*&q z{$6#lWh^FBBUTuBfmc~FLa-!ZHECQuWZggV$2bDmK}AAP`WYvA6}`>we6r02)}inh zUjiW{M?H$_9eV{tS2lr};}AIf>Ien`-zy0@9go{R?X;xfH-I!G}O}BSHN<7cBYG^5j5bOxib38OOUSGR`>(SO3pb?6Df7@3!ZlW9PnhVpb7>44If}yu&>MQ|u|H%0N zcmeIjP>r;-{9;!V*maz!UyYUNl65)vNDQyGcT+j=+ZzD`*NY=}m$y$fhsf?p9ptz| zi}rM|Hvuo%a}=YMBP>AfNWc)z8L(?-Geamxj^e9TETecTa$yQM>5+#52nmO?F-XEY zDgGK$-{P!gC=Z!Vt<)sy{Z+tM8+N%E5F}skTj6V7C>GiM@NOIixY^5Zy z0TsF^^5j4!(+elTA-K`6WE^fS0OUwONhQVr%b2js-K6U6=w zOCEGhU|PLpKRXeCdKC=4e?sc={vyBJgkrow=~>+nW*J0dW1(jas2PL>ousqUT{#87 z<_~MX50^6#(RL2DiN<76Q6w7`jZ!1i%d4f?(v4*tUmQU(YLUGb@gbHkEwJIlZ)zbL zJ+SYy^KnKzsuKS&loNcJj1I9TZ;`u#^M%UQq;wBMTL!q{CnL@U9kPP|AS9hL+@>ZO z{le0zVMn6n43K0Cyp-|>ve`WH^4=y0$t`|D8%Z7KdVFg$vU022A$rLvkN=GJi4g)U z$t?Qni!1e{YXqMza46{)%+c`!C!1 zy4HA4v=BNSXPpG&RdIQVG$Oq<&GBIt|4lUzZw{j0$m4Fh+Kx0`zm#_nuN&=Pre0RS zXW0KCt3zYfa0=#OXl4H(l6ep@SkOjzdleBl@-D$h^r2Oxt1Vl-Sr*E!N1amrgTXpu z{^yjr*d)VQ0fL-sW3z<&b;CE)=LtK{qe}o};$5&`Vc!JvVI5WJM=_3v5NcE*7+&18z z!nTviOD}Vu%H`9euQ-NN*M+|gnCC&Z^889T2Uv+2Rl06dK>~;_grFO}{i+#cQB3(_ zAM8AnSXLlxTezvR(8z7Dr4>Q@uinxn^p$a9!$gpAP3az)0VR{a^mrNp@g?bknHHW5 z&!DX(-VF|N`2l1HCU`*8+qRh<?w24&{6_d5vxo4)K>k<@TXI{ z>WW~PR;++vG!`?yH%?L-A9t&#elIi3-Pm?Un$+=Ta9s3+9AnI0>Ga~5gIkp6Xn|3I zlqq1GptFH+Uj}YyuYZ%QX376oHG&BFI-ehEcni1*B(3 zTM>Sj|0MwcaQZA3VjAc;jHy$?0*!yzJR+MR+1;*(MXP%lJ*rX0N~%1e3>YiC*qVv= zVwjcHR+$VPup#j`kM>CNYIhHp#bbgFfDLa>_s|W@o?u4+$UnriFMmgfGc(b~cr}8? zLLdpcBOAa{C>TC+>W>cjOc`TQ6`@~F9?4PLIW$1~Nesl4S=5|$KJmMZtr|CeD>@VTO5-l~7 zp@Mo-zW_L8;_B{>H??6QzQ*3&`ZsR#)g)PVnG?dMaGII7Ds{k;&1ME6n?dO#yJdGO z;RCqg!jG?zJ1(R10rAHRa^%)r*J!5q+lM95vptBv*g<(r8|Rt_tQ$P!&V@24gjah~ zbHOiS0BFeJiw>k(9?z9vVud5H#s!Q2$*W;8KFt)`w9OtUyhvw)%i)=h7a!j9qbUXE z@f=hR$kD>EE)n=PaMAbCKYZ^)?PEBmn3|?xOjk!LHN7X`G(fWgBw~n9$4MHVW}S7<58GC{z`y1=;XitprRs-5GGCiEt@?Xo&7b)W5lk3j6kS z*u<3Gd3lPkUkE4hj=lyH?NY;{Q2?vvvsLCeMrcG=jkUq5dJ)|Q`Y9P0!8tQ*%mjLF zHFpKa%gFbS;PtOX!tV)>G6O!n25DcU z@`{;bivEG4BV@sIxxWC1qWKp}q`4#c1|B4UzMJ&6tHS`dn%KQ32zd}uKdZ*6mOi#e zLgT|VP9t8zIXdi#Ck8@J1Z71fpM>zC#?wgeq`F5EpJ`0G0-}Z zMeZ&rgg(H~5h9{U@e<%;j?O7$C&_oHBK_rs{Vfb&qHXyY({2Z6{~ONPFJchZpw?vk zVhLhppu_}pF-m85E4{i3{_r6R3Kg%Z3D)iG*fLUi$_>?_h#{y>H#Z?$G%?)U*f&-aJpKXmd#nWU`o-%`+j?x9b^aG9)(lkX7A${&~YMPH9 zU|3fqPQe@kf9lH9caJiR_#+&{qyOOQxw=0{U?p?QU3SFLGD~1S3}Osl+#cugEho%{ zU1W3lhAl?s;t;R!OFfdi7>xLNc6f=CvAR|e2_cl_0U)h$0ZOK$@d?-J!+$=zG6S)m zLGO~$iiuT_*aj4CTsYC5OoN&TX5M30EbOi5q|#OPJCJ)z?~<%9vl-$hfka#@?)w%8 z>k4+eWh>JAob)q0ujV1E_MWgOz9?ISLQt7of1?p*8Tshp&DZb<%Jw1rI6CE*d*=GL z85y+l3`rVCX~XOag#G`JJ!fLj9#H_Lg)7ka!-*#^*C}}|Ma5rth79|w|1 zO0JU=XSw79NOUIE$sbjEUgVE7e;=w+<=D@^ zN#{wZau7{T_3s2Sf!PqB?&rhFJ5-Vr91XARhNiZ(00r0;v67%fPGgNM%NYF_I^+Co zL&O%3!6wT!YLZ)+{w&rotXe#2SC}Np0{@<-|K7(VG$P`h2@NgrMq)mao|+?TSntAz zLYebuE9`f5I+Qu5!J?!g2@|jBl7>bigs_sm{YXxnUQO4f@&+8r#~d3>;46uP0|rg= zxY=?*5?qG_;##BIp z)g^ic^ZMnV#|^PvyxEkH>3(A7{7gyZeHBV$f z5E}aM1>RP{)93>myENmL=$c-DE7ONx4(qG&ma#Q?EK+DN3=l#5DWfF% zMDPZG2Pv>df7FF=kRo|n^U1FTJR7Hz*i2OME;^n>j^Otu(;jH$9t4wvpB1?X8lF*| zE10Qrsc@L(o3-X{np7s7P8j33x$oGrQKDwFw6&yMxFx)d6c_w_QWEbJThB}8fFxez zh95kanpZ=;^_I-8!MqunD&I!t5q+E)keuQ1ZU=&MZ-T6Yd0H$W>3LXmxbh)m^D5{N z=Xzj=1$OqM%p6sj12|B5xz8v51RGtGERA0}zaUw;dvG59208@x_zf1%jyTV>j9IUB zn`O38w54hLXYGHN1ku;9Wx{Yzi$Gp3Uf?7-!UB^c3R8hzU(VNLFZ%U2fpdF}6ySUoN)vax^j=8RJ`%Fo zkd~+Wdn6Nd% zg9G(}$-!0Q#7Q_KuY?_vof@~v)NP$K%L>byyD^iH3Ij+fRq{7nk<#bR*6RfFavTjp zt|u`2-~WlhIhPDV!!P|$C@mRBFSbzUMcn)VKabXbQP;qM)Zhz%3IJsbk^+IRAli|F zP)w3-dT1S2ph`F#+Wa9RT&5Axn_MA!Xcd3w2>d>iYXG@ITUSPs=iuoVb({w~b|e+c z(8e>dxC>gYc+ZZBiJZ#tsz)-=LrgC(U#T7gx*JO`W@)WQA+{LTn_|KI zbX*uEH^bddnr$62d}co@9uxO(hLcqY3d7y50fmz86KB(^4(er-+gbZ=nYHlz878FI zR4RUeEuvX0CY>kdWeej3bb$0FGkg0*%g6Df!^BR{lo zNo6#%`HJtPGJ&}|$c`TTB9e6e$CVB))X@Oyl)p z4Tl|hO=HItLF;65>MdE2;@Ea(lUQ)~{TmscbT^&fJV-icq}OGp3T>yD?;gQ0xGLyu zI;w0t1j9lY)&(?X28j2#OOPm*-Qc%G5f;~U6Q%x;6Y zK0eKlbJ&wgISd>n7l}rxg@qVCvjCXGmX-kn2E4Y>q#eOHkJ?>%UI>hXOM|il07;C^ z$P*B=KeZfzxoP!;YzG(>Ehc82B^>)A8O3H}i$Z|Z-MNf$3Xdapt>mfAtr(q(Usl9S z5hlqgq<3jz=9G;5#l;kCL+W|Dsn2b`5YdzEt}@I!lYx0C&Mmsr><~zidEYVtgqT>5U2b?Q9WMH;>@Cdm zP_1jiQd^4mGNXyMZa`#P>u@SNA5cxn92Q}#ZZE*K{SXc%$+ zi&s9ta0+ii*rO6bW%u(O8MC-73&yts`_&)%qYRDS3L?R+{kt1eU`%A|C@mhIX~;DOj9$qdEB<+M2LqJy#U1}*Et%;b$Z$XKh1 zI63-;9GC22Kd-eiaeeQriRW6`p%d7&(q`X^Ur~RI2qL%4$e)ez&{g|IuQrP~K8yD)lK#D(5_CAeIWKo)y@9_M^J602lXWkbT{7( zJoo}u@UADf%xV*pBN>|8<}_-2d< z7;yEDJqXe9hrqsOAfneFL)yZ6uvks!DaiP|AZNLDJQDmp2_j;T%>S}16gUbZ%rZlt zA=socd8!$Wdbv!kAk<5rQWX~wBwU+D0z;9-s&MKNJ)&<#f{hlGqzybx@W*+wpBFdU zozj1Pmd1IfrUJBgvQ4mfh7E+dCAicNLisiFzkmHD2^ zbf!wEns=OKmWjwGDvZ4A73=qbEfLMAq-vdZdwkvFZI6g6avCe0L|CCO7bu($)Ns-s z=`8yNN&vw(QMc|lqmoy(&S*Unwyu?UaJTnmjj?zZo)t{YB38$dlDdS%gvdEtt>Q}_ zd&O8>JgM#k#~PvdqapfrQ^)gmA-#h(y1Sk4JuKID^Gi#R=K^NKF>X;WSpi6U%UBxy zvKOy9>sqWdNPHd7$p>l>@WIHe6eY)JZw8TVQOqaY^Ej$A*lYanx`OzWROz)q#Y?~7 zUKx`G&M!kDUtP0~FfHHPbt%?RxS7b}*piN{|6ng{VM0I>Fbe~=)@PeuK1P5laj^x2 ziCs4M*G(ojt_bWp^%%URVGM!RGu59QTalsTg>kVsBwpoa+5o&B8~tDYU~s>CI|K;( z6m8kjJ+Tp(E2tYH!mB67d1XIsLdRD$>R}j-r2(H5ME4M)g78(U-9i6sUO@ti!{X!I z6p5%4FyH&z=m*D5y*PZ!@F3;d%Q2x*V##82mkM~K)0GTceqF;71sj!=0Q{P;ehuLt z$N87!ewpBonewR(?ItQ%hQh@dUb*a^FebnUlbyB*xmYbA$(FT)t! z_Uxtu1oK>v){2hpniY$i`>dg)cwfK&jD%jiV_hp01?FemxNsM*q82B4_!53o^{G6q zI)~p<>pXeN8LZXi0S|YybmBWD$!#&J1OV%-RgHy$i^LvWvqeo|lnn zeAR03G#Hyx`t!zaGirg6`Y7yC!9bL%n=85&$q)o(hWLf-rfl^gF0Dx`pc%_qwkA0> zwbS0tX3|eDyyB;gj_>7A$UbKl%oR08L^`qrJS0pjOG@c|s+_i?==BO6ESRN!nmI(e z7tlBm>z6s-V-Ad+9gm^70n>d|0eRn);xtx|1{t}`!}1*#2{zDhMG7Y6%znLbA#<6$ zbDU=*rk51pb0@|G=IIIaGYY(kc_Se1cIHZ`v6WJuJeYv7FFMohF%vPXEK*hA@!4@H z;Stho;7(h8W-$7+o8zzo`H?!+a;hE3WoTKmSQzpA1$#2fYm-kS=~lV-!f&r&Uxm>U{h}LnsP*Cw#l#w>m_VxIN!i- z@h8)*7|{<>b%Q5p_B6AL6rX#zo&(8^MF14cJucBIJzp3po6v>$AhI7vqNE`slXpiK zb@EHYUo1k7&tieQ%=e%dLt9@Mn(FEZx}gF$*yDa72XU|>;uyq~Z$Vw~bS)Qm zxV5DV(-$ zk0->s_}6Kt^W24G9K-f585~8Snp>{&B2vihG=SY) z;tIHXWY09Qi{Enti__;{)PdTDw&>&=ASR;QTEIxgK~VuM84!G^a8MmZn1gRqJ>NAx zHZ|pLvL(!0FctfyJZ6TPAM^T&<6k%Gxmuf!OvsuOH)5QG#VEZz0yULtrqdRM&A;by zJK|if30^I`9B|op@}xs6*$z#as&0?-6nO524%@qCtCxxjs^8Vv7=fqQqeznOBo8|# zUJfvW%krX< zwY~~fb{*(r=B>gvQ@rKD-Dp%OF%-{*WsCHQqYTVA&Fn4r3r}& zSsZ9Nfue?WsgUSML=lrl9-w6NM3i8w+RbNODL|s!DkJY>Y$F+ufZawZ{p;NLp~M|; z7a54{vlIrWhH0h!#|OcM7Kr(? zTtzX13G$t3Cni^Tllh)g^Tw^W!^{xiew}#I!(hZhQM3FDob@>{Q?g^tc{^Io2cZ-4B%N*;~5jb8$X^cd#<@Sa{(vmZ!6IG z??4!aslASs1kaHZhkDiYa@3>ZnZd$-M++lY1`FdrfLW>;Yx?mE^X$d-8EGHe9x5^i zG9)K#0V8%{iv{G{`iN^Tooz04X-G)Do9f>BXC6aRAW4b3Lp5}JWEhwb!|p|-)#lii zpBE|FUGpF50vds|tP%Itd47ycWh~93A?)Dh`Ddgj&_YvRYVOFob$uJDn9ys^{}JId z?+RXT?W?l3p@EpCge2k>h8LNDBzNo1*H}<&-s3x61Q}pO65rsCiCFzW1>lGq<&)#7 zQ3%4+8)@at4lYx9nY<03o)B>wbYTmmHR;K)ftZ~?Bc4p_s(5th-D{P61Lta)H@fSlfI zdlPnriDIfgHVt=+QJ2rDW3>n$c#%}qgAAV@aIQltu_=00XV+1m0V%&k3(?w;3q-cv z@mPK2ud?YO|M=CdKIkoCqr|dgo*}*|QCSpdfQ5vi417g!N?t>wCVxI-odqk^u?6cq zk1bgqS0-2u`Jmn(P^v=nj+0Lf&GKqXiNI~2C`NENX$KYi+}l*E_Wn>GTeum_WFLDH z4Rz<>rib~?AG{zhv>bbl3_DW&Q$jxbLUo<3AUoni<%=_^Vue05t^G__SP@mD^D+b} zL|CtwZ>}?@XzLoGMezNMYKdjUHJs@l5Ir->0(`TL3DO5LPeDWO<`F|{D7J5X%o*2ezhbs`E zW9z{GR1a%flZs7!rR<-Gug7G#P;2Hn6(xP@zX!y^6buKa`rz>-g0Vg2obl)*4e&c5S*P8L5IiL`3vz57NlPgprIYCy4`F%O_ zV;OAMA6%iz*n;vhlB3eJ?LVAzFb9Y7ENkp@WJQSthg{!D&1L}j2c>zIzTCv9o?5M+ zd;}&D2Yb8J!<}!9@WdCip7_wD0>Zt>L^AKI@nTk?$`g|_=F%%^QSpwBDZWv7g1bI& z5_6f!kHlvXzW8YgGZumAZ3^Bor^>%or#6bVN3UJ0!*RGmPA&jRriT`nd+@w~zg)0B(0L3J)>$Kq#GpHrd zX_xOo=NbiI8FDAh4Em*`Tn)8nGZtFe{ti@3-AN-kW08ed9=X#t%9 zpj0^DF)?AS^GdV!PUVvuBA-MMT@_BeCM;#@%o=b?$BGl3Zyv~`Z%vHB6BSFv(19SC zxvvDx?nDX>;aJ*Tnf$BE?A z4*>qcK&#Ct4Jq#yEyGC{pJ|%B`c(shj3U-Mlf^8kqX;8@&J(=XVXDq zXuNtYtV&-kqvw_xb#b(yWhWc>jD6TcMhpI3{La7#_VC-4cpx(yN+=9?lZ2%tG@dkD zVkv}V_5(dF{rmVPL#|S^h`{0^21!Gz9iH{0_Dla;Q*r=|{~)9>p^}$qoMPIu-z%l3 z#h9qaM+cr#r!g1C4mZ`r0t8Hq2aEhu4(fm%1iyH{^V~#UrBF zPr;m_>{|PJOf}5exz$$SykoP^nsgWl=?SI*ZX#3lW{tv+$<5XGm=D3Ypt6ElhlVr- z0=vPWqCJQZb||gCwcze^RVmiL*l=+EuT!)- zndsRy4n_=D$JwbOH^~P|TdJkALY5zvVnez4N?Kf$U>NZ+%>5i3sA-aS;x@2cQb*h? zlWJZl8GsK3P{hc4xjS>mZCn;`p$6Q2^Z-49q8r{|NVx6<8oLF*c~=9&%`Y<=fIR?I zJK7xEnOs#l$-g{{&9boTShi(q6hFF7)Fe5#{nHGbByMJbyj3i>lFc#?{ANv%&fr;_ zgs6WRXAuSous|sGSUmhzvad(}4dUv)z~QBeDvz2xufp6ekOPal#$gwIy}g|EeiwtN zeFq4*C~G4%vsck?Ar@@EUsF6_J*pm+y(xc%jW#KyU0^7vmyOi25Zxc9z>NKjXaZta zpDQrL@^SN?g?8eMIsR_d&u46M6y7+RHB?BpECP(l&*dsR%+3;qFuy>=VcQI6Xi zT)JV{8?j4-lyU`-gkO%-t+TWk0A zLc($ASS2u?(TvmS0fW!Hmf=gJUos7Jp3K!GL3JDxXB)(dp*kP;d&~m8Mdw_qj~7pg5?u}f zSEQ`n?1+*MJhRxqQKrNv0=`<7XEI1qCkxM(n-~{TR>!^q>C3-crB(wP@qtR*tXdF%35yOsVf(QZvjf;X?|KV|3FlM!g~#yD z_GNOy?BBge6H>ja_A$ElbPfz(yb=b2TL8R^3!4@BI%7kt!x78JK}Jaj4)pDArfHs^ ztsNu6CiVa?$UmzCvod6(($Ev_mFb*2@Lw|V?0rOH!C?)W{&sY;%+7K3tyNW?eJ#{@ z<4xk!+T*UshF&KFk$47v9hG!=NwPb{CL02|^3!<$!Eu;Fc2kmHk5t;6BeE!RQb54h5j=rMnfkA&;Wb}l3e#!f-m0gydp-6)Qyv_Nk8G4SLDm;)G>xSn(F1bRAI~a#_zyqxmXmqaP2(~{2Tf^2TLCc5 zN3Am?)Yr=8#|3nIz0#KA?jZMQ%hl|@1gmCK{gDppkA=a1h1};QqQ~%nF%Lq!9Qg;x zoOX{lg!p#tdzcG**l9qKeQ6Pqt!zU?<4TrrLQ!jZh7}W`%6JIQ(HRQJtO-!j;h>4_ zgRhDoa_iC)Y>0jarlb@>ekgu?-m9Xn^*q{^9r z?|mDv%e(s}d;L%H#2(b2#?xM76mlS6K#frPxkowIR$mC5=Z}e?4)&$1)gpMMI9>P3 zEB1(5~jBAo?_6`92_f40_Bd-YX@#nW=T-^ zZ_`nUXhh~AYP4etV3~PLZeR=V+0rtadvDc-`2|NHC2FHX3W8t_W@Gi0-K^U|DU%vd z;qb46M8O#0v=6XxJ7wJLawejVx=x?}?sQT6*UcSj#7$7Cj#6v=?B^2sIIk?TU<`*4 zm$Ei6k?8i6=u8kvd$QxDNYkPU6E3@?=kt6TXRmnr^!4O9BP6=<4{sJX04pXPaVL`W zdl>ytJ`iSPW2R(45FkJ%lwTMBO~Mam^%cuWSww$si(-O86^MdI5qHuQDB+l(p(di? zu;T(~IKbdgeW#Dj)xo$s7%1rTX_EPde|h%&Nf{$x9q$C5&rs{n@0<7DO=Gk?QDZol zeuvlqr^pb)e7A3^6BjR@q$nGkmNg6j9i!wqKHAc`S#&KLgdf(M7Y3t6ff5jI+pYn#hSi@@vYZ>0 zkqN!ru-{R#U2c60q!U<3s)x>4%<&S3wd@~6AHZo%->6t(m!OhYTXEqm|Q`{ zu%Zldf6V^~Jf|koC{mb!`o73s9MY6&(({JG3ni6G4Ojz@U66t2k%(RBO|09A-d4@v zCO9Mac}{5`D=}3^1?mQUD*82#UnfO$6=UQ45l7dl6?cawUyXh@^w2W^0t55olp;F$yRx!H+@kjC3RPrjc$z6lVWEiN}V4%bZASa@*4?J zLGZs+w*Y?MZlp^$#kv*UVZyaS%z3?Fj6e-U&_m#~?4QGlNGAs!CoAgu1ETYm86LtTBKdwCTAk^;heAwhti88JK z|JoijIIQ$|;p&s(xdTzTq&nE^L=6g(VwP$t#H?FVG+YARj^c5gt6|y$=fKLSJ(VJ5 z1qjPyf^Y-2wjq9*f8_vD-d^HL#CvjrEd>n=kp zyBUIG@H~yH1%tc@Fy~{eDZJmoJPl*}U>+4FH{wpN1jdl?)5e4Md^9B-ZLpZ_7sG_< z_virX%`{U_K)}`zX2O0hCC4M<|FqtQE2ATNr>uuWODx@R465tT zm17cupXBRtPeGl$*YowzWV{7-?6=^K%_P1#S3DGP&84rg-427?RfS-rr9-7Lo%kjo z)BT*3)_NA5x?ojOdTnFY>kHb45s^kJ!nAr#(sT^VUJxf970xlFpLy!igbD_O?Q5j;kofo??y%-WZmWpPDQ-I)7>HV_B^2Zs-pxE7aWWmNNXj#b@E={zp zk_ZRD4gE7o&a1}C^}-RWLO7(f46)2+xC|?{;y{a=g8pVNljKIb1gruhauNlrr6=$$ zXd>Sv5V?xxS6Pba!}>=FF$)^WJw>QuV{s!y{=hx@_D(sOsLJSJRd`N$G`CK&$n#@Z zM>@5yZaELz&YN;9F0N*&13Qr)(v@7nF8s|`cu*}TZ*Uc6jPV)QR zaS`s7Tl*ca&xC`)j!4j8BRUb8q;#qq+ct8l8~stT>Gfd2qhm*X|sz%eNT7Mu26G-< z@EW3%2jae-=vCxoM!>6);_1~`>{y`M_qRUb%CaX$7(0VgD|O}pl*%){Az^;(PMMgZ z%XQNrmcRK&IEXLrY>=5=yVW6-7O(L3$vTr}(-diF6Ifk>YC0D*UGE$*ArF%C}8zH6_=GIB%3Ua$gtx_#x8Ma^SmrhyA}DkNUuIn6D`%G_1AE)%-atN1C<)o7NJ zIv$wuK~3oHaOcFdW(O?|o;c%tbi*0Kjvq8EJK{hartbz#!r|v(`f((hE?p6khme1~ zw8;2O!PGIFOoB%Vgy_+E*u4g7&x(;M)btvo7yOP@C z`h=tBbo)?Z~VALvStdT|GAR_?Vaz&_B465r{!obxmJJy! z$OO}yt+HhTQLr9rsc~#{eYRm^!TK2OsX-{(KcFD``?-7}F!{s6)7mqFhuLleV@(cf z@oB`Mo9xC(248{TwIA4c+!QZa;P@HADTSNOi~ zP+jLH;-xq$?Z=|7x6UR&)Ds!8W-PpXI7_wpaz9{$rtt(cL?284YOgS1m~{sAcjg?~ zMGSjqd>)LPj{remZ6yoTL@<7{z!K6c;9*xxyp3FD4L5rDILRPQ>+o zF^g+36b2XC$E68w_Cg$S7|VK^;WJ_Bo3ei6-@F-uUPqvzg;fbH5n7!DcU(pSNl0<| zFS_)7RpuTSP+$r{YH*JSj3X1~LjUCcC&->qaNM-LxmEk1%iZh(42E9Rx z8L|q&6%1&uz8{zPFC(h!POov!pIH!Y6CMZ_ipW8gxd4wY?C7@=Hc5yllL@&PUi695 zn*Axa+zU-P;^Xi6e6&a6KQtI-sC8{?KUtk&j|Qg2#u*e-{6CyiLMQ0!q%Rj$In;@W zl%1*`#?arC66@5|$dDzg%hwOG2=uN8CP?lx48U-g2HESl$_CX}Epdo9U|lO^Rp=do zQMwNdNn>)(GG_`IJ2giaA6l#6aN#tF2s;9oM3fRcY}y15<`-G8v1?waV2pJ*u-98(elI-HP2Tck+zfJC)aQT7p!@R=dd9h14@9ipT-y z=6uGdAG6A-z(T0yOoV^al@WIGynnx@D<-BYXOsOqS@bx40K2jUx?KZOjkS*emaxW_xMe!+kod1X7-Uby7YIBEKmJJ^Lgp^a#`4$kMO{f3GV9(is*R*ULxF0H+u0+V zlZ<<(Yg!}LoM-=z+@alT7WAA`VQsYLr+xM)e8~-{1a+_~bhQz$Y60P9Kb)oLomEtV znaVXNL}_c{`8c!7gzse~wj(Hia=+%e_w}>A%=lXK%e6*1G z+AciwBpTOQfd@N6y`XaBL(hlJHA)UM}@mU+LSn2s}xeU`rOOfHb?n;(5eC$Ka{X;AkvY zLFZsRsCiOU6{>vEW1uR~2LUTN9QJxgp49#oOF>^tN^;PB@hyRz&q0CW!p<%+k!Le^ zLQB*7N_1+2Tvp-s!Hvz@*9c21h7~>fGp!?ccdV%DF$Jgm;ge!6WH<1X)S$L!42R69 zUt3j}T*nRV;s~6iH~dvyP^l)jExzk_=c}jsY`(J-u-C-(38)wb7Xrob5!Qs=uNR6+ zTeubXHb`FF6QlkoAxh&RDM>3(Gh>;LMjZ}prl^W-L)_cN6zuo;=a9|K40}R zEt4tYMlGhSwGtS99hBaHXJ~>xLtTb15iyJ)t}nB>gdlBhLr+v@@Gvi=<4jPX$Hudw z>dyce-6ephU}R-XN73N;v<7o1F54c(>Sgs8++ShH7L8-PlS90yl?6nbWNz1st&A>3 zLYf3hp|r*>Mp;#xE?3-A+!C?&#buVAifozOD)Eba-qROEO7a`q;NjYo18bfrwcLI4 zBN?G46H|*}oeKNgQ%^0TqYO7`YG-6&!C^vVS&D;HsOddQA|22O;K@{=se=!H8Pu`r zeNZ#lFYT>Y`9laV-`;1m&C;l{X{Z?TSDGxCKnxWrT{J{q>r(kb=&-61I{tNk$ZT76 zSUoDAJ*5T(bTIkZymY^*9JS#FV6@t1qj(?>&qwLqC9pZUh`JA@`b8*%{lX$2VaB>6 z8RzmC0(}qnr;&>tntKqt5xN*nLdKZ2`j2`zRS7&at;8!%p;Zk&WP`eM@=vJ9@5&MD z!$nR}7Bq$_bb7IP9z^#J7{uU1F4nUnbs>>xhlwLXva+E}ls_+y@fT-3G>(&(*%9t@ zhvgY3Hzh6smH;nz6W9!pLfoP(yUi9FHQI7e_HGwX8Aesqcm%OX5HS_ubcz5Sv()^V z)(AZx0b5}_x0GRB@l3TP_2RgjPzfXN7mk&EJ0=3lSd=qO&VqbI2$jrygU2Tt=<_he3}@QCT?zofO;7^{nF3IAEOS2Ez^`j+C|5fcjQQWXG^1P~>LI zu@*{3YZz}d$WPf`5SABeN+caUT=Ae)S2TI|Fxb?uSb9~NION+8kWlzbBxWZE7rD0; zj$sH3zSOs}(?B8ji#s>N5Ad8~MQ$=i@O=zB;<8``K(;$6o1P_5=sUYx5VQGiqy-g4 z?E~_S9!e@AM1ruvgAz_x$>!o(whmqQsqM*)ms%)asKM2|(M=P=10+tm@6GMVg5!!! zRzJPty_Yx$j8qHk#*1yvTh*Ph~I#Pfj?%>%%qqX(*# ziXMUeQ?}H95*r+9MzOJawcBxC5b()bNo3Sx@=Ncu8fzPf+Q~>%{67dtQWLN1U4|Nt zqfgK&#a8#+OsH%ac7dyaz!4t+FxCa5q`(;~)ki4Q0VujaORI*~LDYJGcl8Q^ae}S5 z!elO6=hycYA7$9vsrWJ!+QA(;fdegZQCXmL6DN)sbWJPz-kjtqU&U1J{d4-IJ&iv#c2m3q>RMb$CF6Tw!WP`@{rMMFT4Y1^>6O zEu21iIgb}HcV#l(2f)yh1E;RF=-4y-AhGMA7nmx}bUy|mzGExFz9GxzGJ3YfH&W*C+0{ zdLa(EojuZ9#_kBoBBUW1Mm)#wE<=;gJMlyecKK3<+5=Ie*b88JQt-wv5;2nI}72AiJ z+F75^1Z}AhH>^@TkJPs^eBW9PM1np+L-m$X#lILZb8-;)I=(;@9az&U4hJFtP`@n@k5Dk;hbsL^lRL2@5 zX=%ul>`fAP0k2ZY-C4%JnNvcJ33o2rI7p1&B+@5{<_UinosUD@?vc5S$l4GHwA!jB z$1GCC=1X&{FK{Uo{m?=7V2ES4?fDAOb+&_$4e*1CoH?_3bR+%as68Z!N7h2!dSHX( z^q`S{n!d@!i?=JP4#(A!0ReYaB+Di}R3@o#$GXbrCey{@yh5I$i9^V}P*Jqx_ZKk6YmE?eVq`CcKR;%9%r+k5g{VZowMaIjp< zF1hq%J!$ZhB>Z^j;kX@h>1_l<+-mIpbGW6Py)Aj)hn6nKO)GtGIYtEX%jXHJ?p5Iy z-0c~fj)3}p9ibK>dG|w7x|k&jOf0&omG~BoR=vUvA-*gB!ZbG(`BdJaTB7NAX8BI- z0It9^vf~ijWD$OCx<#$K5(wSu!eI#JhLUMYDAK^`6;)YvPB;x(*U<`I;;*%u?N zm6tG!V}^x(siVz@^!0ptA%p;4Q0UgKc^M4JUl?U)g6_o2yyIdY|7c_f5$qno&1Ed) zjAZ)DY#dzue&sC1Vptd0ACVSLW zI2~WXZSY39{J~WV9Js-loxNc_w|#k<-$D&6qFMZ5_N!Dr+3-80ew8s%qe! zvsk=z#R&hsf}tmxb;6KL(&hg0`&9$6ErfdzmYwn)xK;Up2e?7=DHvcCZc!bd3?D*~dMb zQLGc?FQ;+!T05%;KJmanGWU@aiV3ze{NYWw{0Gm{X zPvK2sS#Snz$!TAXX5c8wuhLj^%1jIZ*g(XlPe1h%kIw~85d`^ZBTq0=$Fm3aU#u)+Db=gH{q%33ggR!Zg8T76e+ zIgEOk00@gmMKXbBve(EM&73z_eefGoJnTr!t9G`wYt$m^kWDHJGNYsRPf;DEWdz&>r$I&;BUj7u-3)S1y#77h?&Jo_cmBJiscJpJQ7%|o*e zw72KXHfyiPHioS^@|-L3ZD#mS=^Yk{C5Z@@>yGkiBkr{bh$k3>82t${_(k_>0SIj zR#EjhpL!&r8flOnmppw^szH>1Shqf*alvdyq9S&{xA4pQ<}yQR?Euf5UMu|EszV4( z#~k>3=QIjS*4kF)zj#h{aMXM{!r}>Dm?-;|<;5T&VeEVryOMgfauG7xr_Hz=;q5r8 zoD!^}^aefM2qOTdbYWvG@wP?=t2*PSmCXCI2>y|ljjiTB{}w1yF7yaIr9M-kIL@10 z%`v?p_xvvTbN59$v@Lqm@JlYhSIsH)w!e2!TjrJtl_8S&)lOdsOCSa@Nh_@IO{w?o<#h)x{WxHi4Pwy(xdx*GigV;g?Y8Z)ai-Bv; zFYa5N_HN<`_hedvH&hyc{G{aK+VKYtNz^lmG$JL1#=oe7AgqTfF$`GZuD>Pnc?wG7 zDb$*;oTP)@z^qCZ@suH~F5lau+X75tM8X4w$ENfw$V+bK;ePzh`X%GbUVwVjOep4B3*du-s>?x)T=H6{Ce>i8YRE{)Ct(4~r%du&ff(a-|)t$7e`h%g_4<0LgJp zwl?zlE~egm)#DU!pLw3`S!MwcxglaJ;YjqWOQ;6{7^eA3gOX_pYjP9C6-ENMf01n0 zRpI(zsnA81q7v4@cL~|~ui2op=k@zAo%eWkrSHMEt<<~;Ez_us!4jpW4<|r%ytDc#& zPoBM1>s9tyIaXs?2L7quH9`H|K~;HiX2%688|yI*u<)S-`!>tvO)RPET0MQ@ta7h0 zcKm0ufD-{FKTl2o{M2&_xhK)1_>_P0cSpIw`{9^Qm<{|zvPU6`a59f(nwp7v*Q~7f zYpf=A_QKycaXEN<`4oB*5$7KxS@)uIx;Y^x;=Q*Hcnu$R>b_D0CAy`i2+xtcuSF$8 z?g;fk?+v4z1(uKz$W}g8)|>nEMlNj&3u7fB!H6qPvl|57KrxQ89_oxX zWYNAw0!)FnYRX0>O;Gu@xN!oKp_T{Q+HtMU;q+>9;@bZBLb7|_9 zrU>jI_XE31)xB>_&3qOH!$?akNz?Hw7W|HGW6F-`Dnu=P#|2;#fp*s!!Wa? zx<;J6JmCs<1HlZRXH}*592bE?QZ|8~|8Na=IRuy8n!3Lo7(xW>g!KjB;GiNYxm&YK z+piTqwZq_Pj_Dp|ezLF(E8P?m+3jSav?U4qoQ^K~YAIz_^T9YXQDOZp0;B@BlVuS= zF0fe5!_tN{*oxswy>Tw5 zJ089x9eGPwRv`uAww~z_(zSwkc8t+s|Vik$$kT9HvE86MUQ=7FQ!kWg#c|?x31N#{A@cG9> zp1@p&qdw3jyY(-dW2%&{$y@%A+vGpZe$ggH^!+AYTM5o#7^C}C`!dUSoGnN3D7E*SK6^;vpxrVJV2@<`80jZ)i z_LeXo*T2F(fqYYKgojhj&NLnv*y|vTCR~$L&)vVcd#G`5fTi(zX z8i*+-zM`0t?Vb%z+T)!N2>miADr8y*S?tbVP{^*@vahY3S-W0ma7h{1f)se>Ez!Ul z_BYLva0lf2pdZ}N?6Kw1VTiCGR@D_bL5e7*J{0@=5-B29n8{t z=A;jM^QK*&vh#%f>|1b^^*c7!(BU97$5nd<}hT&yF83e0>CdGeZ+;GX_c>GQ&i(o<R!tgD2UH-pKyNZdHn`hbjOVkbTWk6P0TDSDp)x}BL3_z^VDSY+oHBPMp-`E{zU5i}R{HQzdMse}4tTvo zC><&)%T*SK3f4ovwjJAcoqmQ2e00M9K^5Z^%`@y%vC{V{!;2ougGqo${BmY9>2zgu zRsuCtf`4O)g#$u7WDKV}mVGIm2CVR$pSoxKHIH==_P$@u~5W6O> zUbZ_YfY8&b-X~qa1K*mnqHEr{eob=HHqM+Kuvjl(bV?vFUeeo+QXIlCsFqJ7UQSdB z2(f)LS_t;API(W5)sAJ$Mr~2rS!eOGVRyYAuNOrWL6W{m_}82FceyFGVQ`ZZ1(abA zPtK+PM@kVPdcQa7xNyLF@!@(*MMeksm2fi0CT1F47GPCIt`S>sX?w%YQjQPDo-oXy9Jrqf|!pJBw-K z*Ws?soJ|wQ&x6I~=>2ioupMFrZ}PSgeeoY7@UF*?Y$1vHtXQ( zCQGqfpMJ*{g5_2CmonC*V$1>G7t%@FIUG8w?<`}NiARjnYQk+TPp>yOaL2#fZc7wa zt(r)LxjbVhArNS8SCgXXyfqCxNBZA8UTMl!HbW)pKKf*pX9j>cJYsm~4E(5$MP+E@ z;F8PM2ALu{g&F{?kDI#+pmLW5xtLxa&$i62G2SNF1AKJDKj%70YQ-vN<39_A>BmL8 zjX>u6AObxy$3eCBYu#mC#z?D7BJV7o(~~6%>u%cU(t=A}pRa#>sMTNtgt8Q)Yf79p zii`u#f+bQWL)aXaLX#}kQuLj6a>j6A_KJckwZ^t@5lA34{&P}Bnv}$lW2fS!Fn=U& zSZorn&@tNNBdRBruMLB=A&XX74Qd?g8S z8GB2UTRDU|20-O0AKSD1@=~_@ys+o^HYKwK~~ajno!8;UPPcxaP)I`J*_V#J`a1PEItcu)~_ zsTS;BpFU@_o0#Hmgc_0x4kIuaJJ%TNYPDEwPPcMMpb7Gg0w7&u$XdOmpU2*ecv>1B zKEiOxp)cb<2N7l^1wXF|FNWZw0_A9bK&nM2=O-$bcSl$r%8*Y9oc|6DK{iiNiIux| zI-WoK%cKjcH?t1G67r#?Po}TJq|JbvIU8C^g_J7Ctz>vO8-JAU)?#6 z3=zVvZ$DqXrRdx?`$CcNs284?Y`-+*mnThux z*8e8SiS@sa@V#R^5`G5NHb2ilK8OMG#*K8Sn1~vxDHDv>ATRqnE0UilIgtyq4k&Rc zY)e3{cZG?LyZQ**u&$#DXuH?axk%xM6ZllhaQGdim?BObLH5`2u=;#2prupiJrV8VGVAtq=+{sFQZ?T zQp}8f2;A_B&F2EBnTw_`yKn&8bM+PjU)aL&C=y9Smp8u-xSMD@2^=Wod6=Q^`pkd% zer*38)-cOq7wX1*%fRoBO_V2$tW6-T2a1#%h-~6>3VlC<=8W4IJF>gq>|zgkK2}J> z>$Mg&cFX{g@rNizZW8FYUZ$?JQn(iog=xqm`2A6dRNO1otef7#|CE&{gkM~KVtvB* z78be?xNmVqv2|AN;rkk6I=K8k3>`Nlt|IShmxuXW{Ulep6KMskAdO(T4?6+Bp5|lw zZnXHidu)Z6bO8Pw{QZ#ha0GkNYhX4^z^+A7lo!=#aGT!}#Tay>jl*~pfdA8lO&I%o5 zv}(xwXe=&Zt~$oC0j@8>DS8E2aQp#Keq32h(CQ+g>g_d9GC zr&4nzG&&^5SlSfsLqAx{P>P)q7cq&@mnQ}#-~h#&*JP#Biz4F%oX!~AU5Y+t2F7m| zu>OROGnaZcPzhc}H?c(M2sWYtq%{G&-+tQ#($hCR(idRHVCPj6I?WhIb4uhJr^=A^ zBvdSMb&W)u#%bpUJF3q*3+tTV5^)_fbIO2O+MDV{d>Jg(O|5^GYZte+3S5a;Pi3vo zKqDXfx$zB>Kq6H?g>w$KOSZs)8Y-BlU^OzJ_L327lX-VZabTo-c~$#B(*Yt(O1~h? zjPG1}TNqr<5sj!(IowSZdT_A=Qlg#$RvZTi%1x4o^8UknSrHJV96`{0D`e@V93H_tB#peSqc|T zh`D(J9jDYK6ONqykzG7-sf@+9peAGMjl(?-WBnWORvZ;v_=j;4T_2bWA&FvWW_1>P z*?UO2Wwt%7{`M+%pwTYofW)i9Mt(jcri9el(Xo!#DfMtXob9}}xUM84l3P@}PrGE_ zP*Jl-dc32hbvtjP>c8QrX27xBpZ^1m*?_$xT|E1IkZZnUhkr0_Sv&O8Z6WqLsFNEG z>tqXUfIzWG@xXqFh1&o7*F7P{Rb2WDRJ_#00FJXKcNhUzV{LN9@R}o9v%6??((p-v zU2?1!TWw-vy;_yHG++cCs)VHweA~mNN6^LjvH^AhpqNw4_aZ}TZzjn+;0FWXwX<4x zX@0HmQDsyvEy&9Ls1$$EH7XMvt2fpPZif@nqNoaeT>Ym-swC409KzG!+K}PW#jXU; z(uX9IMK%^Mk^ryq`Cfx9Ndc;auIo#+9jHG*-A)s6E^@1JdYC4(Fx;OdI3nIhb*RZE zGQOy@^b6^0RL5J}uB2!8oP8ui`;m@uHFAx&@p32L5%s=mvlBSH4aHGj@jJ?&^V}CF zS)mOknC+?#4dx_$3y(8zReSxv>qko_7{HbpkHRBz9Gj#wgLwJJ zw|`&d+yZ~NBwO62bkB8@o^_FNV6`0U6gmloYPo%+>5LAcPboH=s~@vE(SOABZbL5*#>w~ry#<-_&Lxr(bm3}Sc#Wx$h#J`iYxT#msJ6)oypg&hw6h{)D`ZY0ss!t}Z^%WHSKLPlEjg_{{{_?t9NLOu9iylj3WWG07)^!)#R(n?0aI1+k(a@# zzS=h_eF9EjrY6=R*4y$FjUpdztmYWhM4fH2T&m<9mZJm+smO{0PL1KAez4WcS1a)v zti&vz9IH$gd0ndNdq$zkxKl6M(N+E~N2JSe@;0#6#Hbrcx^d08%R}Rz-FjgT{;jau zXoo$Xv#iZvWT`Zg(VGNC+1QZAMtV#gZ~jK39DfF~&SU+%)cybGE&4TLS&|(bL>{K= zyd7np9%-Wo>mm{a(vM2N;LbRB-6Yl&TcHo--3g8@dMPXy^DQrC0}Fb9kQ*l(Q}~*& zw%GTKqPhd{5CA<|@l6zro6mJ2(q$@t_Q)dT^a#?cSuzEF2ma@h$q zc5MwCcZ_N1iiyQTlV?;Nse4&d1b6E&3xxz?qv{Fe*tfZUW8`~hvc05|2tO2KE%{R~ zs1X)HewC{{sJ|QRW;h=4*pFcAr*Z@&T$gAt7A7C)4)L8hxSA4e3)w6&TpOh!JZ?Y# zuEbEAT#>vsnvEH8gqvZ*KqaGS)n@@TXgHxKjtedi(;YZyNkZI35##kWP(!X28k=5@ zKy&~e_UB^*M|H+PfKbTFaU%M0&_HZ&rA@f__pa^$qaY+Fb&uwjZ@zHqtvimS)C%8D zTz@;cRKw2i){8;k{;>~#;xYhx^^VUr1&G)8$ba@}-5up_sy|CyF3byWLzJy#^$$<1p72GoK zr{iXI4ZH%>ji<6O)R7{YRYi(V2YTR`r~(!z8zWLVjJGu+%{)(1~^#Zed!%t;pGWIrEmK)ZO{M6)uHqx;Kp z3;n(?&y6KkOPCy~5Vx*NqQQIupqWY7qoGr&B$VTObI_nT+%AU~7b+`TjJMZku?jjz;dFiUjWh`X9C#wXHx~5D+;p89Urhp>D#j-mowWHXb`b(d zmN6)2D?m;$>X!}$d{|y^wy|t{EdK1~goS9b8xk%uPT3vB^5wF`G#=gsykq&MJ@jKg zl2T45RAaZ!TX&8VKfM-HG<2rY0ixwkVeZPa%#b<$+h2Z$n|>osaSs@)D>n{}T_DUj zDHynyzv90b)(SynClR3{u*4)8@V5!Fjlq=xn5K}qYA=d4s@2udfJ(ifCJ<( zwDN0ZUA`^u(4qm#;h)CHTf=gX6O@9My5DhCfbf}Q?7c~HZ^0lB_CuoKUTc~BXnd-w z2vZmJUt=#@Pw5RAn@76!A_^;G4!24n#k%n9du?!1%QiHk{UXC2Ok6FjC(bo7s+%2y z^rBU9=mZ(bY7}DYnZ}PE+b8#06cx3AMN!6QAFD2aB^_0Xywn3U2s6H^6}Mm5585cH zB0FQ+i+0}U_ec!x|L``Lohwh;sCFjOyuoUtbkTh0rv7ozbm3`aX+tB%B{G%#*u*Ms zwnjf!uIn_RglaKK{V_E35DN&voW(2>w}D{qulW6(WIKW$TMWluZtkF~(G^}`9cg;| z;g$`~NePwY6MI5s`^66oeT=)0sb+jK2d7@ROzodW1^VIHyAvV<~2!Sqf`E^b`x(a`fJRkXq zuz4LlcDGz}9EeegNOL+A{5?dt*eLAu~tg|e_j z)?e|t@28=&p?@dWXDY7dEPdT;H-s2Jf3n0M_Mbzgq>56C`-7k$F^4~nE9{1Fc6aMfIqhs zFd1i>IHQ#ke6DYf*V)4FOig339+s&CUqq;kKw6hPO8evqIx01qYNVy`j#B&_O+;0& zeLY`w@OA{WyZzovv^gnv1n^#0+)&+r%>xW?xa=qBbs4A94PVRsH3^Rfg~_M-iwm6~})poghY^`~})2_XzE zzIO%D@ZLcv{D2v#(y&&~{u_QlZu4MLw~JOsLC9@Rbwo5c8Z=55v1AFLQn6Kjt^}wU zEoF^>I_;*|HayCWtyH}JV@Q+=v4w31oR%_OPqx9|y;eq|asWVFn?NC{7iKagjJ#l3 z48}N8sw_0EgbR>B;uEDpp(s;JGvC3|ZLikq=Ngn!bK`^|Q;4LkCe$+&*h%2y(-1v9 z?$`MLGs?AcJ_4N*Uv{cf0W@{Bl5Qs7ZVan5wZE)a+*o zn|w8KR6v(P2|)s-b#=@06Dzz1Y+rTLZigtr*5aBnwLvrj5io;;#A}@2e9-zm%>VoL zZ56&etV=Dw%_XiT86~tXVh&r0)E|!PERN62DI_Z%T{+i#xr;vek62J6BFz@(aZS#V zJ)A(TPW()V71r~h08Q22IAjU^WRSz90v>w}Ui%PGr+))lr6G6WK@6DWYvrRP1*WG^ zFUR?>p+3))Q8K8BOilLRDT04kcCnA29}A#&VvA8jlYH&7RruvuT-{5l@0^mPP%_X2 zQ%Nq$3~@_-Z4{jhzx0>m;88{vr$KX(NILP9TNr#;<396&c+F1qOMmT=AIvd{Fy4Yn z8;Q!{)@AB34IC*>ZzHtgg8xLsVp2Vifo)m{c&gOOovx6BLS`v#l%hV6zDjxE4vn?A z*_K?bU28c6~-9@pY?9mHMWX)Lvho?~M zljXHAG-5yqTvrTzGKg|;lSiw1cagTFJ*Hg&yU)7wbVawq5{WL_i@6Ex`hrt(8MY-+ zp&Mdzm)X#y(rj`52EWNTGOnXwm|?(0G;KF79?WMjMw4J~BrqyNlKzW%^}cl0phxKv zm1!7P#K$zr<3W=b_cbzvn5>KskTbUwKUc^U&0UbWwfw#%f8Eye`m^a zFg=2XcTf1W3pR=XpSQR)OfM$da#o5C-{)fFd|2bvR2FsX@-j+{!Yd_?2|n(Bp0`dP z07V8&L2fv8>TB~Uus!?(W_0fx)3l!lk=Aca{Uc-K=W7*_@)B(%<|P-yt(6!XY$qr4ML!MwkCPb)t1$z(1bPsl&Mr#Bcb4W!ehwyCZ|PTFJ`Mh0fJS{I2=jJ$$~0m-`UMYFvd)30`i6 zDy)(q51?u5(5?uzeEZOZ{#q!XN@^{Mxs<(57aV;vinymXp#E{)sd_z3F!F<&_geVp z2JtY7OJOLPYQhK&*GMJwQ_=ZfX&prFv|zgYHXml+cd&Zzp_jQ5AxSRG3qky7?TH=g z?e&A$!9=5Y)+vXMYQ(mrRx;1OfZV+bBIXUQj2`*Q8Fnd;&1A%r1~f}2%NxRY*zt5f z3&xtUOeIg#&yHq-a6RPeWgF7i7}vi|zeYNkdv ztdm=1w>$viC3}%uUn#PT4M$#B7SJo7bOfA3&^N0L+JBqWw)C=bCdMadD<^(6Ews?Znq+OxD0p&Gc4o85|{ zS*J0edR@tjRa9vNY&*Yhw6~i$o11?`rvRmdBM&GnhOzz}3XCq}lI|U%n90d{VpVNY z)bub|{9VD*u}_Wy6bGTW4X3C;&1jz`m0~CZ1XGI_H$_)0b3*37o8qnonIAxv$p7wV zU1*0J{~BCXV(UIEb4;`}+55GQAQXNREQ;5YL%$VRGu<$j zB?HvVQ~DU52&u}}+`u-6Q)Al7LV!)2YM?xftHencf>2g$uwv&rlGsd>e3BWoD)QP? zI^xeFN5i(qD>rLZjLfyZga>mf&PX^EVe>4mSyDiRc)Ad8|{ETiFpg?@b|w6G=q z6Arm31>r<*$0b@))C^tKjc>OswuOkSK~V$pdiQfCOw&tyMz-UUNC56o$VOa@>yG05 zluGls3GpK6t`cKr;mGDg=vWRFZn4w$^+2xj%9}XH+Oip805q^~E z*J%G~6BW3VE+w#y0>;0ASs(XKoH#q#*Fh0xY_U$^&5QQ=ZbNmU z$?Js6I@g5A>lh$(c<{qYn2J@yJ>UanA>>F&adF0ai>)O7+r{hLRV{?HLP)a{vN&`) z(Ib)GYvNpo^5EXL&@EIi#^-pkz!d8%O{i=l+B+$Dro%CyM)E}rErOF*(%P`%yI3h0 zcC)6gzd&*WmlhApG130Lrt(vYnT_1;h2tC+OG>BUS140Msbs_&Qmu_oRT^93xgbq4 z3+9NO85djJU=;7{L92$5f6;Et10kr;Rjtnuo>2Q`#RbSZAPyns&Cn^q^}TR-&&QbTi!)>iKNvV`%XNgvm|(UDG?nj(NpCLS zKq;C9zTsC=XD2hj+kgfyv!6q5z)6azAj$$kKmGK`pm8pW4E|*fm%ah*lw+MPAD|ywuwwLOFYe#^H3cZvnRYWn%}(F9~hCP<}yD>l8P(3;%f%DjgdC z5@Q|@)8O9d^wG)QqapEOSxPpNhEnP6Tx1W0V6PiE>~#)F%83yXjzus0q`@pN{2a_H zm7g%;k+I2`=yhx!luv{*6vKKpa)mj)dO}a2uNIXphohLVp2WD=R68Uzr)`H1qOx1) zI~wCd8)?F-_Xw$0dtGv9{l=+qC6_vlzCWnEU?_Tj`!M92%DPGxgO=5kB zeAHZ5vYG#$n~q2Grle1fb#~2Zzn!(8AHkB^ZX=-cWhhawR(Nmo6M8ZNJZ;qFVr^Wx zGLddProqfviy^k-WBn48R+f)c1#1`ipHB_@KrXnE(NQx`+vMvZn9{QWqO$qT!+L_^ zY`3fUw!<*JUWYPN;Y^gXdWJ6}+Vx}Yu!9s#J}6LrB*4}^V$d;wDGnTo(-Yh@h=KW-pXzGUd~bk44>;$YiStx=vT%VU!c|r{ zmlvd$(E`@kZiW7Cc<`RHlpg?=b=Ozw5}G4ch5)sIN9|T2`c6!I8=;&>c%!>P{d+Xb z{LQK+=U(eoTxsn~1bgK(R)w%520Yy`yS2Q`=Oj*{@x)WizDL7}wnPX&DhSKq+lqy{ zO|pcixutnEqQ^7Z%1BB7W_IE7uYT!izO1KAV~cF%55?$GvpbSeR>yZC7*gJtutRKO zL4ddQUuugTPBdtF&*H1Ij-fLrAn27BxE^$7GAB~knSu`D*v;ojQ)0rKH@+c>%GG^r zcw470quKYvt#X_-4F^#HAvG|HS_V|s0FQ=({Hmu)=7H5Ihqnnz^iEMt3$wl|4_?Ga za#N&kaEcv7a};i{w&MQMcP1D0n}O9z8GbY!Env}Uaz%V0$t-eF1MFlctpLAxEcMj| zO|xOvCJUI=(oiP-MIbs(3VYJYe=|2Or6^AQ)RzIr{D*YFZn6*Gl<_b}zBFL)^Rkkb zb;l1VV*2>FvDf(1?*A$XpBzBNo$#~JpFU2GZ&auXuV` ze>WbN%}*LSCf4Br!ENkd_B(DcdgGvI`G=8 z{z{pgX1bhnCCavz%+2;rS1{bm=ez(=_U0WzwF<@DW-X>IaX4$mBH8nKN}!dI)jUK= zheEnbp0|Uz-1sSFzm{U|#OwQ7W08(#3^cnaGH-B0_e;)&?5P2 zNq`72y|v4E+Y&kJyd&G`n%CGd^rmrDRHbGc>`mWmfeT@nD zvySj}))ZhK^tk3`;qIiscMVUDc+R7}xr?#3&l2EEa_u@b$_v1r%g}TxBvJ_D5$X~s zpnPZ!_{YBbJnwZsYcy@`7z(8os2Re}61J3>B{FH`6EFhAL(A=R)LD^hH%~$Pi9TA7 zVY%JH1O71K1E@wY2hATT1Ek66l3d!A&||xT@oA0ROmZ1--X#QSz$M-wa0aEvU7Q0~ zSrU=RlAF;P_jZs*o1-i$t~`JVJ26zv?nVN9!Z#^~RQe&)!3{_mpJH5xBEoa4kxGCX zkI-0%oO_P6Z1FFLY!iEJ2JbvtaH-<}lH4ujkLu{~zsf%TVS)#8o^Gok#F5V>W~V@ZS4w&%n}JA- znky8Rl4!OSYdF|~l})mFmn~7$*$bf_2(5P{DJ2JnL4N<3M{Pb?=j*(1jA|1JdmX!+ zDZIlK=gmIMXcyL{wH$z1xKKcvH}YbQRlXy<*!vpA{a~a0&JkX}d4-iSJMc-Y9-r$;4fFQf^m;^T&b#&9N~%GE(60pRt5l`%=q7+^ERVT6N<=lvY#~%N095c;W1sW zjVOmdU?I@E3(@ojtP~w+0Sr)x7?Zs6JHXL@SnsEbYC$3G&XT8Aa7GBJSi@9~Ik|o-r2=RP}>-Doj}# zw}{fj6Ck-XKbi1wAP)rl*hefG)m8|iG#zlXSZ@Cv7oVES3`GWvCm>H_d**LMTYu;9 zyf^@cCIhRih9GRnZ2DPWNOH4?a(2P#Gz0ifi$U?}_jLn&&f%vfwMNaz!F`p=r*jnn z!bn0a7iLdX?Bd0WKTjhmc=S;CI+~_OCRXZ`+tGIvBZnlReBeCZIf+#Fk;?@Pq2gjU zo(IkO39PbH*OYO+S^r(%^*^+rd2`*M6rKYTr*f32#+5ClJhwdA*_3ykI6FV(rERWjjnz5lYNpiSS_Ho&ZnYK9er(e4D)goUd{ zwPgR(xTa{>vW5k-7c&!xlxh*o#y4Y>y5HOq%hQ&&hw=yKzQuWE%chz* zVeA%hlp)0G1rnZYa3FdjF8EjJ(pJ?j(9P>o z){c$l9%h#eUq|ju?AkuI&ilGNrRZJNMIWFg4nD=54hv4#xV9ehmb9W~riksaj%}ka zPg8L0b_hf&+qfCG>6QJVRjU?;GtE6+wyFQw^8b!^K=V=eN z(C90Wt(DgM#0~zrfV-u257reV@YSG*y+8*w*_{D#@A8n5{PQ0HmO+o0AUMHB52j=X z;jS)|Tb;*9g$YOFQ{x_R?ENBU6JQIw{&nT|PE#5% zxwG-;qgS^3lM^a=CH64(D0iN=t4IMATC>-5U+6T-g2XFF>+Mi>yay@}HB+4$`?7&2 z?6!oG$PWcV7+BxmmKop?3A1+H&2N~*z0sKCN}KYsvi_Vvfc`eBe-Y_S2n^AjLp1^1 zmqt70hMP7|Q0uD}8Xkf6kI5Sq`wm?(jEcE%8WN&-XSLBLMr1`BZGeA28O$F3dVzv7 zdO0R=NM#YDa?Qp`lM2;=n~~#G#ixWPIEn+VMO9Ek&et91i?{)#+m8ZY2&$C%?=6l* zo^hQSCYmaKwHQcJV&FcW!R&72X9!i?0ieWGrg0Si!g2tklP&E zH#ddbmDe0zpws}XGyF0%yW)bG3&B4oHo4Q z{@QOIY|F^~=K>gN_nVR6@ywp;Ldyn6tr5UgcuZ8VKGVIxE<>LFi#Z?AQiFyIi4DY@ z5(60m7d6WfIJ&@;R&o^y2$d`2XDcpfDh3stO_VM>P%Xw>ZDV4ob>MDBNHY)#-U3<< zw~7V`H1Oa|e&1%)ur$o8(65)h-Xr7O(?2l*{MU!klacMvme~l^>4EQhAy#P(N7&dy zcW3zm&2KN6c!-bR9Wn4={l4&@pl4ldot*S+E9rjGq6Cn0_b=i8*~6-%MKr*$KxFQP zEGc}L$)VvDdk4EBAoae{^$FuR&uuM)Q^lp=s*3k@fa~4K3?nTJvpBa{4P1qk4i2K_ z-XR_4zWl`IX z=wG4}Zx#rtejoKEUnP{3G?DE~66G;WKLV~xt{v|PO|T6|CK^-$Yq~kHK(1a0KP6iM zs>6~I)|AoHI}MkybOIfP^k{2m$g@efV1z zF%nEdXVCxnXl|-ilBc@6*9V8((BRJw!4ON6Gy^bc?p_+>+ap1;9|$_Mx+NK8AZx3M z`kzZu`G!@oaQC!_Sh>sVW$DGlmfx)HV{_V%#ss^pngd>-onIE^D4M&mMO-F-N_ zD$6>y{^6s-&i)Jv3cmf-E@!#`<>B+{Dm@(%t zGOQHDg6_qI{;7f)Ga97pH-*6&;sW!RER$^O{&22EfGTh=T_fxC{`WU#-rtUWM-P&w zsnmT1*GR8=Q-fV&49zO-M6g}BRz;##_O~p+Sx->><&B>n_1z|sTAS9wX4O{Jw=rOIw+k1v5>z6z8yV=S&J=w=-5-*H1T@9BExh6U0 z2g-!Ugno&%lLl2Sp|k#Pe0#put)?Y+oylnoPJ+uu5|=D6)uXw?U62mhT46Q^w*rK~ zB!tJJ7_I6tEP&7ZthOR+8k~iBl5n%Cm^p}wxFaa7e-+i&Pg#6IpQg&;! zI{U&UR&7`!SmksVbal~|3_*_gaf06(&x(Oa)+S^=?jzA6c4F~rXX@5 zJkVhon+>FxF&5$K78ZMk96Vx;qfE|@@ON!;XRZFOP23GOFr0oVwIf(UZJbuYRTI?$ zm2x<$D8Pni(T5&40+Yw`@YDpnvW&^c4Ma)K8wr<6Tl@8LD1EWy2G4)*N$ zpWHX-Tum}b%_N-C0FaWs?_9kT;120G&WvCe2~Z7vs$CdWU8!Z?(>-SB-f*x#_1&Ip zpPl%6az%tqq0IOs5Xj$PHa%t!6|1D1HQTN>2X3XCa~VwYeMg?{kejS4McUHm_NHR& zFQ_`AG{bN|?0(v$iNq~{)*9f>;2;71dtv|gHo)Wmv41G@--5x=M)3bq1pn14z3oN* zUnRioJ~kz8sn)e{ejq{r9~H1&QeFt}NC0i6^MhM0WX){!DO_A*(*_XQ{}X=}T|l8~ z!Uy6QN8%kjRo;5e4g03Bv6l7Eh)y%xF;SGB@+}l1U{a#GhH96)EUjrM4W9qD(;7i# zki{uj7m`Y@BG{{Fu9WPFB85%3U9rr}NE`7xfE5$x=eoz|i$X?`4G4D&9MJvj?ZV}< z_mlhbl80FBcA|hQDmNn{!h+JT|2@i)CfeJaXLProC~d>8*vG>y(x%WZkTrwK;za`n zkovBGd3VZmwipzS-vzJ7+9i9#5rVLl02Do~7bWLXOMDJq@A=fp4o-QYeb%v-(jYJZ zfz$TXRU&O85h7YW1!A$vToWnpd6nH^#5SY#6Q9bo5oq&?doFT z3?rR-#WQJ@ZDF|l)>hy%(f4Z$@iQRX=n|1O`V|DFqy$wrhZt&nCNtwCp!;tnkCW&!BZ zx_`VKM;M&-bJx~^uK!IfM(z6m=M5;dom&3@#=#^%9{MLUbOpMV2ehJ_e5e?O539lw z?G#~Qsoec&G}GLzgk6vq8x_%0NC<2HtGwvdH48CpKGJVXtt35OC0V6g6ZEEjzP zn$0M8zzw(l^DZ^X;hHNt3biR`e&>*PL5NCN&<(jqpx$Id)PrC<#`-|Dqkq~#V*O4o z!-ki=Ib#WI>mKrk(OmXzLXZc*QID}p3hH#;&LAf0PKgC`D&BW7*%HYuq&br#cEyZe zV6t$Ry*ZV`1d8oM9C#r?u5zDpsu`(N-e;yRw2LkpYUUk%zeoDtODUsjF}`_rD-2iw z_Hs}dhgs;Iv)ZCJIlf$F=in!H=ufd0i+6|q>vz)HNN!AEeD947V*g~r@%sr47r7jE zT^6Jtg*L*LT)~=QbRb~)MIjr+tNb{3H+y;}*o=@@B0%_$B4+i4^?yBrip zV&}0R-;~8vDZ)j6CLhCp_IspBd4!Cc;Y}c#=E1^@L5rpAyrw-yC|rQ^XcEZX7oH3k zJZhS2ML9AgsuT}x{N|OWe1#u^tG)U_Qcc?VB?O%^?hhseoks3f&L7kd=&6Pg| z@d=YRL;myz?Ba@TmHOjDMIHYd-|8{cI*9zeU^SNWiN}Bbc_%R=c|i`euo`x85EFuD zq%!ENdoM`RPlm}B1*ADSQg9~zCEu$x){Dp*$-SjG?8b0`a6j#=6N>&qg3GR#7AKRe z*JdGW^-;k|-~e7)mo^~*8KP-Nsy+B#HGPvVA83kY+W=97gkyes=bQXQL?S~Ug&gqQ zhxg+Hdh7EKIw|qRAH1bJH%T~w{n|4UvAV$d>!E@8ncNFzyasf~SdO56*UTFI1YcHh z0|C*bZALYjhQ|VI(P3Tu>xw*y$fxvO? zW3{kK3ok4E{I2Wb&_FEGIP`%1t0(3?u#&vRHMcn2ZI}_KW1~XP*m_Nlvvqvzdig>Z z^$#G_TNlU*kiH;<9e)@hp`{sgzss{c*!Y4h-wsDxp@})?hW7LEK4D7AN7M;SN)MD1 zJloKHt6b|6yFfs(qysvd@$$^FEgrni1p};|;fSihp>!Q!(GScEny7{)!=Ad;Rc(4W zAqN&M6Rm;8`AESSi+B{2l&mSe_mxNCC{o@4`K)nI}w5! zlmmjd_NApcL7$*zjWh_dpQuA{Ij^f?f;f1dId_R?TxQMU&i%a@C(F-v^85+uK3w_947`@5NP_3PjJ<5S=q!`Wy({3;P0FO?{^`+l_r>%{Vh?z{R{a8`Dcm z6Z7lyP<~wIPS;5`zTg?URC}Ibl_(~zKJUbCfiI0d$-qs#?!#2EK|D&D8u*8_zKtz) zy$}ZyB#A!?cz~;(9_8f)Y5Ivmw9k<8cOv`=Zs;GY` zdr}Mc7eSC>bi@8P3gGs-MH09yMxpSlI}-<#lMJh*TgwIhmvxgPpQCil)l>Z|Qxb~5 zyi!PcsR@OGlDyE+42KkHku?F9f_7^Q`&-x@r}g-9xFM3z5|=c-@T~gHtgVB9!Gh@N zT}fyIJ`*pJwH3o3n<^UxhqFJqRXsnXjn4^(X<#LGL(&OpZBVIu6E`B1X~9=u z>iT|fasZm3XWK~W6%;xRYr2O}I~u?Wq-(bO;zH5OXbLo*Em0~>Sgtn_tj0WjHf0)` zttDTy<|yTo%&y*obP&5GAX|j07Mx{o zd^nIzORbMH&_xscyK`eOexs#*1{AaaOWu%MGJbo~ZDodAs4iKkJw_cQ`6MnSWsUGR zTHpXdy1xnK+z@rnb6NiYOWhvVSZNDSUS_)WhI{~AyR*4Fm@sb?#I5m4DB*6ewpSH+ z2H2Gi}s|6Jy8s%gOovV6gcZ1FYN-(f+8!b`Fs{?~#KaO;a* z(^wTZ8)l4*1z5?u)-Q726``gcn697NfQ(Z;{pbvtHSp~k`YZI(WG%Kc$*UjPAt z`*9wOMiME-jZUB|`hpUGJ0$OH_O;qG(_EEA&d0v>8NxBJG?6eaiJ@$a>E3(S8!$qHCm|y7Rf!3?SgIaQ>^HM3(i_}?h6;w6@Zm(_b9!! zGK}moTKf{am?ecsAaE6wQpF&^HhPbdYkFdJ?jAz9*^q?(SR9!+CAa-_FeaQ~mTBXQqa1Zx&O);aP~6b9?k9O6A>eh!3Q8Ck9WD zt)r(S8_P=fXU1()P%joZp_^G22=dYU+)Jh)ClGPJ5LqI+ zT`X2vH%^Up93HG5Igy-5deGq#6Uw_JX2={Hi^SD0F)!sn`@MAJZ^<*fzaH>ZvWuf> z16HHRB~=W?5?eXGg6oeLmtyxhdWj^$iCxDSzs$TXj|ahE)W*Kq)UU)2xF=%FNS;N? z*oYOdZe&1TQRR-KcmUUA@xol`f-2Tkkq1WxrXJf#FKBffTvYrCf(vYZvf?t7Db>AF z&VIeDUnCVf01d249gy9KZ{4?9fM2uQ%^--t3%Cwr$b?OOBPnID*y8dOWH+Vf@{TlF z}nIg0K^{$&~JC8b#Hg>D&@z*e<;?Z=2w%Zrl0Wzp~ zDB)ctS=X!WqTA$KCz@KMi5G8cgeJI&e)ec%7MW~RXJC}{5U*f+|K;!jT$U&$V2D6o z6>zl!xHYeW__0}((}rrJYFZ;l^mnM7`e=bW(Q*jf3S1%ybOYe*&EIl)4+T+@>}Qqy zb;C5gsTDpEnV=XCBw}bD4M^t4A2dgs)%TQ>x>cq?4GFOwtRz;S_f+3lpYD(nAt{qo|AvdRsXmBh~K6u6mc`Ti06Lc1y&a&&^{rxr(?%5Hk zS;1Ga{y>%Ly}Ne93?-lsY~VTwj*0<>g3ki~(u=;T<8r;g=9^AfMT4-120s=BxsXwq z-t)lR(8GFVWaP0Vr}=k@W$$SBq~b&`Vj1r^8nW1rBI=!b!(Q48?Vy!Gjt7Hn9~!ZK z)?ws*1}HIOzs7+9r4C)yqUm=w#t4}IR%}Y|JXu(%}v%Fc>L4~T;Bgo14kALYcN&9izL?)biPP{u~K%M;jEX6^JQZQXGdQ=;OX1LHwGty;-x&f$4 ztL5n(N5LVM0E@H+yLEE{c;n&4qz?1C@+_s zHJ??dPelBR7z#O{j~JACsvO`o5U{LP>U48-rfwZy7-R=z-a6**VK6tR0^QML%B~AH zVt2WCdz+`=(kXlrAy*tP^uOW^i^$j}u%&qcb0pV>Kum>MY<0->jWfEC%*pwzjyi!} zIbt2TSFER^N1#WYqlrl>gK3FHnONuj-w}wVsKGOag`+tVF74N=C#^GSaaJl5? z$;@UMn_J@=>0;fkCNOT~AX`qf_uzLHTNZE<)NZ$odi_N37l{VSq)!vOiE7|06XbF>4PCstMutRuJb%}J$%G6#b9 zu^2T7A(Q9&SM8qiXFHX=r+_DxQ};SCLMw`4c%By$$XBq#)`jpu%X3YC!yVE438bj< z1Zx*jrSJf8L9F5jQ0~61`f(IaUt8rWhSV!fmg3}@zV})ZrJ)OXi7MgwP|yXZ6=0vc zx$rgJnJo-~U+^o#+DAg9TqoS2FCpS9vE>ZJYh(c{0OaBkT^o&+$#geZ96BJIeX3nw zN~2p&0coyI@-2q+#0v>=u)Ss1|srfEZSgH&qIW+5}5nQQR8e zOWZ-QiB-ctlh|V4>5H{wL8Qgu;Z!{~xD7XB@&mFYK3PQ~EQ?bQIafIL&>7(WU@1L- zv|u0&fmPvqGm7e4_E=^6Uyg%(VG{d>wTd!dVQEyvT@N!D;Hyc5x?%%VWfr(xgu_0k z6ima)M<*`UfE82rl!Zy~kNqAY`7jXyn5UUPNb_2RL?O7?m~KoBVCbW+wCnKlCK;gN zhC=fIY6wGZp@8T43O{mEWgMOZUl(ik7{Y@3X!YKr$_ZR({DhywzBHaf;xM2GHLp6;s>Y`6E0mmwP#L%Ts00R5DV@S^76vuh%%s2 zw^bGfR;jKm@cOq8Js9+Fhu`w|HgpdG22+A4$kQi+)*uf6AXXF+=EycZpG{#7u%xXm zH^|A7$0PmfIcd#W6af2C5jLtuUlo?dWB`D}ixlp%1kubHA!DP3T2y%bPYKi4KT5n4 z-{!l^1!UwC!>7?JCd4685!rEO8li=kgi}D~GhwG9ot@X&|0d=onJEyTq zSEPvQN$CP#pFJCZ3q-kBCF=7SapZ!)H*SNJ>3dn8JFSw1J$0*ER4t8dMF~YY>A&~& z!|w#vjh`wE=e`^5?9G>9Y$u_=rU|~A1>q#q^uCdAhJUVyLmPR&9=F*eKna*q1cx4j zd&_ZYJzCj7hm&VMg)qtY27PRQWM@9)@$VrkM#cFaIaQoFz!+84l}el8&rvQ_QLIzC z|Bg1v|&IJ3u4>}UxP z5plVxv|q2DrRY{rpu)B3X0v6=+^9<;lU{e|42t?8%k>nCQU8m(OzSm#_14iv*QV|~ zbSG%)S_pHx9hci>$2u2`vO`mA0PKUBfwT>7phsGIT72$|toaLG2AL_27tWww+dt>3 z1{dDPLe>V!bG7{bvj%-GdMa20iSLcKe z;0nr9WdtXx_=d99GcFX?=D~elnq1Ez!tp%3pLwcHKCB*joZ^nUnp^5G)Mxp$H=)f z;La_S2#Hka^0}vKv6>}V0y{qXFj_h`Y7&&s88(b4jxg(%foXOkI?nXG!;s=gj_3jQ z7(<{yDVlhFd10r^S}3rBDT!>E^i&lQqX6biOVB27dfbvhVfWy?9c~}b*Qw*pT8jxsiVX`pOMpN$pieEt!Aej6k2rAnOR1>Z{k2ValO8KtVjgPAeLvpWex zB^HLoe_N*Rn;*ZDiRd>Nzz^u2#W{v;x-$9 z3{CEGkU+G%%7ZSGq;r0#I8W8sQgDX-Hve0DgeqJ2B6c)bX|JpgJ{r~tdgHwA&v+xr zpfpjbpUn*oA3HtE6a`{(&oJ_-rIX*OAA<7eeE>jX z)ePAkds2=x@$sQQ=M=LRv8#bth$eIy6QoW0$O6Eg+iZs!2o%YPaYJ+yot*xCK!Xlx z-zN@vIz}RY$eS*rt`=$XBq`&05tmjoahK!h#?Ny?D8~I&GpPw>N64~{)zXBQUO=Ly z4ihS_rZlE|-GNUa06_4_ZoL3QOPDb|ZZ6~8#E`^b5tb4v=R17fT=DVj)3ZXP=&ra1 zMNm9u{uXJ;_L8P`E5GFP8-hY(D#2{7e@9w*Y}tLtS>}jonQ2SLOVGXc^g5Qh8pR__ zGw?6N2zGl>lP!-LT0#CWl_?brFjM@UhkIwds(+$kTCn4r-$ufrIf5F>89`AoK|ype zl_UK}e9?socq1{{NWIqcylPYh)!!fJAm-+i)HNFKlV;G%5|2Cj`BI&qaN0MYibOqw z8H*s#m%T7sY6oIPO~7L?ZK=o#fT6So1nPti zV2^4E{LzoWYHpwV{eZs7vhZJBsUwK%`J}cvJRpl5LGe?HDU?uBKV1kZLGGMU>y_s- z0J_;5qeqw1K~g`9Kf-$K0)uifpLMH~z;R3wP~zoB_8)Tc1A(4^?05u+348#(un(Rf zeOZcIZ^6PnIX`4vNpOfN8G@1m`p_N7iB;we z`vk9GkdpYkwo`*9K7pmD4gXGo0>qm8)(f`D^r^yu@T-StWl)jx-UMd^Q}3<2QR}hM-&$k`N3Y<-y5xCnQ+6jmmkA|it=}Z3gC`T zd-86_fg6?eW2si7UPC+Va)MWCRymnmuU+J{4X|VaV0BrYuLr`o_P24K2lg7WQXBo3 z{sP0=-Rc6|+p)w2IZ&Ej(+MSqk&X)j!r8%o9EX4+GsW6iB0SoW^RePaH4k!nMuE{Nn8t446#)~Jh%@u1J=Y*y=2U=-3s{JQ(4Z{M zxGtX3!s zYhu%E7%cDy#Vjx7wy#iLq|y4av<(v~7^l46WRG864U}EYX@A$Y$IRik*1|Z@#Z;{e zdKGY(dtw0&si*^aF!#O^A@C9sS%ipFq{_b(3eg@6$&NfJB0aZV)GV6!o&eQrxAdpgxG$~wcsMRpc; zWm#YpK*mUTW!GCoUujildeFRuaYTDF@`fGBKS;%<97l&3YojM~P3Kij!+ zfU`6N^H&U45$ao74~00p+Qe&LUbIAOf5$7>G0j%~P%0ZP*s47Ru|(g+F~0)^!{{tJ z|Cp3b)Nm*kLy{y`lsdyMy2XqUgGM-(k=sL#vQby2BtU-{W=p)VNP@K%{@v*1M)354 zW=9x-XGNftf(nih2#J7Z?^D9xD%?#Zs^HUcSuXA}3l=15wB8;d{c! z`O!Eb$Z!ASdW}@FJUpnc^rOnX;`suDF^KkCgy;{=`s|)N9x{i7sj{@9paOMw#!O0DtZ&a>64_kX73d_j(~qpAldbpoERkTm~yn-8!(w z+u=w)_5ieg0&q!H)|sTUG*w^4v)%_8G=I0%%usL<3#GrV);Bm+TE?({pd9Wu!v81+ zZt0CnA=P_%f+E%iG6ihLxC)ANaT>|&gI#?%N)UuXPjyd8RO~fjf|i`wz}WZP_uK&n z=MPl>ZCOcQJO67= z0YN4Ob!T-UUuHc6TuZwz{%VbbYr9d1a_Wsr3;-32C6uuCV+j2u{a1QuQj*3G%bp@Uh-Z18Vi>RK}S{OecV}fzi4M)sHA{5tRnS z=B6DfLq|sF!!(h;VPJS~QeOnY2jV_k{*<-kp&P}o+m1v(W{LD(RtFAE=XKhWcmSSq zEg=<=yK#sE_)sBHa9JBvr5b%lv*H19y}J84k+lXN3Q2Z693v0i1w)TYB^cRUC4;7E zYV(?Er!uEj1x*Mr`UPaRiNEtO<(QosiSGc%I)0R>N+VI96di1_HX(-uZ})0qwnQRa zNtn?J3dtQKdQ**FBu(uKIum!?OD7*-PYA`spbam;tn@(tRZv_vwN8An$y3Juqd^7C zu(FxRvsydy{M=(+ZD(lZ^>O8BQf~~6U%X9}j107m2+Dz^0pJVX3GYh?s%^S4(>#qc?Cy=ckkCfB%_l~tGK<21NJ?cD1eBb?G{vRD zQUX4ucBqr6w+i&_`Y_IU0!w+enGJO%mHJI%OU}%!cgU_(J|iA);MCL#j1Yg8tK=tC zY^p{XKq>_U2Pe)FVGRycm|uXj_XI507*WZQ_Td6VmPHre6&KW$gy2+kZsR2350M#$ zM^gH(=bh7L{}MyqxM@FjT9Ro_d`jrkiSNnv@8=lYn1fJwH<(`Wv{k!bNhGy>h(f;! zZ72qC(CRovO>7L>14LUJl^7*M_z7IP@}`kClocTSpLOvS65g~HC-JCsmtUT@a zXR$xiYR;gtRY3D;aDb8e$}Ywva|j>$?$NwvPqO8pP7L6MHYe&mSCMxTkOfs>=mgK5 ztpirf8Zt95{edHgitzACVtJ&-Z-UOp9ARdm1eMvJ>{`q2+DqNDZLQ2DWX@ z9RsmU4r2V8ZgP&bEF4oYRN*477t2Q%rC43QWPXayrXK+-WrSTBaXqmd5G25X_3pb; z!WOtugvR))@n2)EsODQ*PG=lVZ&K>r3=+e_c`55+)Q`HeN9Z~EOb-u{Ge)nkz*~&Jf-=)YmB>bqo3gfM-*N}YVJqAd5)Pf* z<%K41-0(bG&FeUX#bn(PseC3N>FB^$MSPD2s3Rz(Q=qJY5k}GM*tqqKwF>Ch%`^oL zaSuMcI>YI7t_fP01@~}u%-faKLpa04rOu9z986O&(w^^wq0uu%cia z@!)tPd0(G8ur3%NT?fh|J;U2UhKtiLHSDmqq6ER^{-GIK3F&${vT9+#UgtgqJF5dLcYIIKj=vnGTlO=;lO1atoGWKuNKzv%0 zw|bg33_~LKvW}k^R^S%n0}Y36FYe0rh_qfq25#4C{m;TAOlhdCN-H*98jmsIXbn8k z3EStg*S~mhdKhem_lrO4#i8TXL44qbM<>st{{Y6QvEtOp>}{J&;`^it0tDD*21bur zBaw}nxygj}{2NOZ$gJ=V!-av$cjA0epw9C&uenY1`0pOm$6(l2S0PmwI{G}f9;8tR zDQNf$%F^vjdwd~c;a{;#`7ud9zb^kcEFUAa`-{KubE<4BRHqQvr8&vqricfBuC49_ zsxA+yz!B{Bad<_zm&3a&LWwUOK-y-6>@W>`#ezhiZzChJI1Xg0}%MQ(Cff@5GHE6NSTGM zGdOrNU|#%UJDnoG=>@7c%Nw-d7&`lcQV-m0-)V?4zFU=q6HpWmr{O!4ztoMP5wH#k z2QjOyM+C!8QRv+jfatr}i7|7B2=dDH(F>_IU6blf0%NQ!7%F;2cYzZ~SR*Om$fhlz zL7Nrmcp4&DZK1Q7i;EHR#rYccPhVJ{5qypoMH~3%!U%ffA|P=ph$vXBDv&IZ74vVeBVe;}LSQ+) z`t3c;Q5t6IvcYG=IALE*72rT}J_X&0UNCodt9r$t@(}THOYXQ3Em^q4LQI?`(eIi~ zxe&m9k?s+{l8fO5lww-~F92Ck`&L2{M+&{f!~?JjI0B8G(b-FlhS7{Gc;;FB7`9Qg z;a76C*@3~RQ7*W5uNcIc)wlo`t)}Hk^(sHE@P1!DIOOm9ibu~(tX}Q$J{0Y;B3Cbd z7Chme0R-w|%2H}m0Z7o2DX`??bn}%U2n)kviuKR@$+ZE2kNamYTiV7df#`03<2^O{ z|9lyI5)jo(QhiSQhnrwyOCTlX0m=iGi&HE`8AKHGErBV76B)#euZnAUF(egqoGSRS zEzShU*Y+v8Sr#rTXJ~Vz8v$M+%&mj>OnJtO=D(Rztx}cm^J`}QD+O;Nd#YbPryuy# zgDs3uH1bLbg6`U#8WU3NsvQG|=pGPl>yust1p)j_pXwYwcSN!38 z6m=-M;|!t%!pX6*zY0d1Ws9AbABS=wD;+L@-9tnM9$=XN&QhE7wLcZ!E-jaZ51-+v zHSY-wJu!UXPJ~xZWu?v`kSvp4agN_2c^28Rzy2QY>HWBK@)P=l!YIZ!9Zut1y3^cv z7sa@dmKyQUYH%G==%6*}$J;McI1B}Kp}e^Hulo^sZ^#Kt2_()UNp2-=&dXozcn|0O z-)WwB@Ll#UE(a!}1_E#ksR_bt(#ieee&;o>HO;DEj$0}8GkN0DEn8*E0gGB+R{$ok znbq;vK%;kSLJ*93)ggAxcy9{}_vgE5*rP|Gw*s}s{#rz}74eIH49W;uzV()*D3;oik|I zZ)53_*?Tvx-bcXpKQtHWRc;of`xY7e7*ahS2NAr#ETEyVd&q+OWEqoOi4}e>LE-#@ zcOqEOH9ZartLAK;zu`;L)1mJz%2HgAyCI1`+~6}0KOZ`^&l=GczaTMm+*X|cfDpNC z^MOze!0JhDZCF;1>k4WS<<8TkeiXjH=~SZ_{e{&2(3SN%b;B8A-OuZSY6MbOAYmzn zXr9#rhXZ>;-BHqL4R>3On`<#hkg!ag0V7&3iPy753Ry7T4)F&TBBIOWV+~LtoCPB9 z{-$oFA@tKoV?c)e6~<%&-cc%3Rs%dmD85OzLUQZ%}L$2=&_QhkkiW zqBAImphW9VV6oJs<_K#JL;t{mVTI+MN?eO%WW`Ro1A(0$wwjc2r=gS38YZBf?7=*0 zGBoPcwiLm^w#NI4ac6|_gs_a7#`VO2#Q}Boi|K;cn!McDY!qefN)PWpxmumq(ktX4 zF={VDOfaS^;c?x`8;-U?`xrhP01OQgqB<)DXTxPV%XtvDtq%1^16~1vcW{d{lo%1$ zJ_1w7_N|36=|Qec;sSqd(FiMCCL@mGPZUpO~x>yFDGx-=w;SmxC+~peFrH ziCS1-r-|406X1%(+g_f}`@U>TEs3Mc6o(XcKnO^Ne1dUnKYH@G@f^=Pf=QHD%f{J; zhsW*1k4Uv%tp)x$B8-o%;0+RPOY`Zf;mT%VCOIXWO{$NTIGDrW4iV=wA_SGmWJvP> zJ8SivqyqVOVMi{KTid)g_Iaa34FW_24$Kw#v4CN!%p*FqJ#B@QBJb3LFBBsNmLP*Z z*9z2fL*pNh1-<0Ea7ETDIuKQzF!Hcz9Jz87`BEb68vt4p<$5eZUrq8ClW?IUqD7F6 zAM9^HTJ<@sw`BOD1QnY3^)GYDh>&v>a{Y^uD|m++qo6gzB^5EsNkgV&W*jtAWae{k znBkNk=`AO3xc6-1GqhlJw_ZGni>DiD01Dhxz2R?6MqWOEr1 z0{$i184dG}`YVV%l6$ zVzg>XJ&;j1(>NRt_Qprz^BglPaIGui%9VhOThd>+i>?p;Vt8>6cu%@MYOQL;bE~7UYEPy+1 z5`urYksoSwAq1gxp(agf7`F_|kZ#BDw8m#)p!1fe&Hev~gAPha(<>t?#1&%Y+N*J? z8KI3CVtQnnNl>hNF-juniL8?*(gIKK=25dA;6sZ9HvEiILVQ=}+xPGQ=BV#Qa!xKs z1`nGAjz|lD3_eilF#)u(y0uaVZhrs(OTpavmOv-Nr5!HCDx?;L*%2%FZPQ-?zka+n zfA{lO)3fnb%d-mqG6C?R4AfdDI(r*~8AtuvNLo6_KK;-4agFQ>&s~Kl*$YQ&G2S0A zF`CnW)3?~(1)MLQ%Kb#X&mk+|gb$rkU9~8zWZQ>)xs|3n z`H~|pzN0tV!I+Xx5AOCN+A1${aeo?%fsld(q+U^bz!=94)ti?gR}Q6A?1H+|6emQ) zV7TH_yr0NvI?trIo~F1MRL=VI>&GEq@;pZHvIyXP`e;v;LP}0N=}~7PLLgnp%sjJ7 zepISdQ^Ze}R2oN$0qkKy;@rEQV`SKE3{%W2L%Z6i)r<#qHg#u(?pE-FPEgFKXQ`lyhg1=Oy%S^Z_} zx-CwLQU5RCFwJdR|q&uCrQtBiu2 zWWAT|a2QWlxu;1TR5&JXxdh>`q3v$ith;G}J6E>gZMpX_c64nf76re8VfV=PD=&k3 z{u?YYW<-^3!2HEmytI6zv!9MLu{A_<-|dmOYb3&{ROGySPj(vuG!8!12=+^LLmWUH zynS0$GAP;nsSzcuf-mqxLub=Z#!bVCIUXHCyyGQ|?#yfKzZlYsOC+^T1TT6{H@p}( zOoOd%2>QCJS}$?ujhSXBdP0CxRV_|it|K59(X$`4oovvPoWa37v|X3Rp*w%sfF`h1 zRs=f~ZCM7bY}%?5LgGg|pABkOPhvf;QY zGEfa~j^*3`{A@0eF9djpD#x#_lH;`P44xx$=SB)A36-dxUrwQDmVWJ2y(`Fe;4oup z4tBPj9y+5C<89cm@@vAAan9vG@uSk9+6x#$XR{T&1<8O+6vN5s&6E z)|AGt?JdTnGfB`{y!_pVJ1uqe`Mb*{ggRsAxQtM%mf(;0^A_bIdt5>)UP9=xnV6W) zN;YTgjrEV&NDY^1H=7s|l@yi;3Z(#g*fjs*d6doAb-F@FFb1c zEm1`@Iw`E&$u8;2HfmgM7Vt`~z_K{~u34=)a~mK9OI~8>!4fArR2j1q{BQ%rr@~1O zxBt;zmJ+;IrrMKDlTja~pV7uH4IIJZS#>g$eN!pbquXL37l@!D0G@9?_&F9|$>dwV zq#V|@qC{gr5B~8vPxI%l+kNwsOdnZy?jV_=JSG406Clm&+I@+vZbq#Jl;LV$-%X&& zVJV>pOXr?;#CMGL`3%&Dz|ZEZE1D=_%I22>!+Q{g1OR4K4#YDXVF43(2UMx&X%@<}Q`usu!XxF}>X$;I`llQ(8{JDt3d&RS(!5j}! zhhvzgzmjzxM)-^3%>>qXF3z_-?Wl{}xlWyi$_zFl9#8VYRG&fRzZr%GlF;!4Aa6e; zn@xz@T6k8@6e+ONni#)21P;+rua+Axn}VVTodMfEGzJOPRQPwmM@nXM1w26 zJrerO)x;0Y@6Od!N*a9*6&!>0HQo43iZ5~TQS>CiAmtZA`PM1=h`P^DPdHWDk*8Z=_{_> zacJhxZaYv_UZ!cP9vw=-o>7zth^1Rxt0@>T09cK{&c2)T%J0h!m4uqy{0D=p{;Iv) zeK24=bl(nz=Z~9m^CaHnI}2REc~?xP7YvogJjm{%g$iP7R`b@FNy3R$_EWD zELUrEd%+mb6VfpmT*T2)j8|v+(7sj@$E4o0st{mE2=k;|5VyiluEna!JHxeCe^(-m z+OcI5lLXrudMVvn!IYybIB5?t9@A$d5k)_N3mUbB_1B7X=BHg9 z)At;N`=5Q_d_@1h*$XjGUQ0F`$Pd0L2qkmy`2o&Y5Z9;%ykuUMixTIiRWzyFP=|iM zyn-@*1u70jXr4NTxawA%7ejvD($_0!zWZl#VTL=}KL|?7Apt_nJK*RK{;YHWZj5ay z;WU}5&ztgR=U78_JgseCxBH!5g+I(i{{;nEz3+?PX+!#ZkBq^yLIuyJDjJXovKd6!Tpmj9 z-jE2sbP))4`T!8Xhgd}B66j4)Dd#&eGoBJwmxK3|w@xnl}0H;lyG`z6R zGANHDK1gNevEugNH?P1n+ijVFMk%W<8q`b{h4^Yb6%K(Y*)#vS;TijEcG)=1rkT&h zS!x=0NJ>#t`Z~jAG$m0`?pu8Z^@C@t0la4BqTXaXC8TAr_DIe-(=87c(GdBh9apwd zVjp+Hk6KE z7AkQar6l;kB{28+&t7`WUre@3)_=ufL|$2xFq{C23%0=HS_&f~m~C>%_rgcY`tUHt z-E7`Fc@jtE@GZM;RoxYu;s-!BBuo$GYJApLxqm$EBzXa!8tsv>wm_9K0(=4Epd|hD zA~-s)C$a$A$tCKvKTdfqbXo$@LB16Ij`*wvhADa{JqG1LdO2W2g&`^aNgiGs$JJ`< zV_i@LN*q4T3ofI}-}M&JiFF4wZ%@v9T_9(rktt`vFSkC0zA`g^v-{cWLt+IhnzAdZ)aPI)PYhH`#dI&j}GO#2IKI zKWSu2c)qd}5Kps@Bk%x-LE?S`>tJ#`I~9q4x(o?UD_gPKU&A$|Ak^gf4~MMHtJz|8 zzTd?vqzACVWin(yjmP_JU#-a|B5Fy!Wy@H+tfG2C5spfX4pp*&c--U6!Ue+VCb1Z_KAi&V;VViSs*WfUY0{FCnG| zRuZpn6W@3vW#NBb+Jv}Kp-y;%J;XR==I}Gtq>1o_tt}XY({Csq4!Hh}jSkd81AluP z!3@u|>mGs2DV(=h^CQBki&V!2uIQGiogw5JbvLFj+GIirg5lKsd6}0pZ6}YI@!%vS zwh6WrG8udiDC01&K27l91&-te8>X~u(;OmqLc?WD>ZP)Pc8C5px88%JspzpAL-jAV zy~x#H!YB~j7YT)WE?E|OIXzwJVNn$p+m5mP$*I2^JReqKcMhQkVqBL`4(4uZJu&Lo z5^bW1Wp}PG_DBQ7EGfqV@B&7IiX*rI|5aNV^Y`ZZkV7y@0a+3iEqc#8F%~zQNCAfY zm$DxJJ4O9J5ZNP(a4dof#o7QI)zpdGZ82Pf-6Sg=tBvW9V(GX#E3CO16&jrZv~~f9 z%=~y+i9E8f6%*)2q2Q&ml2O91pd-WIa^fa_LvuclsbSuK79iL=YlIxof#5*kuhq zj2iwfg+icd$8`5=#n^wu#^)NFKuN;|{xF>K6RYj<7%32tuwY}D{~l6QhF^lbBoeo_ zbx}x4eX^(3M>endvIPp;r!OsXhXz~vqE_jq-Y{+8a)bz%ddMQml<`^a!zXaAS!`8> zt4H9LBg!(#*~6LVN(?g%oqhpfjzWdYUk5lpQS7MqKD{;~DLODn*tl}Jth|xnqo@#~ zis^V|I0hcfyPPu`1}E8s$52K^atC_AM#l7m%(fJ)lXe5r~sjt^*E*Dh(l#RP- z7`A%#Slh&MZ6ubBIex|9{Ky&+<4 z*j;gs@~U!`s5Fd^@OPJFXF;rJR2@hCjy87j>>_wFe-WArzJQn#=aJLhN-JQBDGUjk zriw|=4ri5u&?YLT-@r{;7&H;asZL~Do7}y<3 zVlUApdT&G#dVoZj=_%SI^O9l0R!hW_9PX?#IRES~uo7Lo6p$L@#y3QO;Rh%=?VwK4 zKAu1LRNM3FUi2C~a0wT4Ta^}fevbj*QPIx#GDH#97)p8X8m~GOd%9QNt|lh!;47x|#o=_Q6e#FXzTOvmHyE5!euXgtC-VLy?rN^);$}}BUoLNe6 zfyP=(7b1f0CqHblbw=&v$3;khS3lP+Pw>Img-03Lq%fq^E*^K0a@Dh~??g-jwrkni zD-m4O3h7@%>w09nHhXx_W|Dc9431Dov4lN?@J z4pw}L7u?!F{8JQAbf@U^wt%TcVHHZ5e+wb6c&E%6P-*$n;k`P5fFcY7_wiG#ob=wD z^dqpc@%p3B2kbBwlfS{v#!*$45yup--xEZ}UfKo*cLv%`Rcc8peA;>aBJ4a`LB-@< zqLJN*;C>c`sR0>MMGPo=G%A z`5J6*x2=pl8 zbh)kF`3r{ooMEtZd-~jM^wkARurEht*V3DRbmQKKp{nqwg9CH`VvFWUzocjqyw>d< z&cY-snodlR4p|>g+HTeldIRZP7mYbXAigc8437vQ+xx(kKDcN1KO_{|C9%m%-xXsN zJBwABsM!EQg21HDeaSwH`vqJYBRrJn8As5MQ7>fiLaWUy)*m+8*rRICyQkxURmQmn z00nE6S|Eh)dj~^@xG}G>R3z|?c*9XGru#DDE)@tM^c8pEaMqy*Q3L&0hkwr@=E+E z_7Bo>ZNehD#*oocWdy^+R#Fe#^_=5u1rN61(u5Oia}|ZLBLpuj`57n;M9)>(wkhCw z{e-pCT%YVQ*+eC|1s3}u2TcB2!H3P%lgqppL+@;{N9ZyZq%=SoA4rDR)eClT&VlV> z0(SeX28Rwc%)xpio>evC7nN)1&ISqx}Jmg;wBkB}X#SDr9vU`-e3;K$&6EiJbP)RH?>=(*% z^Qz@i;a0lk6iMBn-QWesy#uy^{n)RAVQM;8^aSU;`;Vsq&~c2ME^*W!t;sPEW*N9s zCbeuBLeQxVzB2ZexFujKy_6w87^Jp$ zLw^`FT#z-n*pw_;UErQJY%mWLR34iwXW_k=N`q?tgYvE{$`J(fhy`642Q|_4Fk&=Y zl^vmBWQMdV%g;a;sBPW1cuYX5+jf(1nxW+{_`dp_GZU;#Oo+PVX)|Y_w7`YDdXi)- z%`2(0w4qP06mB)KejC&1&`Kv?hT=u|EIVm!EBTndA+p3;Kk=c=|MpQ?RsmO}cp@yS z>+lxNTNCHI%t%ucKG?PGT?jQ3BV^UP!V+CJSi0>DAC~JEMerNNpDlZlh@~ze^js2?Ah-#IwtwO zSqT#{i-+7I(LNb&`I@?frvI%~2;v}r=~vc090qOMr~LR~K1OYYE;rZ6S?5ekcuoFB zOzU%w>E$fVm?gC=cChyxt9G+7!ud%_laJ#7-s1i>E7(ALb``otKO7Ay55~Uml)U|U z6@_H0$;kOsejI*tTHQ*InuRHdUkDwCej23ii5FG?b~;fJi~6%k+W{A|qz!Ev8s56- z(k$ba1{_*Rx~X_nDpz5*7jw*UQ&*W@BwIlA>>Wx#{sNuA9}FpPdtQkbN^+H(ZrArI zpgOQ~J)2SsrTWj*SO|U@hd5KClkUDh(JmjX)|okwbD&NOKZ}R0a~1Ic4Wo&yVlL%i-oB%T zXob*56Mtn+M*1vm(OV)4eko#(>SXJnvh1Q==86IAA7#>b2aKQo9QNQn{_iTC;vyb~ zx>IHu1Mmzs)!^vL9I~-poEXXHI!gE=W^aU*Cole>hkx`4m(eN(fjTzv$Nn1C-<(Hz zvV3`iVfe3|*ANS{b%;(^EC>5$gJ6G`WM6JH!AkcUa^%eQdh_*_Rv!K(M+FaWjN@&) zzIyEWuNa?Mo#jP_SWKNN{~@EKu?``GDU3f)i zAGmv^AwhaXU@tMmvNYU~8*_`(x^+fu4iVuwXa7{OGxlZB*CSR4#P>l9HLXXtfrXMr z;DDD#2^>Un#&$WJQM7>{?zD{r*4{aAf%iiL*&W1_N~*Nerv;3yFp6(cg_sKFC;9)e z-LVBQG;28&IqHR(m;GRymMH1dp?I93hG@vE4Oo`HQpn#V338W!kkZ3|kRNstx;^{UYQMEk`WzvN(J>(WR8t3rhD3 zQ=e6n11;E^BpI|{Lm%Dm${`_{AbL~=mtMf%n6Jlrqe}98x|o5k%>x7eX? zZ!3Sr<<(+haIHdyr{|X?B(<}&cqc08bXW^k{WxC5{}KzLlcyc|Yp})T1t&_#z+vOw z5cJRzE+{Nt8y7##tVss%3bwVDZSc>e}PM6iiYj z6bEHpq5|+ODIzg9i9wJ*0in|>-^dXsj^~P_ng=r};Edr`85CT*dIB`uLIG@RANmw^ zN+?CF^%{tag1m%lxt^TIi!E$@Ch2`F1aX!yyVwPp#3j_76-xf(lal>roS5r~mL!+k zd>wIWc*AyfQUOh`o(s)sQ)x`K`+)bAblF5|d>_k{dGi!terLuIInWbe<^QLpihQ9i*Iau)GBB^BP@7(|--gviyhpkSUGMw4XXyF2cmJ z@L{1vOn|`W^Tl$p@%7kOgUSDTVkI^vnCOfR?fLA)5*B`U(a8!@&^OpZ)<@3)`~cS$ zk|GgZ7jM@=jph3xu1K|ROufF&Azzl3>NY>!k~H8-%TRWkS2|Azh6o` zem;S{wIaIu5Do);aS17j_+TTvOBxA12?HNDEFHV0FKrL4uhWk4+uNSe%22UabrO5~ z_eZG;GXQU_mrBwXusNkbp(l$de7|Q0k6oS#gSCWY93Nkx$0P36)4lI4gF@BV?3sIN zcUVjVxkrvPS&iHJhfgOX! zDW%IjM}EUI-u)KpiA8?Sj^OIjuQ{IiyXyu7OC!VBY1zByQqlqC)dBJpBQnTp;YNm2 z{v_rKTQ1X&03S6w#{@FAs8*NFBGG$9)ldpmF^voD)(j0x9){f_>IGB|rQxn=b!ydj znr{4wd=SoBHvFQZ<4P#`T#h<$f+JZIX9A)g_gkT}g{6cF+bM@vqTFuMXKClF&H)z4 z%P-9A-*f?Ch%HZuuQH)Wy7FDymvQPjb%F8App2A#AsfP^%#uN5)cEU;T4(zY+D51P z9*1(K0fp$6v5ZlvXA&$iMm33OrPz-COUcB4(p+gpYKKjr;_E3WTq<&0_aa2+)Ldof zk6-X2E6XG&maCXa0CTF>JWTN{(>Tg=uO`4;(oG=xXUqNW6vrQYbmIo9mhAnnX#BX^biV-y=VQ=#K7UKmk2{jgldbSW^e-Y!Y zstdm+_l|CxjD7-`(@y7=2Z|LZ3w^=lI=Laz!%(6|xCf)_k;%|Ihxrcf>R7bn9<2{G z(cRVkD6{vK6>{cZJtsd3NutbOzayG$BUKJUU^7-uyt_J56FV5pcIf8Pzx#I^9Zhd z7=!MXZ=)#@7i`#gC=p})xMf}Ffg6w#rYu7CDIM~ZN>V24k8v4}qShyc)5VTK z2-3v0>RUg0(z0Kya3X<#fVfhTd~-CfWzC-r$a9K8-ug^1Y$9A|gHZBYtVu)uM}ar&PlZ z$`1kR-%`RN>-yIF$Wv5SvI8(ARGecc-evkT5>81Al1<{tRdU>Q61GFr<0&nI;z>c|vUP2>T9yfu!2j;1GP?h|CmMHAjPdl35P?5(zH6%fH}k6*kvN*__iAK$(%^T&uUVz7LP3 zdy;^+xdp6fynaOFvX%xH@>3gF%}bEXJgeuyQ3}xDdv|wZ0SL!vzb;WSzgjXPe_49k zf!^~@uM(*ca~K5mD&r79bP@%Jz*5_HFeLhXk-kZCHM!wEwLagXPZ5iC_mVn2vOJeR zR=sjxVJ0fIX&{Jlm75`*2t8Wr2on9?8jyqFy5jtJi7>y{Wru|ZXK*&Js*QkbR# zk>^Ya&qN{A_gVqwQxXhP+2qDb#D?S+7e{A3=qHGv*C%xpl*v3~`&Y06RS7Z(9r=0P zHO+WG*oaW*A`Or08r97$Tg>T7BgN9L;5d` zRW7vu`XVTe)gPOKW#~WMOY-4sQ<8(e5@A5q{9g*`F=C-7gesy~)Xs)+73FTy7%N6A z@!PiFh;9J=rqoJPG#@qlUkOs>$$MJMF>%dVnXu^smL$@+n%WsHO=wYiqO*Ziy9dJ? z^9#rUZD`?b-@{yYDF!7dg?W{^Jdc_!garF^qw(J!$kb!?#J1*SQTy1=j`=Y|rs~5F24u5& z9s=G(%%huszJKkqC2oPNluj-?Hv_8?`T{}uJdJCn@FGNK&qt|MwELV1&Obq2yZfX$ z{pbZ6u2GG)m$|R194k_E;$tn9c4ifDfi8MAO;+fF8W+K>ln`jr)z0r)@dLK`1DmGl z1JNchQwd3!L`4Gqec1+hOhJfj$ef=bO((*hbtyVH)6(CGZ;-jB=N?@bfyV6Em3I-} z&XXH?dXA*U(`J8KlF8IOirJzEH zX^KZ+LwxMP?p5Sijdq+b-YF`Yt=Ca~fZc40L-9n_Lo=dURvLRjGE8}Q9?u@NpCice z>%v#+X-(1Kio(l<4yltXA*C!I0#4ju^JVlVH6T8sZGrG_v>_TRJne6gNj2lRD!gq+ z9ttoMH7*2jstCE80T?%7G6%T*e6m`99Y-=wSeKyAK$ymedbcLSu_`RbSOH7|x z)E$r`Y$5!ZZyF>vz7@(VfY)bxh+lK7-V$-abpJW@TMfMa8BZd-!iu1GF|7{b2ig|( z9l*-~U6YdYKjs(2YA6h^B{(W@RzE+mn-^O}?CJ}8@kB2w;|k&QoeEwQHZA*qCS_vf zSkrMdb!@IRLMGX%qw)xgmDNR3GO_kEWeX&(MO1a!gZ_q6rTL55w+`6Ro`)sUh^D37 zyQid;m<@f0wbMI?d>iUB=u=j6)R~x3$5d`|TutZ-m}jEN{R0w)&@38kn%8T!HmO{n z&bquYwRB5b8AOIJctUUlECU=(Or?Nf4$?xbRtZ7RXcDGUn?{kjZtfEr!(Rp^A|>8* z4dX{WoZ9fXFvu;awtc0Oj{vWoE$hV8Jvf)$zy{!BB`ieL;UV|o;+!{ZCl>RgiP5^p zm^QEKV4#n6EiGif+%hne?bwp%8W`Es*B4q*Js1H9jcw6kL^prPaww|g zFy6;}%8)xnOE2NV4hEK?ZCgUm5a%6WBgLS6y$Ek?jfi2#$u=sT7%l+aI06;G`oRJ2 z#q-$WNluhI?pykh3WAoJjgVY9QB?(V0UL`s_jf*r)Qp#gzvwep$q2{V0vm01`T;mt(FWU2!d3g81J1mif)pTNY!)t+=~nUmO}haz z6Y{d^&_^9)xbi6B&COD0k0NjHb1Juon(TqM{&ySM47`e8jWgdENv0vOnZ+Hh;}R($ zu>}aT$7NZfgwJmedG0v+om-dJfEXn*+_o^sjRU`Z@EEX%v5TI1=sqp)rM*M$Y~<@T zfG{yKgXtK8%_Cuj6$A{<^$v~Mk~9?`kbYN-1ldQUF8R~IIWDwO7-pmnss;2xq1&;p zl@b$jCCp5VZjn>yqZ%dDaDnOBO0 ztA8kL{yLR(eu=eB#6>1`MH(`Z>a8Bn<{D883 zqH&bX#J{!sg;0b~H{N{cInauV(-OaG=6mP)UbB)kB|i*ahKhj>Xty0IWxV9N5ccRb z9WHCR_lavTo53q20JE95A-XCRf8E&LbZT1@Gy=)OjW1xg3bgb%Q!l@``{wPU*bv~f ztHEU7edtJsj@7!wG5}n9>1DtHA615p=PD96wWB`kk*Cu21elW#lG_MaPYqMNF4OZ4 z0(~E`wHvWXcPe-J90^tB+7Ffm_;ic9#`m&4*YP2|rCX}X z?7Z>7>M!?HVVZV7I#9lU0xb93bwc3yC&5#Q`Z_;kcQ?f(DGdICA3?94@uDjX0S*3d znuSss1fl_-K6&#JNX+IaD-UXHT4*&hUs-=Vh^{AD%v;fm{KzSh8k6rWJ_~6_jtMBX z(h=fAXTM!Z-J@IC`E#4_FPdQs0@mT8HZX=8d(hWP zt|U!=WrYA?>Hz06YwHQ6|K!2k0$mjTfk^HMrl(kj;3_TSsXki1K`vlq``(-pUV&~^ z)jn4`1R!5Xu#}Ww#@=DOtC_TfPXeG_YlSP_t&|4UbFb#48`3R)!g2 zw-sK@-be5AzpC;F7jJj03HR2|Ol)uydk6{k93U4N5)+1QJL+fTj`uUuQD;mwwS&sz zAugCnh9T;b|swr}6RV?BD!#mAsozy}=MQvoa`M+Mid@p-tuguIs}+(<~* zq1avSvN3Z`rWJ;3#{laFGZR11n?1 z!^i?#)oZtc0pAN;FNT{3YnVk4QvSbLuo2S2^dlmwCR}qlk{3_cxj|06Lm(@8dC_g9 zwpesmpiYd(!xxS>6;=j~FyWRwc`32>QY{+6xpri@n>n$gI*ZxSzAQK2#K$p-uj;P9 zK~X5?l{ke;DJnUMA2S<+vK??e7zIxypEeoarX%}S5xUIgv6yaR*F?FngxJe2DT4ZT zEh;#Vij97rXKoNW6;Lb_WX#MLP$wX-TCejBNZ7uurW)i2#LWtg9C8w%i_wV-z$#&> zHCZQeYpI;?Xl*0s8wKn~F(Vn3Ha|)Uq&oselXO)A+|Q}Cg+1*=*RqdWViX}u*Sj{v zA1@%+MRbnhl^6axkq9!Y#-ZjPyA?ojUT^ImIK)Amq+XH~azz;2=KInL}O}wi`#|{@6^h%~Y`3O3X3bGNT#&;mH!F1Rg{^$TpdF+vW@1w%_zZ6%1F&0`!gR~RiYkVS%qes(aR61ak- zd+i@)r)Y*Pk3h)0FFaKFRX>`494*bJ7whAA=c>zn(X1vp#PkqjS!OKb`!=oE`60z} z%y8ftf1Ksgjn&b#$`}hN0q60z2tuNXxhEUcV93STh!)NcO;D5Y=KEj(gl zzHQzES^+4QazEmKK-XzR7p}taUP)cC8yss3QPPDL{D50X=`|0v?K>2BjCIAU8%y2u z;Gs@J8-Q3*s+#|Yunx!Urwbdy?1LdF;~Rqo7)&1go{BLyXiOI(X26ICp~1t1&s7f& zgn(XU0uzkw&$mJVY^gx(WkV+#hYzIMiG@t;MLa6t7qW(L^Z(F3)G>|7%F-K&yUvBz zIJE>p50g$Qlyn-2_ zuO#|uyfZQ=)MWNiPcsx5pXNGqGfpm!lgECH9IsYo(1BgFJAh7*egu^1U+a+iH_XYY zSEwyIK}E%DT)x1?>yOi6AO=dcz>?2+Lj_Z)@!mkBOcWUUyy+v}i~WybgNIi#Mb?{S z&D~eyAB99;qk1AKkQFaD^6Z;{c7#lOKX}oUK;z-LP~$-FW(mymh3RX!KN}|!OxQjW zEhbmmLPqJlu>3{bcH@uJE61&X@xRAlDli)JG5U@;FmKtaon9tShlp|%&TXMhF(K9E zepQX6U+n;E`&DZOQE}rCHtD$-g|hwQ3|SLL1`vr$^hPkQEtwm7f&|X!o`4YkMs}UY z*9X9f{2ZzHYB$SGM#S3w_*@O2!zr41e|Iu8I7*~*b@UHh|2@29DHq(of8!_9$xj;u z$naB_%GzhC%917KLRSrI9^9)+gp}Vd%Yp_(y)@ac|I>Q@fd30`xSE3+slheehsdjRg7PEU!yoX^|TMLTP4gM*sk?QJVqn*{K zq3Cd`)Slh2Z5 zG;$n`Etj)phgcriJ;OHNWRHQgbv$Qpt8PBoIbP4ivmF%1$ag?WkUQoF@cQ=A#ux~u z`w0)r-S#j@&Y?w>>+~olxp0n^LX4uK%eEGqTK89A-YqPFv$<7VHK1)qGZ+?MII}pj z{P$VOoFbAfVyGaIW>5ZJk+Y8`TFeC~AQuod|1$4%rzQ2yXM&~bZ~+AD8CdTd>Po|! zA2G0=+~W|kJyx|NAe;3hp-CE`q-Czp*w$GzT&jXbD#h-4PxD_60zZwx?9 zuQ$NP#Jogiyd`;fxVny=c_I29sRsb(LdxX>p|DJO0mB+U|2~AGlT-hldgPQn5YBmD z2p%JldmgtljO|x4j_`Wft`Z}m0?(|1(pvD5;;}?&0I&%uG&of=SO5MQ_fzL~XPk0P zzXRqoO%poc9V4M4_hS^shRybX6j)C1$#N8GN^}D}!)ZQjW35p%<=`bwkxC&*j{n3a zr8i@Ky%D6&8TyU;Hs@s|@n)}|0okc?8nhc)espG8IIMOJUf(ZD)ba%E+kH_3J8jrB z%$(MHV~PjV+y+4CtCm)Ay4gFRYPEU6DqjnOD?O*LulBd`oQEyV2A{(#Qfrxar?*>{ zowrge4z@<6?##oA$_)+%0tYW-sf%Ij>GYl< z+9B8B6~Fe`^~5CCQ*L2urX;PKQPnTg5;2=*pro43{<+Cy=J4q(Q$98T(B6j{~6 zw15EkZ~T!1NY&7@dI~3_sMfbY`2QReICk-D)hPXN+XD}MCBSQ7-c2<AqYH~lgaR~>_=wIH>x+ylkO=6*eG3Xg#%#+U8 zP6db6hB7kIbe2Tbp<>qQV5CQgTg)+y0VNGwOH&2v#VX0uhVof@!|}4|s}rF4(8@(7 ziG7e$D`Y5;tU+w^^wWgz%3&R4@~(hv3AZK}g4X1WV=m+3C| zIT0L-jNTR;5TrOJDEeYUivwvZum6^k9KiFno@)Sc@?;6im{utFE!gLzM`|fxSD>Vq zemb21RF=7FVJs87p zHx!#8LP)k(39E(2=r)nkVV>q33O*<-_D-YXvpVF}_57{5wk#&wSeV)%2(n_`VEks3 z3seejmV`OtqG&2;sRgkyGmk+qd*7G^|7`zZpuHh6-sTy;ne6>gZIaaEB+p`BR$W9* z4G0u~%^j=QeoZC+V|*l5fbIC>FrgqZx1Kh-tgHd~D`b4%{w-yMidkb<&WJ8AGmZUj zivYlRjmVsT%+Ps5uM-}yTmKy^26-xj8-oh*W|@9-@A!rNZg>&=jok%QR~(r`Joo4# zX@8sLp*0?=(!A?Tl~sb7g%|{Y+;Clnd_50AHnGi4=3K{HX0{RU8srU>yaF9`psmSo z4>5edl$pE`<*2+-JMZWy{9zv*>ST1)dgDA!8Xmw(zGH49{}D$&l=1J;+~ z>5Svlr%Le8cYXVBny-6mn;$K}O{Z|!wj zc&HJz(Vm5_Q__E@Ct8(kOD)UQG_ut-N-t+X`zSDAAcq=F7V9<_hh)VG#eOSIv;qX2 zVe}WHby9lH>#eQky7CYuVzg1u;Yk26sX*Rwsx{Y9+xS$Y{~3TN4KkVGr+)_p9kJ)o z=o94pl2W;2Z1A%FL?HBEmt|+4i>h)JT<|Q!`h6_cS*t{z3d8kQaNce5vWk^qEJu|l z69TUWK5ZY3#S6=(HB5{6E6n*GUn`dLAsg-Z6cEms_Obzr{;&$p_IaH9$7J1&&aFdG z)99s8!5^CaG*zNjne1d(SX~rvyh~~m?0yx>kWQ3Hq_qu-3Gjk&Wkx^AU$Mbu2W%e} z9*Ez$bl%Pz_mE)@Nm@cjzsoPH?%X+PV+Xp_vB3a9+FmfXl@9c@l4}3{3o?2n{EUIa zgJD)oo7EyCmI)+KE>6x19Hi z5(riH65B|RpGm77qOq38CGlv>%l06}xARAM^E|P3O%lS;FxKE{c}Oqk&mh8vdg4*! zouMy64PA(T=U`v(C@rbN+e6cS104JdSN89sSL*4zU%d^hSB4mLS;3tZ3NsmFx?uS> zEa~PQmrPUgL~Dt7_B9pwf%=a+a`xBs$6 zLw%cv#$X?iDNN4s40AS`gf#NwDx%Tl6h4Vqw&6^~%EWrmWuhH_G9-2z1-~dE1Qrvx z_N>R;K)P<2-BJJA7l@;(3S27C6}LUe5^ZpH`aI`P9z~PA1#AU7BCAy!-PU|enCK5= z>~K8rLc%2^Sy@O}&ky9|PQN;SH?Elu63NUei+l!v;s;oT$F_FD@-M)^*a=kasSvt; z$$%U-wsx-)!POZ9RG9H5VVYa>3^D$dw*--ZtbUpwtZzK1Z}$hXQK1Tjb=lsLdYgXX zs()KDYI?M*EfE*mX*3H71){hZtxqeK>yAxz6~n3ah8RE{w3&jqEc<)Q*Lz#cZOK|{ z`G6NtggkWJw4$#zoX=tA?zAmzLk2moycuRV0%GqqeiS2WfW5$U+R-L2xt01S@Jwsv zwv;=&B`qTI=Q=2Gvce6p6QJ%~vLHh|NJGiMh#yY{SWwdW7IC|#eURN?71tXcM$gG< zwA869xA^WDAJ@~LHOM~rg~DmosbM++eCGqftg}!~9eB<;Jo|yVhPi#8aWY?PAj=JY z+l5ZS+D#)H8wNX09ktzNM884@&S4b(zh?uMwsX=)s@EDdwsi_i2G8`buapXr&~a^4 zVuT1%l4>ChU{N) zKLkwN4O5C03&H}ny}_^*pv_UR6vzmmw7pucV@!kFYY-X)7S2%I$jc9;^jk}!5K05L z&2OD*FAMD2I2x*>^~$R)nejZFDOv(2OdNXo(xCtLJDwpb04C>4S1EC+&2eaV~7&C%8Gy4-(Cwj9co}3p?&wtD7Ao015anf~)ynxjNjVdkMCBIYDnUP!EBT;0txw{p zea99)CYQL9f%89lmGXmU?8PM-SlnC!@4WF0iicA4#|^3bH$gG)MwX zD^SSQEUYe?*YCXY z3>9L0zbRAVzP6-6BHsA^%p~H)8!d9$c%2#~8w6HT`@b!qd?4{#Uzq#@syJ-w>U7K1 zmUTE?2M!x@7a@^;*>!T{i9#nr$3k}@98#h9>7ZJTR~k|p_w5<=NdYbwADtJq-N&(< zO!}*K`uJU;w@`)knQ=lXcK8LuSV3J3`!Ji+@+IO9E?d+SiMc~d|>_lL}}l+-6DjT6P0s4%drx)1Pw~6$Tu%p z1u{lqjuV`heMo(fSy6sMvAdiZ)SEPr?!n*@FJYYD=mKK8Nx@0VdJau__A*%vLo%yV)t z`c_!Gvkyy!ETK}pka3h>Pc|t=76F1U z?0#LnKa?$7vqWnNMEv0MZ<_+FyE$p0`9}-bK?ozoOoUbix*!<1#!mc7J97_h<>2D9Cx#EhEW-QCXYrj?wBhH|${2t9$?jKTjTU_y<=gdv!KF0cZgJc7^MC z#ootIt--#&gA6cOlpR|!m+rlQuiUGms>UVHJlxo?E51@i(2f8+5ex_bte+8U)eLX^ zT2%a5&@w5d7MZNxf0+O!3>Z9W_BbkSgQXQ%S0W=QZ5WfBveLG<)RULenFErytu)Zs zajX$3++THSx3@_$`Yk@X^}xA)kR~-$?^ovM#rh_ebS4rTc^=yL1KORC!*V-OI(6*KT&jk{v+yYQZCJl9-ug^QN$bYR5DN*aTT!rzHBIcjbXb z#M-UEc1aS9S{I*l{g#sb`>;y}p*g7q>%lU-HOGECfgIbEWa$a|B?EW(4zUxB$ZdRV z?a~CJ84pLdO(!56^PIhdaC0G5@2AZ`$SZCnFTSb(o92_YzH98?bR)^(GS?F8U7|$6bcS>&JHxmI;F6#>dIX^cOEyNh%z@xJ4V6?z{G9 z^*}sg8ZkewINXp6V zXKr|@3h5KZt_A09oJg5RH@LciAbzWwOiRuG*1v2_a?WGOxZ@2?ZGnFd&_de8?iR2N z-`-eTZ=kc5+0Tf(4E+>?SVRz|rwb!XRh0;XU*D_*&VnLRk!4d|3I|+`#lk>0yCxyI zS_G=_fW^J{ z_`})Hah^T6;ooVL$BTt<;Kpo^HgN@scu~qU8t63rnST{WYvVH+`T;^&&|(`AxA?VE z#7!fkS{O{*4A@Rl!VeC4xd^cCdZ^LB^t?<|I78G{R#?Cx!pM3QKN8e8jVp|c?s zcj^X->M3}aj^8v6;w3QGvk*nRD%OeL2#A;Q=Y1lfG#~k*8T^Ri{Q$=#TEH8+fZnhb zBBxP%QasKq;v@>50-jg7dO$tRgzb6qUdvQC6Bhh8*Qt&=n_`|2#XQE?$;jFGs-emM(bvI zq)SMB>mYaQiZ&IZzGG29>376vVN4iXkaLpdi62AX~QU<5vBt7(Ow#}&H96!8Ecu-$G8f7_=B z46g*a)#E=GGzS#^N56Nc_3vsD!&9Umdof`6|92zqc7XsmrS7^2R#h@cQ8NYA_O{&p zI>Pz~x}ooepwfn#&*v?%shvv<8hb_x*D)!{8Ul0QJs>6n+&{MJt1-0aBxEqJx4bgR z>cbI`-`GEi%t8Afs6k4QbhBRWm>Tr-X#3MZ%hEuMlKsJIo?E8NnNI)ukiD$ z0x{#S&WL$#8sAPI2hLD2@7D?vcmNE~O;Syr71uq#HKH(HQU>Y+{-MOGW)u6-1Wl?9GbZN)wB=$nik%Hmi#Gki&e)wfi z&~FB*)M3C<;W8M-A?)Bhll_H>kL<`6W|mw`?!L!vrLP&l(cEHZ`qrye^8(F;i?w9A zy`t(3DY?9#{S%!)BKZ+8VN0{e>_2#bBT%Y>I8{`k9_7ac><&i#-F3IaDLMfhKS1^S z_ss{wJg9i@Ax5mQp`(z6qIUk^mjMk<<}5BjG(_ivq{MKCNm>hZ>Ghe$wX$o*WyK2Q z+Z*n8eABcX+8tEuphNVBq#)K#S$>=A#MhQge?hM6UyT#n zg0Yu1b53l5q5Cyw@L-!Tiay`|;8u;<-)xH$KIIteHrRPOSlZ})Y?j|J{hQnl8&7tp zE!)v)M(5f-RGlRQw$p*H9;1!uD5%%PfXy_i!84tH(PM(M`L(vMZ}0~(W-Q3xzVQlt zP4U=OtcoG^x%`7`5Ek7COfwY5Fen!TsiwpRYeQTFT5d{nV0w3>f7gs;xUVXWl6)+I zlb|ky7KrAPl1+g3=TL0aetr3rTzqx26h@uK;CLi(`WC(Ru);L24!BVfYk-FgUq` zZ<)c>c*LBC`Po4t9bH1sBi|eJ{!*v5HmEIbi)8pSFG`xX7-Ftt1D!7Jj(~@yhY*`U zAK=|s zgrhf}#MD)98U2uw`B=2XA|50$>XCm)1Pk|8{(Iv+Oz#QI2N9zoKqY9VabGPUl> z^nO9bLzTp#GO8t(a{N;QaBc4y{s9*dWVl!;NA-5;%s0fH$T00Y*Rvkgv0dL0BZtbd z@Cf<^iCGW@K2=!?+U#cw2~2HbU&aKHw&4jqI5+^*uR9YULgH)cFF+2m9lm9=-Z?S0 z0VWCA%f#gQtoP4C7u(_Lyqh$|cvTo|5`ZBiCy1uv$U__IDXMfTXT`1T+K_Q$=`eAF zQ)CqoYtfP}_SG}e)WIiYgyt)~ch3F{5nUPF$4|h|_}w9Sl)9&&w>VDwjG7}Cbol?K z@S`17we&FiqEskngN8C8s zKuxGgFVh(g=nEz~95?^0dnRdro>5^xD6; zncf#M&ro+=J9)6N&#J{hRuK`saHMWSMQ}yyO$?T3{%LsD_Au2qQ32ftqi8eRP~REHHpu^Qra)^?(h)z4vgQ9$_dA;VSG~{Mj&vUoz9UDV7De29 z)^ZQIcqOcobW=T-;q3F;IYHpK1Ooz-r|b(5Nt!*^E^ao+%)%17SZ?if{mtaNl33{O zX-+VM8}>EN@m^A$W9Pbo8-~(Y*_d(XT}#uXjn>VM3VI2f(u!Vq;`DQcHXcE^7JJ9@ zY#tM?w!(RJSaag;z%?j??)J80Gt_msip}IzoO4LD8z)JpN!lu zRSlM`NI*2=GQLgoiYYmEaCY~QC(F`N@s|BRBFv>#_ zeCl=v| z-bX({mB7VOm7IOs+Md84S-C}(QnK#=DM<=TfUY7;hv)`a70t4^$oSyW{UIZw{T77%uZ*0O6F~#A$`3j8lwLSo84XHAhV8<`4P_}@?OHvKXNNJr5Mb2N*v*b5a}WR*(vp}Sver3f z7)mIof{?OmIb1ie5L6g)Vb_(Y;X78A#js$#7Rz>u#4mrBrWM zPw(@+MX-&RGgd&+ZvX(tp@Or@$wtQ?k`5HasU$~gv%^LzhG1jNYh5_9R_+owVj_-D zC^FT{hncYkFDrcxwpgRfGi(aLak)G~!9o>_=E;(BKW{-G5DTv}c;8p0F5W`Jt4WJ; zLYt*v!R;USt!uFnT(Gsk-cA3QG4Am)+LK_;E1|D3BXNd4GxR50NrPxBZZZ&ue`w{q zD2n(@Xg|SI5jv-s!cFa$(GVGz9l>qSqy6c7p<4Ov2DvpIn_Wwe00wWP*>_CKX?z5T zs+j|0ECjdXIZASxkWup|E5>yOC|2qFrd@zxYMB_{-2f14B}O|-E$=5nlsMZB5uLe( zACvYs;_8N1IY=bWi=lqH20SIXh3J9?@m?Kfi2q_hK6MY4ZDW$!Slk+CvJM>E*}ot} z%!y2;(yN#mYc^i|Y#UQee<{@?YBU%+1flRE=`w?(g~i%>e3eXMNJliC7)mXvrS9Gc zOw9`BfXHsfdBucXH^Rs{DMD)ku}sm7hl-UWK)@9-4}Ko#`uNx7l?i`|eHi6$L#9WQ z{IcD%l}%wNHr^8cF2^ZOF&jq=Rk&o}381PACsFp2<1Kd%mT^rwOWxx-7W)~MrMc((r+7i3-`Lr8#xnIIzj%67b8q_ ztPF}Q<=-itJL!7v(@Nm#zO^8u5TCUUx1n^`_k2#sdS;t8>mb4x+~nQI2p)o3sv~_5YRyW%OnYlrT7NHm=<#siGt>n=KDuJ8VK6eo7>WG973%w z5P6TzMe{DxU%8bRQQ|(M-OA*^4H7)D3iFD%gDKEoJZDpBOlCjwAG$fPF7^K={PHH=a)K?6fE5F6BRFG*%$2Ny?X09N^HhYu)g$ zHNoKef_Z9jVkjejQOmG6kePikJVkdD<0I`IHX7L{8e-2{5-F31bdn$T)+Sdsv(+d7 zOD{0QZjj;xkn*Ds`U~^caRDAlWn}=8`}0uQy#?0wD+=+Ncr%9fMOkUf^{iUQ_F?eb zMMi^SJnzTj`0KH^#emCI_@fR&k88? zhCgWDQ_6NKjnM=dD_k4^tSJB>liY@*;8EV%jGjk>taypqaQbs&`T6h3+Jr488>gOK zqbN=+(L7S`PUO42a~$n&)k!NMBV6CU_S+DAu4_%*5VhvXEn&T?!w!{?rTo?HxV}2H zSXoq!#K{i!6<~NSnJ_qZM89%na!m7Zt(^scutJP%!7x38XmlBr<0geuR^$avX8Wb( zqs{KO=5~Imj9D9jk9ZX4nOGO~j!u66z>3-FK|&u}0_(m7ph8K>a7XZ+6N=Z&th5_g zXwPUq&BW_{^wm<>q(0I3!T`aV3hlQF;u#2IDeV`!j-lW3aetzA4D{(lXKv`J(xqp9 ztkOZ3Kypw~L_H>m=EV+Yh^(PP7@%Ug9)=H)O0;-F9!wl}K^@@rCG-fcZ>#lIm!G#r z!O02JP{U!9%?VsXr3J#&-*Ys`37i5iaSSPb5kucqRADIz8@Yn(C-LRYLUqpi2OjDk zmvjZc>d7eU4y)qBpFJs^voW);wout@{Eu|JOkZe0g;xr8P?FHEE3BvbGjYB(iQJe! z5}QWIuMkmS?^4@~glP}FpSG{cEm-$p`BKsc;R_FrcPR1` z0Q_g%lc#E{d~9Sy6n=JS{}s*!yWMwiDI_Jt1`HrApTr%`iK#Ue`O}G91t3-saLWzI zo1E^$0I3)^xy3E2J8jErWpYt600y;v>^#kJZ^A$YgmXmSl)@CHc&$%^hpCoz;J}fC zApq~EoX~7{Rd#w&i3^ZTT1f+nAFdwZ^<-{QT-RY@f2)xocmE@XeQQe1c9moDZK(_7 z=s`rl*IeY@LFYC>iOv6jPdS+^_0`B`7Ge%B18FX5V7|1gFAT@LB4gnsrGo)$--h!M zs~ID4KHRpxS?>+GOKt>h8bNZe6+mFjbIB*A;jAC=Dt!yCLwOmmC;! zH(}wjHSb(v&oe;FBZ^gCLZGeg@A(l$3_h^p2f&wtS&2XLm0#G`XeE#%a8K<*+1}tB z9F75(%M~ldo|@~NTCdPOZ_gsdMi9$i;vfCFJu+!TYhn$WXbuM_q`pVDU8lQ{51>>) z^>$&@Ly8KLMH_W%v~&v!;2Z?z7r7U|NfXF#Nh<@~GawAg^|}0rD{Q7_$ZH7SBnQxT zlMxo@y@PyGK@Vf2Y6Q|{p^1h)n?~G<+!GF-618PBRZ4TlkbE-8(CwvPZv9+%?8`aS zzGuBJ{vjOinOup@u??+}?xlk36%sXLjL~7wKVf5T0<@q%jn^CNX0H#kxlKIn(iHB| zC}RDNh3L)#+-;N2N5g}>K*<_>X)Sog7JkuOT?J~CCU<{lYq^}3{~&P~lXg5W>nS9I zXZwP~mIld? zm{rw-oD$7o&<-Gv0ZV2D_6Zj$E88e27|(-P?mjrPa)1){4YT+TW+2-NK0aJ+H31aGaT*%%Thv=$AR)M%FKI0d zI&Nw|@g&Z~UJ(jYd3Fz2SR7+u&8KqOp_JZ^%FeNOdaL^5KXfvuUM#35$gvtCS@k@~ z$1g+NZ8wW0YoY)D>01cANUAZ-{y?|HbxokJ9~B==f{ z$BknLx*@F7$nNBDE#$skujv6Z5Np40kLEiy0r2dRNGzqHN|{GFRz1)<`iD-ED(hk=@fro2+}{IedFp}M{UL+lfu24zvDG9a1>8P@ z%}@ePf1gf0^G6#jhZ00-t|j|2To8QeHfP>_3x&=Q1H7s%}yt!AqTP z&WycaGEPnT%a$|P32!s9znl|HL(dBn`!$VpS2O@S6AIScSAYzQWe^1?6;XC&P69vE zulyq*!Gx_Xme$Ez4RNJ?Yti8LI~FiE0Ha;Z4B*opE-nws#jW|+0xV7_^8KQpD-10O z1D(_KBGhxqq;|<~WP21Xb39dtxnw!k8Ih^O0qCiRH_u&F}` z1iIx`3`(8F@iIZx+s+AoJ%`Zgy8oINr_mw06u7HqXlBa!6A}rK_67Ed+@87fvinWG zMrV0NBN_xbp(wK5V-V2a@l+1psZM`w?d`IzEC3nwA^JoZWEUt~_*2J&`yutd zh1K7mkH-w=Jfo^_%|lhtcQqP|4>}twhO}rIN%2`hRiM9R-zp}wO7}q?pU9Za4c6uD z-ufr|Yx{Vgj3{@X99dR*tBd0uH)4c>{UT@OQ^&@F>XZ?`2bh8_J zm`^kXvs6a2Z}^LwY1kb9QN$!LKnmGprki^nRS@qrw0y+()25B(q7@GRn%o4ASKV2h z6N#kl88-+=MSWsiZIE>KzT#DC7=Bkq&jJ(>&eJzE#v2)vA&88ISI-k2^!?4?_^fsm zpf{4rE=DMvh-fr@>{LM2o#B|tn=d&bpOsv$V!%*Md+x{C!cZN;YMFdpET;-S!CV9U zWA;4`$okiKu6t5G)m5d|M2j5-ncstlUg1lDhP3eO8(d(yXjJ$1gu^3Hv}LI(<|PAS zy=&k~EoU2Hr;N+*_7;7|Y-qY=;O(mT_Q2cHrw%ByT>kJLc649T|BZ7FSmH!r3?sJV zcZ9z91i;im6)zr7!?w8eR6#d#>uo{G#1e{hC6`QEL7M}GnxN-EFXAq=ZY96~{^a3@ zW+dedyF7ih{7F`f4M|;+6~1DFfJ`C>PN+B)=bnv&W5&@KD!GJ)-sH7N3Z%eQ;V*zu zgvcaz?LL_w%VwDjHj)}Y4SqI)nl~&@>T2m36B}E#oH!-FAM~aooneU5mLz>gic%h2 zyT7^o+rxAIo|uz@`Y!+jFbrdJ^K69gCf;lUS=`9vBF|ak8_(%h#f5mhl>>GPPe z0w$R#N9`I%H5kiYykLI`bX`e})H8DfxblLN5~1;=+M8$4s?{k}Z}Tk*>UV!t-3FYA zIyds{`K$P<#C>=V#wYmR{=^D5S$nR@JMQ;tch5d5jC_Z{%iWi1xVUoXO3G**@Hr{+ z9%}|hK(V!K!D-?sxAustL@MDw2*>yEtGsy!qqi)hEe_<2)SKn2yV2|%IdlTcM4Li& zv_=J|I3Dxnmmnq<;(XI;bMgoo6fQ0_13)DEx-XrDf+dw&ea;W z6L6OFH*W0$n4m}DS38GyYVo=29To@O9`r@Jl`Ii?8_1a_@+OMduqNpgc5Fr1s zg0&>b`Le3dLZ0oQiki(YUeV{b2Y3RnGp*uYnv=>B#)Af|6#a4lo2HMp@&Ga68d0(F zB>INEtkOsccs?Qp!k7|shk$XI3A!P3_H6&)P)M9AU^(?`#=*0-kM+Q%5?ONT`j zQmSrbR0~%A84hw(k}RiEdaN1uXvjmJeF6nc5Es|lboph96aM4sZ#QuxG|GZ@sJ9)P zDBb7-2XQMJu&MxJ+nt8GnfkXES0!Y#A3%09v>q{faYro#-J&j>!-4jsVq7t_cIr`q ze!6dRW}pMLPH{*RG~hhuKvWT>!`f4D;bA)QoFDfE-dbmronslpudXYUEx|6W?J{|?4J}2Ctt}H6Lj}Y?}FdQ}!k9xk8hy7~dO12CFKn+dGXV3$@UW zC^_j94TKC^X@e6}5uIE6&=i$2PiS>qA?P#uo9o2uaC|$C1mysph{G-JG8kE~UO9+y zb8Lah@68){4aC4nCL{R}276T*W3?P=T|Nq?2nQ_`D(OjBsfu+++i|1uhj;1GKYeVV zKOz|?c%(sVNnS@H$p7>Y-3hmW<<=o$y+T^lq^G4rpB^g?(8!_T@|J|K{7L^wN>BM* zNjj>G#2Y=X^h!2QvwS3_-Ibx3h_JF!!Y?RAiC<0<>s_(%9IS@~6IVP3ntu-c&?g!> zJib2X=`YhKsi*);ZGEEce`CET1MPY>c z@=scbPX`|~HV_C;N5N{Zc?y~yr(FUeYm+dhN`qL9EwRhdAc`A)@Wru<5r#Go-$)+1 zTEt-X0LEKYU4|pAKwFtF#Hj|UnFVvAvWH?gFY0b|z9f!&&Vtk8j-Z`Q7Zum)e;pW? z8q~XFF+kxOJ58IheSFvyw;7uD-_o>Pwmx)LKwTDoHJu9fcyK0!PpSQF4q`V`;5+MO zz`;EG{mN1^eKH=;c*6%PCz5g*FVcU}!U>?71{e+T<2g4kvRR@a8}$*|ZwZ15TaH(a zyua^We)stF?Qc8VJPa8J4dGSmNys7dr<8%Az$p64y4(9|Id5&~4sv-XIYCzrkMQDf z?K}!rGXhbd$)Nlo5Tar^ZZYhZ2Y=d>a`=`LQos12`brM%6B)@@?$%b9j^b~)oKQSk z32gSBJmBoCy%^{u_6P#zgceu(K@*(Mf2nLJcw9rRlMRAXt6NVrZkaYGI>04y;=P;3 zsD@K46#Qk0l;AdJExtd6S7hOd=KOPcOkfkXUFxCmtzPZ9#PSau;@?}}tqRxF0pv6a z$So|;$PjHFN7NHyghv*?%anrr9@IJNjv7K~v+Q>+ z*Oi8%$)fel|))GO{(iv?2I7QnWtgAKi) zX)6E?FG!Nhv%TA9CsSk9-BsKvXzShuUrV6SZu}XgxKl9P7dhCpv&1N-)ex>M(?x3s zYY-HF*q`Z8(+rnkOzZ-|UK?8{or97|v%KX#zySlTGK#DLV*j6$s^$}pi0>b2;xpu- zbl;Gr?CnQDai%a^3ny=2u+Q^LAO)p*;kq6dkWVF~v`6j_bhR5t46plo`;KqEtf&;1#g%_mmT*w>we@*KN& zdKFX^#G$hKaKmG(KMXmmlyta#+-ht{`BSO;FuH_D;10&$jtmNEIZi(af9ZqzrNv zjfMuW%=pc1u{UT)aucy1sKMu==+_ZEO480d-1JZi2eS7^wd}yzV(hjgx+T|QWYN~$ z_=f{gTVYC)(L8_nU2g!NdW52UrN~2ZzVVLeTsN6s;r%No!Tu*=*Jz^m2!!gkOU^f7 z5Dbd=H*5W>mrU<8mB9l%GWPn1JyDP=-lWO>)@qPaS~Z9Wpa7+P0x8tC0?prz8XgedhCMrQPSbdJN?U z0MBLx>QSVuUrl7=pzMtv^}Pp)usala8N$$T*m3!h=*y=yxE=h|Y7wEYN}@Bt|3 z)3G!Tkg<*`=4+6Z>r^=>H?c|`SzD!_u>~EEYJ&{r%e-AdTTZfsCDtrZ5whVQhCZC@ z>gly)1Y;$EdWs_$vE~=L<8c=Cd3wlLo|t#m{&-q;8~PxAW&bgG?s0kSM(rRR8QK?K01*8O@KcsNcjbz= z$0RDVY*L7oy;NYa;_MMk7U3zDakVCR2GhjLoB?`sz`x);`0zl=IeL$+aE%Pt5zkC& zG%C)!p4dZCY-KUheYL|#>mAlp==Hb~=}H3~8BEc(8Ln$Q2;DoG{`-eivoSq0`P^z$ z1Lp&Fi3uWp)W6AN*-jzX2+u^3+Ae>zr8TBkvF0Ak9MdW*g--=>H%A`Fqzmp(p4(nR zs&&G)qbS|KA`FMxrX_oT65SIg!1!~FbZrZ&Qs!@l%&VZhQTf}FVy3Ookg{A9jUu7D%~CVfx8YyWB@p0u1@9^pZnAFjX88-66}Z$YVs z#}pEMrwnt8CQfr$Up$U&=WM71_jHz-%@6$p?}4GZIP3%F(u|C$rBF|FjG#Ym_OA%B za~zD}me}BzCxErugpCx73RlELWzqhTq|HczCM3?o)tj@l#N?xA&(L5*6*ew$NQdgUTUjy5|jU68@OeKkFQbDOiKxG9saaWBdkO)V#jYE ztKe?yiB!$CvsPyH?d}8}>yr?!6Q&{-ddb(2h3gU2dN1q3Q7h~ zMeHF~29E-~&QatQTJfb@KLXlihmjgC zc_?V?JXSCQADWiXsGlkS@=FS(0{olG4g~~`)VO(lHvXc{;_X77O<8pnteOiKnyW26 zyKm~*LYeD(zX3$5=1)RuA+5NVpso|#X!Z%}f3sG&9Ua%RoQg=^V8WcPWekBLb5yZJ zA3TJ6fxsg_oldY*q$wUB{8#OBOxYU({0SoT?Y45<#v1=cm%1c-O};l?>hC8E(}VnaWdJFJ;0H8+^XsuHf_ZJ7D#!B?WL1O3 zl|JUWM={Rwz=9C+b~W}k0b97XBW;wp@_5-H%@8F=t9300Lw{%;T16d7e34X;dH>bQ zZpPQETckWK(w5r)Tfzbty|>(RQ!fC{8+nnLmI-+bZLHhm!y0uTt0J}#+Rgj9*~KoK z1Hmq(;J!NZ-gRT&L{3N>MA%qPN)fZrCArztmT5lE#QF|9-od=z;-__6nf}3!Xy-yz zFfBk@ z4)OuPSDqIcpui|3TH&8)C#qy?h%(2@f2EX<7p7Jdguh47 zVe=1hN*`L^kqYkXsQ{bO*&9O!vQ2p-2xAi1aH~=#$M{LYNE9b?y1v}QRQ7K4MY5W+ z)LYab<<(DW-+fg~J1HwZbG=_{BX}iMoi+UI1$nGFJw8JxbU4RoitHkfYfmVkra4_r zsM|=@g4&>P$Ol%+AkmW@%TsA57Zc-i`mUT_c&~P9$lzOEHZ_Z(+DqeYuSDntMZWJv z%|Dqe@Q;H8qHZ|pBDIFXU)qj~@nxYWi$>Ni1r&Au2=W-Q3h?WAFK!{kXx9p6(Of!h z00yG|TQhDYU$DyR3UQ#jy)P~frEeegW#+U>~84`#=-3|1JKT8atnFPC~!_s^gf>T5jKGJ?;hO1`RN~pVEaTiV5TdD8D9@(IbXdmkQ5e4`HdU>0vIIR-lG1 zL@+Y*5%0DM7kQQPxg%zpB5A*7>djD8_Sk`kBRew(I(%8-b5X=wZc*?13iW2oq%4H& zhtZPqZBv}Q*(MPh_NPWo29V!M{7S#r+gf@(t+Qx$GzH!M)^Rak7#Xz>=XyWkJ=vDX z=gc+-w_{{j;L1i;?dpnde6C)7;LjW)3gh-k!o{55iz}bT>@~V4=D$&WBMUl~0Ah9y zuKywmar7AbBJ=Ph$#Ti5f=;(@rr8b)`FaM`DkZlFrCe<$e};pR5W;BIJ@Wiqo|6Gk zjpp=2sh|Yl-x_I#2K*&3AjDEnsn&SvTdxS+BiYwu?^H=gyWXX|7*ZIQ59`Jc#EgwW zA0%Q71{=#e&9oG2AtQ7HmJsg0TIFMF2L_)n+(anVs0i44^R+)QUjwjJF5UqL_R~W+ zKKtQX8g>-}z=e$uzuUU8J`({cq0jJcXHnY>W7if%?lB5dw@J+gY37n8){xEpA{PLb z1p$P>%a&P}$E83L%s))=vev*Aes$e|Hnl%7#r(6J3x?H^$CdVxzM|PAB^i?-|LbB9 z&iOs8Bzj<>ZKBam}{~CO^ZeqhMe%hFg@qZ!b+mm7qNXiGEY~7q`3qu=cmrgTjDFEbPr}L2e>h4 zB7x#sw*Q=6S;~=BiK9HfAMs;34( zLJC~~1wOpzBC@C-!_an@$2}3-oy^aW*f?s)_dg77L=0^OQ+F=N*xyjAg)WYHQME6; zX>jIetx+ptBWog4Q|Da_3|Ho!)^aC1l~~1DF2mc<7a_4nF=7)<-d|xSX{9YH9iLPM z4oqkonZgFM$_$yCk#`@?`hpm6HIZr=a6YCLZ)9=fqZ|fS&fD1V(8*aFQC$wa(=y+f zO_#&_wbv2`kmy1GUv~aSA?5++da}n<-Vx1O#7Vp;SdK^b>O+gLvW zuok9FdLB6c^Foz#)CsL%L)IhLZ?6c_nqDF0i9%iwpKxMEqk(r#4~7%P)cNL?zz0cB z_n+hO$}N*d@lUuQ{gD>VvLb_xhnPB4)|_zM=G~I z2+S@7Y{?3|P7p>K3b|vbXEP|j)ZP}GL}GDU`AF0;3*JE|Zj*}5pZ(#c)FZ*S7d%-% z8LQ@IKq~m`kaTvZ*1XjYW%EC+qn{mO0~tM3C}2=>@`J>%h7+P9>1TI*+TAiMgQe40 z6P0{@<({YE^VGnm>suCx@%kgM94@`)h&0V2I2HLx+)?zNP(kqC+8y`y3~Id6A8E2F z1+gkOhlqIv)+vJK8Z?Skw<5K0tm9>M&~{iUj}!4l!|8LXM|{mIb)z99?MrR%+#w4# z9m^gi9PVKS3=P*7C-aKd%%=7%2ve0h3Kmy6ohXo|`<6kv=yF5Np94J@CG+PCpUk2s zf$C#+?3?)6G#o+}Q8$SidSotHvATShDD)+P~rCmkzGFw{)A zXYb{ImF355cc3S#17v47gg}I2rF=Hb55yi84m%@a1fZ&!CvLm;Devz1Fw3MGim_ql zVi&bhiF+{v2%ij2Mz{uo^SVV^$t87N>A>gKN;!^9WE*e^`j!+36tDAHq~MaD-oh{Q zixk+G#V``F4{J?ME;2Mt!9(}~6|!pZ8U~U2q9AbnqjcK`*z%IEL%0p4qP5?vq9^hk zJW-+IcNWr0Vt;|#hnGm%y*x(Fxe~U!Ri!S(X&h4qy?Pb5-jhybe(?NQ!8WN2dU?@N zLwbB}Q3R_L&8}cAcm!QGIXM93yi8qu0Xm;>k!&#l^yfJrn=P^7HgZ@eZzAy=5m_gz zSak6Q4{O%s;13ewAMS~rKs;|jEAJ#Cp||HUjm5FH_6G~oBG8~P@)#iljgV+Y+SuZc zfe11b_Ydl7t{}9|h4~Cll8ZeCuN{6OmRLe=1?g{Za5fqlGl1hmC4;(Fud~7SCngn4 zP`psU^*3j4odx!zwj^#T=7rwrKl%PR6htjlgkk>6Dx^O@yJ-zlg4grPrM6eW+ zZ1C@3_*@qjAQ7XHw*J^$n>7Ap80d1PiyS&52SUxTmOnHH8B?SfO|GB(8MqWLXq>v6 zZO#S^R``iFO#m;12ui+BTrvI>5OV4P@5O%- z!d#r!bh2cT0Q7;U-pN>~WWdS~?)_yVX!m25Yf}H=<`x+*Y3wcBhQk_m*MTt{H6E-&_y+U)F9e;Or4f>dlYM7-6pfigMD~bOY znb{`IUCt5`h#r($kj_|eH&1G#<+?<*Kv=IWx{J6%wTrP8q<#2C7iQR7;Yprl^Cny6 z$hSF7zMC!*K;(CxwSW()?bmSuN`}{R5x){QZ7rTc|2W|{2C%3KS}kkcjmyE0+N!8+ zmNR^8&NN2=p2e&Poyz%b5NYlSeoRrmhC$G^l%wr~&I2u!NVSp{Yh2{%T0wRYT&v_M zx|!Tjw^hYZO?zm-bkrC?0z4bP5@R)+*KqFk`)t4#17=T5LK$+1JODL);*_*{n5GF$ z{>Ie+-tb>;8tL*UoHXtis_b3NS2@gize!QM=>P>@;vx00O)Vp3;GMEa(4mtjh1jTy>K} zsN7@@$-3+TQ*&tXet?fHCf2aR1M-!dw4c7l33ds8&<0u)R`k78I`3(dh^i|m)i_u< zYA8Mn1sg*YN!blya^y3x+aOMqE`SG#`P46 zXv;Zk@~wH!*^(GYr1+KL0CWkdHf~(ynrrSTn1FG8PUuV-c`#HUray?$AEf(c$X&S^ z?fjUnrSK6AA6WjubV!V*Uic4G3~9Lt;;?dzAIT%7GUEYgqcYzKo{hahXSa>)>G*E? zS0wG=t&AqLpS@2ME;jjN#oTo)I?i%1y{9?TEaIk>OCuEW`o34nS`1FfD0lF>Ln#0s zTV>=LNlgFEt(!G2jpqn&o9{qlgnOu8Azo+O!oS1{VKI!Qhx>FE>%QgS)B;g`dQuUe zu)s$RqWbw~J_I$r8X}+(5~hXl z0PDxu`fo_R3uZUaMjh)YDxyDt7RpMMqr0K~p{Noo)~CKk>(3cN@jOo1Kz29=1!}#h zH*3vTM->6z$-dGSFTF3N!BP1T9@1pK?W)%!<%%1#IjcNOSiFggPw7F5ykb3%^KarA zk?{?X521`NalY72DBR_S?YhZHen5Slkl6vvaMh)}?fQUWu2BIlm0whRzb;pPZ0}*O zFhqR^9%f}LfrhG2T21KIMJ}@fqf_Q*@81Auw>$U8`uk@PH1F*eA(?Th)!H(M<^!-K zafJpLF`hEq+vV=w&)Ch5oWW0;kY%%4WRJALBT=_0^LxfN4}OWGHNbq4L^PwvqW;Uf zPc%Tx`CgB5bw-LD%BmMm-Xt(NaUJsKhqOrvCSUsiRmSI4BE{q@=jVtg%k=dhDDb}W zUaOZNZXI${5r#~`kUM%)P{3c43Jn1rTCs2%VXQaGl%}ha(-#+{J~W7cQ00Ok7N%h; zX!21XQ$TCPUz%?RTxY@w_CvHp3ptpw2>Uv_t5j1Rk)F{F;?F02>4WfMh%(2xWe4pg z$s#61(RpuZm%)N2Fl0jrU;1!_q3(yxid~-eHkF&HuoG@*Ozx2wIArkTr!kluAlTjJ zfUI0~J0t=k6BQzf!$Tdhu{q^^Tx2N`@GAl$2~S-%q!i*`yJY)gBdHIrSe)7+GCVnS zpM@(-oLJ8Tdu`1QJ=~Y z)FT}}MKSm}A{p1(;c@ZMT^`LW2S;brOqWNs`$b51|8;6%$9&n%>DX|&)Kz0#s*v$0 zoQA|}GfG`c1(&j^I+xjRf>6Usj#)YwA>T(@vojM2>6aM;p9Zm%dzu(y@_h22v^z3& z#g}`_Usf9aRemuBk$Xwj?>bSGiM}+^O*R|_{-Ls6D`l|07Zgdgt4Q%65-c&u>vZJ# zC^HPUB`a`lQrlQDgq>tY@)>#9CJ^5bNFulM7W@_G-TNco3GkE~<)a`(Ms#z8*0A>z zp)cSkKS~{i$`rdY!>_~*9y8A6n@m+P_vAT{jU%&&A%Lb8g6d*zJ4l`O9$B7<7gH7+ zy)H0#PWBbu8>Y$8ayoh#&dV)j5I9t5(+%0iD_O`)d!m;WluCZC!DA&3-J`k#oVf>F z$e+~cM7;NtM3X8_wj9n)fRgoMj;E?apr0@?v!A84v3FB}wjGOzyhc@nWY%-yf~*cc+)@=)&x z+L$VO)7w;hFM8wl6hQ3V)HG{rFF zay`%ohQ#U9AQ3WyNB>`SPghDAThlwT)#byh! z;@!irfsz$M$jjDuW#E;X!Y!RTlM&%~c|Sz~ceHTR#e!LOw~S*9(*}ERqGFRX%b%f* zF;(j?d6B^zPuNVHq`ry4*4sq6kSl~gKyF%+Vss$JM(?0LB(P@^duxY-S_{88j+X}> z(ME%;i((afqT~EQ=q9(^wu7fGO`l7*>+hhcXrQ50Cc3vE^Rg zw1x!uU-rE?C*X)Tk}h#ABjd!818&kq!-hO{=}WBu&K}bs;nG%2JL2xv%RXHwN{gry zzC&iH6|>}`OaxgOXtcz*$}7-`|cIw#E5lFA|$*~zo)*B3_&jZCZ%(~ zd`#zi@Rvs>RL49AuCKzGh;XdI2AnNHb&)<%e`EG+aNRz?=}ZM9-x^IAsQNh({nV#; ze^v_tBAcKr3Zr2O?1#&9TCX|_V=^|)Fd&vO-?L1v&1+pZMY6UrC6VlCGH$0`UJ+9& zshh^E-7Sd@zb3g4pv91hJ{ml(+n3+90akqUDLRZD4mj~6=I@vxc#Cc(^T9>`vul==C@i;t-%x6ciw4k`y0s*uhA=KaSH2k!FHJLOrY#oDkN|$hN#V~gWm2d~H|pDGnVp#$&=1`97#xSAT#r0-OXs%VGb zbsmKlTh>JeZX{DCa_c@5v<&Ikf2qDTIo6sC`*Go38hURS6(H0oqI>-ED*_wLZVDDK zKm4hfg^Sd8eMP~bT@&mH{-Jpi1eCOxHrjJPCe=b)k!-#jXA4kdu$pTHroJCW011j2 za90)_*~OMnJtd@c;G=oI`XDv zVhoOniU-uk`ij^V>z{Zf{T=dr-s<5qdI$g_5r(EsZKSzWdg8cqxJ@A2 zf}3grViqM@KwycWRQncA)zem?{Q z7U+Y~5%CJr5etYE2^vY2aUUke&4h9BFMA6eDY~Wm70jvz7ZA?2R%aJ97Aq}*7m9N+ z8&z9&6aec15`6vLu`f9Q$){e+gY$ZmP?;@X%89UXKG)h?)@ZaK|8a_dGC@nm9B&w= zuVGoP@di=W!7OR;rqt&0yO@6+BD5>*G>^xi1xVYl0KVmXXB^{i&A6|=T0 zk6_R|d!v2l*i20akn7L=1+E8?TH43)BdC|Kc^Ld3$UlD#q^|D7NCcw`ZS%ZckXKq+ z>nvixW7F{HU}dZ?2K!4?3R8X+TQY_3prXiNIR{Qgmbz>*jCS3=an7LOsHUf4v*2tTYsN_lkLDRGezQE|2P}P|#jpFQ;|2Pm!3?Iv&hVs4s!QptE+ym3W zZHnnUO_rG&Nj^ojJKyGb_R-kEh1=RpF?I~#`eXnZokuwKGAi^7_3aM<^ei}vH8D{| zs1{^D;-}e^?ELK)L)A@(_uQQef5zn=y^uLZg+k9>y!Lh>O60}V#a;E!oXp%j1b-(7 zn3>X@k-)aKda2~CkAt4%V)3Up1IPZeWV60&!7y?iBqP+faRxY5jlN*tg^&prlDWp+ zJFbbzR%i>=)@d^ys*{BlGU-EH5mBoF0reWaD-P*6!H}6x>N@ToY_*;sO-lcb6>Yo_ z4(Q5Ge-8{|l{k7tSaPW5=l44uV$ZN7VDD1KHf3sQ`?Y{eUM*Z>ik-yUl3~|JQ@ke4 zDMJk-9{95A`bQ{m1&xN=@!S+iEZ;-@tJlF-lb7vM;-R+*rQDQoU9$@)Tan*E7wK^` z`zIJ*W&lrkp-iFz$KT*8yujYZS9rfAFOU-RWscL#J$Z9{|PKo!x_g zLt0rq(ohI?MmEzvM2B7$NAK++ZIplh7rR6GsNFe-a!4*|Ac-uhBiD%y;9&O8i6D{?DvhB?ua|83lD_At&8x`<{Y0hr_<9!n?3WuT5;jfo3 z*@oZ_a)B=cnzW?^7jhps=u`>pO%J1PV`7%xBrv~6U>F+{h1zh_ShBgYiJ}>v(w#dY zqGq_~dNj05**LD2GlH=PyW5RL$S{t65Z2JVLFY()xSW$hAzaaSUjKxE#j)cIHw|Vw zarZ}Dd+Of7*Qg`8eP%=mPmixrH)(YgDU_)p1#VQ*AbF{$V{AN}1IXdjlI!!Rv(bGd zDc*O7hS~ZJ6K!mDsNDT4dG@m!Chc;6?&5C}c{glZ%A2Phn9NcwI%zgRB6FwFRay(Z z$qZ!{xS@lCxSB$VR(x3{PwncCdZ6!5)mFnu;PZyutt*B90|TG#Vi9rjsrI_brA(I_TZT&;gfj=h77nGWcZsy4!r|Y zqc70I@NGJ=V!HDFCun(l(qB3#!&Te_5%qvmU;$=8#DwoATYk3LR17N{O|0T1r*>co zuqX5!fQX*M=lG;Js`3f68?N4F;gFG>)py&pHUf5M)W~BO;5}(=dEdRc|5SxLTEp_P zOD%t463B3Sdm@>GAFCxFfPdXL7FYUBIJYt`i4D3@K&qkiG?E9(*#1A(gA|?+c?!LQ z)i#2SGzqJ#JKHE0^)jX%C8k-%lwn&;@1N5hsPLMmA|XB+#l!ges_PlmnTEu*?fN?2 zpsX+ARfS*@2Pm8S581=lKH78X*rO)P9cVy|DM33TzdWt~n4(k<)MUzr?hM6jyBHOG z;>^gz&h^{@MM;mBLRd(%ze;{BFgU^ZLk8cP9QHvpSU7(%M;-=-EbEo4Zu>=fzz`4` z&daPSu$R&T_9|2xlAS7Z9mIXdke56SZANX%g>FtQ8rQhmb^TNi{C_YNGda0hHNDK5-uc|M)I8~lZ zbb-SjGWdF`syB)~qg9dg3B8JDL)8plTo(lE4J6$L*gx$@`%QtBg zo4Mx+K6rHp_aT|9U>ZRbcSAnHL8?9gNq^UeO*tkt=Kdi5J0NY}X3_FV^)GQ1iaR?a z)4w{5*u(DM2vVv?IiOjJJX}e3>gzL+QqwFPrpEjB8_+%U;04FcJS^m(ZiU)cl(47H z4COexzV1^ZuZw+y2T{eWc6tQC^>o+SiOAlsjM)3 zUuVgG`eUW0f!d1`tZyJ`gmVlW=}y66&9XCXlz#gR^~1vXA(P9&Od%*R5G!DPXZG6i zT(yA>ZoT67l7DmMR5~xed4b zbdn1zycU#sXMreeVxis`kb}ao5P0l>*lf?;v;sij5xguXRCH)rd~eURrg9Iyo}A<= z>y1-EHY`x3WU@vb>)>cDKWve!H^L%mE0jmLb#WP#`)k5W9p+=9N+t;7=S7nqUxNnU zJqf>GsR1$ZtZ;<;0~^;7LH5aVu``fjg2Y@5V6%;II8V{h?nJ_HOan?w$Wn7@+A%6a zFZH?5484>tdT=%pS)F&IIGH`G?2<86%Y>^N)2z#bhxvthWTQj{C9 z?RnX7<-O@Q$qiBC!d6qs>k(2B7XCXBW{dhUp6g-_OVcHdrz{P22DTPs$IUx;Cbz{L zDQc+qHXqe)#F999VP^u?A1)DJRN#nSN9Rv%uic9ve31u>NFi*D@irXym<$7+h5c7r z$UkSF3)ZvAs(s)l=VH$iX59?|mp2m9Wc(+;)T!<5T(j^AFp1K*hm1T8EXbWJExzPg zox3vB#Xgo|woTOi)yA@VW5l}Shhjzt!8rt97uBS`B(12bq1w#jQBs_!sMb&N5kSzB zmzuN*v`&1kuWXc19Lo$c2%j7LMj655W_1nN8;vnlW*bK^^aGVAFi!m8{6=(BO7}6@ z<_S2)m-kkq$K&_eG67xznOZIxc?lQ+3GFQ5O`Z)a=peGYSiaxG_3H>eZ8KXB#^Q(g*9!rB6?Z1a6`BUZ^NXse#&im&9-8bAII?h(9}3SV4#U+_b4 z=h^SBPIb=~pF3s}u>Eg4xP9{j`>di_BL_{Q4Iutt4%SO?NU2o=LqFZIy66)Z!^l*5 zGMr3iZfT3pNTyLcl(trcJL_2tK_i*N%1rNwiEE1c2!2%sg@C^B+*1|Y34Ofqh6HW| z{_*Z3X`B$j1mdWnnJtHcre0?b?kSXMkezilGRs*GVo+LSu1EXwPXobP`QE#&7p=|I z+m9i`*0%rI9Oh^amkdMUaKWbhq1-%k{M&6(-Z0qjkEkyD(<9lo@D6(f!Nr-lu z8fdsz(Cz`T!EDPRo6K(aF|o+_H{jMIf?YI)bwH^dqcAj}&KO3Md|`R+Y8kl2^(iGq z7A|ofT*j91K|g^`^rP2(u3OY<)IO>``x6HTmcoSDm6n((Uh6_r(L&G>ik5E&x2k3P zP~EbQ%{d;u7G7>WKG;Mh)KAjX%pK-RR*ccOE0q?UY@-zG-SU|T+0vg)Z6oXxO?DhH z4Ih}0v(+iWJmC!Bu8*GqmV8%Lb9B%Rj~OH$ziQzYhmjPH9-{Dz50yU7nUBeD|IBZo^{cU`@KZi3|2DP#~f5%$c?888xF0=ai}! z8%yxNyn90NhAY)#193OAU^7+m#t zc@gFW5|Mx(i=w|Ro0ufknCek@z>qh#l|W!xAPSmwhiDa*}dGAF*8#DDQPog0Jr@FwWBYoE>eZXc8hncIjHn4B|0g; zWo2vOIm^HVxs@SxnD!_noueqd9|GinwY1Yy6*3t>@qbN8(JK`LWxSG zvju_@IVedOuP7~@rN~xmekQ1l!wE0L7dEgq`E9{kW8H3maJMNy^^SpmOc{5nSMS=vek z3(%;26Zkf|p_(9jPO1tHk6=4+Og5}atXCi>u3YgR+y#!JC9p$m0SDgvbisN3Q!0Io zaD`JIga_|M(G6oGw$hzAOIz0qwUzQVpj+!PW1cE&41H+zFHW;Hs#(7c*H_jfcKJU^37Cahk7&LSCm;6S z9lLW1C4n^^c5!`~EnHEDou9@hRsNpB0cEc>*^jOqcsb(1@c>{~Z(M{oPRoYOQK} zZCG6~(6m?{mW%izoP=!V+rHfeH=V{1#ye+Z)fJeIQ2A+>oJ$}dmePPG6h30ItO;lR zi@l%tu1sK$M}I~H@BNs9q~IejRI#+hKiBwr3vT(bYRWxw9wg%94TsVq3nGWInfe|d zB*7UQYLgbRn>gyx}U}t7aY#sc+icy%HXhd?R)AcIKTPvtW*X0*KlAW$7(1^DYg@C@k_5-5o8UcjMD=XL%h7={n z%MY>||A@pEihFk{y4{&k?Y-J5Qo-z)ZNJ}hiV}lEuKU}3Dm(s6(ZydY{@w>;qy$ae z1Qg^d5S7X&oKgUlu*hC)%ZGx-IQj1rS#v=;X?*0kqZ~kCWGn-b^}Y-K#1slVW3e3U zwB26>&%2c6rI9Z+CSv(*3q^Lj)g4iBeX_6H_`k8sH_w(9Xa-s&m{1u>UGh4~cT80o z=i#B;(tN1pshm=!PJxsjsKOe)L;bf`f)Iv^ys_n{wtD1&t^RYDG?+- zwYD5sfp?~^I4W<_DdzG82L)XYI~0=|ZmYi-Qus~?dPRoP#|4*1KCoFi%;6T8sGkh? zeP@*Bm)Uw7IrO|RbT$|gDvuW>6+A_DL}b2lCS--!yqBRzK`MV22t0h3rwWp+dzwfE z>REL}Bwlrlbq`TR>tK+g4T$p<3B$u81A`t}-{fg+0sr^|sV{EPT}Kd21~ zK3~fpLN8=sZ@ws-7_=JI+@q>Dxhq6K6nLKPV=L|hJyI)UQ@rqyZSMy+Be(wXCmI69 z;i68CR+n7>LAqK7eJ1kqxMH2G$khMGwT^+WPjxwl-O4|=9Ei++Kvug0)f0C$%oU60Nym}(n5kT)JnN&0CvQ9@q*Gq<*%2U*WxZ44XgMgT*Fu^s$Zmmb z6}b)3uO0BW|Ty-UssH#4t3oBZV zAC!WfdMrx}ZL>M`BHN>BY1a6Cl)=%5*s%28x+y??xfr>m@XQti;&Qfe4L^Kw> zMuDSKEDzDn=B8eZMV2_8$7hNg%kgou-DZ59JBTY#3a*lagl89U!?yyjzJ>;r# z(3av>T(s^jGm48m`Np}?+b23r2%PYD6{$4#C=$7_zB(6_pu%NxJ5>tcEGNAV3QX24oiy8PuR7F+ z#HnGV48tSb$$yAh)1@!a5k?+?X-Wbf@K?x?E#SONwS8I4t{9LQ!2i*XS3Z>4?kql_ z5By>Q-!3yXTmQ&U`QYxsjGWswtWyt2y8pKJ&6-iu1i4%Uu%Tr@Br6$v^35$A#L)21 z^niG}(tv!A8TN_Wz+w*}A+qjuF+1qOHmg%!SsFnl(ImIF;W@ht&Khq2oY09Z=KK>m zPRlyW`R{d!$EjH{lyju?}5U+nFL$MRj^E zYBiY#;pHYU<(dAXS%H^oCFq>0KJfZEuJ@}Le+$C}zNH}>QP)SuOP>AxDG!Ow&!<61 zlxL-CL)Y1+*rwYAr4FGfAAK|BFl@+0_@;AFD$H2kG9*nYE%V2ky?^2<#LF*HY>6U?KxD0m3QY6^PvJ~ zXsQ(`q$n63D!h*80`{$NB>OX(quWZ9u#)3 z8dbs)7iZb+exo;YE)y%$?uK+`$|vFK5vd}6n||p%H39Y#3s(Xe^2igpGi!4Uz_}9= zn@LQBBK+I(Y=l${ak}RLl@b3`Dp>vG$}jZ;SUg|77m(RdIt%#Ycdk#oE5yeti}kQ& zPtqw0gnDeq7M7z0EPJLjxmS7S#4yG1df#FJW>?IRT%sMJfOxpfK+)AJCGw8#iA<_~9hdeV*%FSMWJd9+F}FKm*a{8242P;>ggykH(n=lXafa z-tSl2&(6ImIgOk-UBp&f=l)Nk6?K4fa&4p}Jb23YCIUQndZ-eVtSMzv0*+ z)@KP3cv9OtAmSrfYK%p(7QkNUSoO8sGjE0#ICk3-uSyGld2_?0;{Uhkw;9tfmD@Bk zmY7s%7kK^7Wh!VDdX(pzAkm@NU3Kv+q8mT^T1^_Wo>uq(%1vkj$MeJ>KN!}#sigri zS_Fc%6Woqts7h2QHPt@rY#vB#=?JU7cI#XSYNGxE8A(xaiKx+sV2G{o-&tMuVpN4b)qSSy@7tfol zO93t%k*adn|5b-6LG$Gxx737ZvD&Sy6_HwG59HknwZ2i|tHx`PAZd)`#fLoL(K1g+diHfWs z4z#I116CV{j{Z5H#hWO)%_d(t)7PyjmQ1ahcu#309|aohN;jRjQPA*{Qm-eG2DE$4 zPYw$ol4FH&W1Hos-w#vo?$17uG%*LXLbUz#J*&}7?jiPkas@F0`K9ES`gc{ux1jX=@EamF&iL5~`e=KBp9w^bcx`O z!uL7nz}yBypt+ur>RHk}*a96O2Fr)oF45m6UID9j6x-KA#!dMdA>}O};a*l3GCMvL z0+x!>hU^y^yi75obCF8KK~@jb``Tx}>~~vn%yrESYr8Lk{APU)3j~o=`FLV0u=%i) z@U2Q*-T~MD-Tc~g@6y^5Ju*9BW21(-Bz6rF!g{qNgQXWGSiNTA zf&{+ye){;e&g+)P3n!xU!nmi)SOM1;hsKrQQGdzx z1Fz&pdWS6pW5^ZJb&3+l`>zc__YyT~!}2lb=w&mhgg5XvEi+3a)&j26$wB?~C$R*M z#cI_PayKNApy1F#4R~-dOd0G1p&nznq6SCF6}A_bdr-J_>LXkR^&H(7x;UsV z73!+;O+5HROF3S50gT3njPqa z*cW(^Z~Kvt`1s`pO$}N0Je5(;8F%eMm3`wyJAEEuUgIRM_#cKZneAl@B21We%*kNm z30~3$Y`@!FIQJilP;DgjXo3k=o1s>n}vTWgQZnD{K__na8XOV8}0(`*|5 zf!;a=)xSM)SBB^+YdD&1+DI!RFa%)GbFb(l#`)Vc$ZI$%{6sPK8ZJ@zOJ~&NLgY-1 zD|KTR+V%#KTGm02d~_Cs_6< z_)s)tj%W?a9g8Z|Yh5e!{>ZP~n6cvZ9>v7*f{xV--}pGDOzsNn3v&&Hpx(^kk*ka7 z=dMWH4@GWQ)0b!u^@&W>4M-m_wBnw}sTxEr6qUjzx6+PRJBpIMwkt#&cMzN-0oXora~}wCTF=W%c&n*cz5>FZe?fm$)Bps+CvZe7GOGQiNIHf zu7su?q!^KF3?DQ`QAZ4!KAO8(;VE5A7>p{(Kb-mHr7JKHS_-eFsT254t~ySF+@g|u zR0WTaywLK(lEazKpK(nZ6>PiRw4SN3tk*3k3nCCMoL87*C&RW^81kCWPSi0ZGH@g) zZrDQp^CHSk&u}y5TTJHSt-!nsQgO_#D*p#CoQ9izxx5fAd`UnO0Y*=-E2dz^shIj= z59bj5C`z^x$^!@@ABi+==r=6bxMyj-ez3mnxK>@)au%*S?4|`F$zLi`nN*8qwTe!u zHO}3V<(fgaq#g|)V3>CuK6&UOgiPg0if{hk($Ebxa?c9^$Ta~Q|eo?#rUo@ z4#SVl-q`NwaCSQbnk(9mHZ*a#IA5u0$urJ8^EAJtsHd(7lV_B)oJRB(Q~0BdnEVjL z3xn&Qsq8o`VGBtF3|V93zaz5K7L1=9Y8i}bwmiQ9!jD_2ehL`5IYH_X@X2}&z&

    I$TLKjALIFeL4U5bU{|-*6-G!Kqh`s+ihyUmsLVEP;|Eg0R&ii-Nn`A2k<2q(nZ{gOAiW5ZZ(t^wfW(?Y7c`{%LaWzju4;K_2Hgg8Ev33*_; zAlM=e{<=#cz;jq)PPUt*ENgx^AQ1y%xS9}iydA|MGMtW-y@FHLt+t9{jKkXP>eQ8Gw-jG{4r>Cd_eD(2V zh@#*2;$e4d)7+Z81QBtqdkO$iK(4=y9=DJSMPz~=E>v}Wo+;v7#E4E;~;|*b*h@htTtahPsx# z#+wu28DIuUPbX)Ymr{@0!nW8DZfWn%i5({aW>r4Gw4T zzZOX=xRn@Ov-_;K7=rCrCd`b-Ympp~kJSd89pby*Ccj9>t@{BwIoR{JFKwuh1FlZ0 zxH8j>lq=KA(uNyVJU|hx8uu~4?92(0&9{eV2oa{(j_~V`wZ?ae18Czo${&surG&PI z(t_8;6)GO(2TCN_ecMl(7)1GU^+7$jrs_~N_r!+6DJ5!Z)&Dhx5k++M5iY%6uwCNM zoXqv^VyIYeH`)L8K!OKT=|D!xB`>}p=#+}FxEbNQy&Qpq&9ugqg0uOEbdyTT!vZjB z1IB>*;$v50h@rnTAUq+$9>lW`vc;=o_L&4GeeT@X7rt2!f@Vi)^M3fEag?9c8&kX< zWfc&Vt~Cuq)Sglg6gSH}$ICFn=N#DGO`R`QqQ%JJkbaes1BrXX!XyW037iuT1YaUz zXGA?fJVN`be5O$~k(mu1fUN;A=kSsfM_=nPl z30;+b5F=HBeR2(rfdSZYb}Np)*c2;`%!u1g0}Q7a^W$~|BbwRY7~@ClRi)Wnvjo-2 z@zGDX&!r@3ZxG`W^{|9U90q#ca=g3bJP}uZQhYEQL#`}?*iL)P5*O4 zXWH?o5h8z20dmEfO-RYyVD+^lU>2~%ckAdiBW<^Ht0!2PLY}443dJU+n)+40k&(sF zPeP0^Ei_T+I?H>SC6FGEc!d*?3B^)WGN8BJ zj`c#S7Z4;j(OrswAT?PQ9Wm|4|9rxu@}9x83*!Ch`!#rVlh!R28_3kp9(2Ir+*+5# z&@FDHoZeu`qi8_3kzxIa5q1oX*0tj8;gdMG+iD79ShMSU=US&+9!6ALMC zJVmv20d)llEFGaEg!q0(4D8@MlX#V56wEX&+gJ}t0rh&E85l?OpJoV`99DJ&_nRSH zyyXeGgiThuq3Q&!TAHPUEhFp*IFgVm(bG#pa+i2lxf^r)+=7fMdA-fvj1Ar=7Ua6R z?W=m-aLK>vENI3|)0?{)by@eE2(=swjI9KaD&$0z zg3Cm6)vk^lF7aonqw4I|1XSyJ+l#u!>r4yFQ*~Vt;7+TvSY|-2C^fh-uxjeIlzfq{ zKGk7%=zjZFY%^|-&#-8r6zGSw`S%(A2L*gb;`FMCbBI}4L^P2)6HOtU@{6E%l=&b2^E z@(a{yBCPMCNK0^46#1^FGZCC21gqmrARWMxtbz!sVPouNv5=o1#j9D|}F%em`=X|k?R0Lbu4sdhqb$V3rx4520jXH1rn?X{6I zDx+fKR;0#|0OrUB|E1-+c8dSQAf5VU94n?&blN`7eLePj{F5Raf)oBDYaoNSQX`_# zD1mM7NqJvfci(U!A8cS~+i8()`5&hdK&?X2lRD)908=}g*9DAej z{c>2S`K_ssZWqiFDY6yLxE~D8-Wc##YDxk?I&20U$suC@26$ClJ1qX-6h`_IKY2nR zI4?gkpDOUdL_kgyjQcCDuQe$T0B*a=8-d4^o(kgDL@2_4Eq`vxlf$BUVb>yuA4u8P zwT)Gj3;?>x?x9F_JW~w0@c$Voyj*h&me;J;PB0wZ&-HqF3K@AWGXoO(HM8TIrUj`` z=v<(-F}ohYr+Q&fl*Io{Co$QIWwNCs5DqKn`azg8#!J~Yrx}Wwy^Yp83M3SmAQJbF z``48*W}|J(E^qIxMP|1jK*@B&jMtlE|9zyK#!cSk%qI;3p0n|6 z0^(A6VtdvOnn&e4{(JgJC~Rlzz;`aoQB$L(_7WI8EkTFAU!s8$sO;18_jlNSdma9w znaXE2#Gqz@X6n^o3TUIr+y|fQn*z$<|{Cg{H#IS9F4B6l#fX1 zGI*_5AC0#+`5Nz|FU!d3$rX5`Q~HPq0YF!Mti9xd;^h@bc5~w;`TDP*<69aX6WY?S zpE7*55r>{k38I_vbP!r&N(FCbENI6rrB}i{EACW<)=-_92{Okmf~N)N7$f2IQ8U%BD;+@^fWfC+*It zr?bF+>|j{nZT0ik=Sin+y+7h!tgV-PJfI*FA{IRq_Q?vFS&TQyuj{rbC`fsg=oI)s z0fE{kiXbo-CwReFtHWXz=fn&phZG?n_rMq1!QX`0>%c`cu%vT~6oj2twXSz9Evy@k zqmpe)-uEQ2EH{K$M5Nv)bDjXFAYZPO`!&lJ6;?+&Ga|efu_IDn=b_Wa%elJ$Qyc6d}*4Wf~-!z6m52W?JxE7Z8MD z)6s#RBqrp9!;4Bk9cobZ@0rCh;SWo}Ls{3Gid7~-?;PMhEvsw24L59Z7mkJK^Qc=q z^PolrRy5u{c-B392f#+%E%@6 z=_;CXB$Xzs+P|Zoo?hX-5sWL%46OQ9t{46GMu|-YFYPMTOocTxq~)GGR{g0lQH5V4H$mE zX26f<9~B~w3Sk@c85nVnU^eF4xkrNoZ(W@O0JwOm!!G0;hN7Zrk-f^Pi#Z0N8xcwE zw#1wHhL3j<0|Pwa8ko8PV6Ndn)^fUELfQfm)>AZ3nc-lF=6g>OFYyLDR=Z^HY(2*< zXy2v=--SB`Uk#1xJ)`>f(W%%l3^OSMw10IXn1^NCSxH|Mj-qt^)wkQxa}1TE^58)( zAj_1QU~!S!C2b3ray76{LmtWNj#ej}RcAR%6>w0F0g|@l&o!Q5udY_r zbA~V9u=S}i;sjl+8+`q;8*tl(7I=HKTR>$2;+!*yIa?!_0{1TE?j94eVDl485lm$y zHmku8-&>dQUhh8pM3E zd_YPQqa`66D;jd(B0p8_fEo-I8J-QUW|CVA9drqW5V%^^pTAsWeR~D#CGNzTYJF%3 zBpioT-C2&eP=q$s!(RU9s4^<`ia!j?rLK=*9~jUADaOAx_uAkr)p)kuFpEEt5Dn3~ zWMyu@)JLWEJj0ja5fdnzG89GU{#SjL;q-hM6YXlN41HViAef>|%aw-k0?yq_{4P0s zP>?A=vA5FNSOu+Jo8qxZiQR}#S>w7r8F6vgR$BH?47?+MIC1NHf?+REl-Yq;&2K#@ z*MqO}EhHh%f)i)MfJ>3O5nJz@Js?W&^5vi^%egclm#|337I`GsHbuIj(kn@6JV*}^ z5V-=Yc(SG84od|&c>+>&9sNl67$-=nY}Gc1W}y z7y9ys2{|I~pvo_@Y#6R`)wQ`pPtXhbU`s41P`j9p5ShHlCrI|GU|2Nxf$h74j|4n8 zlS?;Gb;e6t5`smb9t$ty{|5k+gVAdVAQ;DeDj-&{@O4k8voL@sJO3dYBM1|eo7|$& z0K)^HE-@o=Gvb`S4pWw>L&3+f>Jyna0Hz^mt6>*W--i@bQbiBx98yePejd`t2-8oY z2TY+=7NCg}nT5IdOyE=HzIh0##qvSRFt}5tAY&~lRuHU27fl21>W^p2M{i-$M6w zPY{x4g}P?`SVw$A|2SWXNN&N&BcILP)8M{a@w%la?u4`zJR(o4X8Z6>z4P8l5YoI4 z9X?Z#o7NNW*nP!jGW@Mi#i=J0h$&rVr`nV8*KLE_8+G7cU29IC69r5uJP*zzynlL^<`bIc&c`=w>Fd8+JI(9CeoQd{2QPdDm3qqP zhb$?@CDOL%rb)}08Hxk|(-C{N!lZhM2p^by(_`z8IJ)pX9;hwn>DiHidV*n2 z@r6#F&4gG_U9sqt$wfdO3f~nt2k+$?leSrt^JvW0#RS~0Lz;xsh}yKR&4?P6zab(7 zAImy?n!Xwx^??KmPkaLW{NwA|NgA*JScDt+=d1(3zb^z?u4TqzVKI-uPj&B+A50qJg|1K`QQJ*eyk z_AT9CJ#gsRssK*X&?4Fe;#^SWJT`?P9T)~^k7Wz#tc}95?SL1-iwD;k?1c0uhYsXk z>e_@;8KGOnzi7eG3Vz%4wE!sUSLg*;VRlb(Ef(W;>!+XA4>shI?6_ZVD3E|7SF*KG zs>FtJZ1I%QsX-o$rf*N*9y+eUJ`jajSc>!nKfN4qb(vOT0sNI=%^M-g2eA<=SW(E+3UtqR-Ur4_ zADA*rVnT@T8K4`gKydzYC6%~Vewpsfd}U5z#nP525Y9jIdHn_$Dj9Vxmwhx-PBJ_W zY^b%-j25`54v6hbn3ZH~M8_F9`sX8tlF1{P~YUC6=@I=`RZ3$m-0nx(5inM|Q-MXZ<28!`-v|;KX%2$XU6+CpbYAs}oSuq?s;*qEJ=AsKlNvS9#8m=Eg zNvOts1HNdwi6WhFm|EL=dD#>2W@H9dO9Xo=@$)62rCNnI^Dj|Ok55W0&sp^P8vsZ4DD7lPS5Kn_b zO4e)N#J&muq-SO_+R0jH&VA*_{-^}X%>Z!u2z~Eya77a}vke7Ufj+A2f>SLuqVR(! zQfWVePiy-&E#3U1+bEH~PAYv7Uzv&|6~$y=8Yox1-fyC!_3I_E9xdk#Vp?J=5q&36 zrqlWKXj*2A*mC&*M_)t>sVm*|4K1P9>;g0u-?v!r$s=pun-?bPpSHy#5a9A!E%$~a zC*juL$bBJ%kb^+%?-?eUl-mf+C#&v^J{;AB`e=`0JPxj`=P2A~D zj5`nrEkT(@rQcg%cLniyz&j>1CdJhiU#zqmqj?}QnGupZE$r3#(wzy~kYOZZ28E$G zzfUZl>p?|1x{#!zsvW%Y4{G4fn@7(?hoPT&ePEV#V$M$TAN>_@2ZeyC7k_FzA}#b> ziQn&la}dXpzyxU6^KO_#iPgUn+O%lV@O>=N1Ds(=7i@KuoxAln!+3ZnPJ)pkFa#~R zr&R6@sv|_N8y5F-h}nv*5~a} z&(buUs4^mwt)epzJEx3pwATzbAg589778~S?Smt@g8f*B5xGl@O?ISgO%ciM3$|fA z6^A@#$t?p)zEoyWT#w@0X6IkF!S)DD36-)F%~*QgDtw(kRW<_;8J}`G38G&P)2F)Q zmz(w!kNMH$OQss63bk#TO}m6*XxH5=KI#V#PyD*n#!2{slj>5B8cZOED{Tk?q<^1O z0sv}PqzJ|#0iJ)$-&7jY1j7Xo5mVv7B%qNi_a4Z?~-Z8_&(=An4G zqlMB`PV z<(pFfKm8f5J3e*G0fx84B;US%@J|tj{ESbByv=^FpFcTCT^MKO-nyItlawA8EoZ(O zx}yUPzrt>a>~x?z1M5SIcL3`@7kBK1o3t}72x!(+o+Et`-86=RlYUR(fF8>9=?a47 zCIH{NI-%{u23NzI!cb<{>-n(CS1w^<@-5txH;JQ+Z0BKag)6clBOVlvNa58i>c7LX z!v>lv@Fa}!fznJ~`wUBO&irJ&635yq<8K6H-s%v($$T6{Zk0KQju905K5dq&G) zRygsaEbBcBJnRf5A7Oiza2l7DdM8NG5103bHz66!xJpNY&(wVvJ#g+(TKMR^Z5(kF z_8ZtW9gCB}6CBNqBo4!}`;gI0#VHgTK#s3MaiQ!u{s+o-3^~VMkPK-58c2LdjWu^% zirQ~9KkZa3{)BYjE;;1S4yp`@^Gh1duGxStEZSA_?RiJM+D%yRta!FwcfkI+5~rt; z3M*yx?ylv3y-NX}@J8oi`e8cZIxy<2_m^iX4K>$~528fpzP9+U#NDl=A>aWoyoxGm zB?i|_!mDmJ14>**D`z$zYf<|ugvmI4s1ef`V)PxoscOSr2CwCmBKFB8^M*%_1BRiD zajxjp-@)R^;o`l^$__Cf4);A}94Fb~yfydz)}v_i@Ik;Dt-0GLS#(*}Z*va)`7?3g zCyZ(P(y_h=P>hM~R7{@=K0LU))d}OM1-8eSSXRwKBab1;leXrcKh|_qUC}=xaxOnbQ3LRl7(?40>|kuJ zZp!@)D^|ymR&c|x;#Us_jd6%Vuq8=RvR)`kf`m8MT>QST@#F1-;C z!-jE0E{@e3SyV0OO_YIP|K)`37mINXEs>}kz^z`Oagd+J*{1VBLuDVbwBGuB~bWBXR* zPSm`EwL%^Q4pM&hrlQImHjId~D&`PWc1p6Atb)W?wv8Hf`}H=x!~{50YQ@oI1U6dC z9^K;8$Pda&wzlv4O&oD%U0e#_E%Acg z3Bs7}0oGhPhb@rSUH_FKFN3w(IhD~zO+MhS+yH+N#Nrnz2AK(c_FTOb?%r3pyPv*+ zX0cu>VGD+dSO#Vx{pT@j2FgK03??{FH0dDT2T_yc<_i_)<1?UgX(78${+CDTCG*uZ z=4voilANYkb8l0VwWNyC6g|^l`ar>qT{6uS11)SX$5B=2Nn?OFSTG61Tb>U&T>#;5x9TvI;Z1{`GQ_*NiUJKyaG2{5-XTZt-GblB8>!nEpm3r2v1NcW+;N} z>WRdlBfRpM5R5}=l|6R7|B5i|09=)d8R{sTME`4ib^Y21u2_EP(4>r?!&ocvX&%q) zL=JrU^OtviuF zIR}H91}WaDV10dMiB)9Z`S|{Ee7~)+^zZ%4#{>ad!5Cr`FZ4wo} zK~?fl(D9>8Z8rQF0=%3hlN=3!ZR8Vr9G-3PTa=O(4jeURxH-eO0J>AC`k&dr|7}&< zvaL)7Cg+%LB)RDPp6K$_C8Rq?l1MFHrpX6mxT?lpt{K8H1xWNRsIKz$IMj*b2#iQi z@BGu$ciUWII>Te97~wv;4&iuKn&zV~-sT8NvlwmZ7(VESu*t}Bt1zZ5!g}#)?wK{>qbh2oMX)x8AIhNUwN7bQBB;N6Qo_m5Qzmh z0-{I6v5L14q*(*f3lL!ra?H{n+efm0Om^pI?-rp82#x@80H@mpW(v|kE*m7fd5J3a zj;w4-0}La!ic=3xP87i^d~YQ*1{BElBR)X-^XI`p-1UShbrNqYeRI@!_`s-0Tr?u- z#pg3*2y^Njrzm`o-S{>+!wld}b5p+?a(aZ9UrSN1Z<*i*i zellJyK`rNGQT=p_)fU(^BH_ndbt6*Kv!_4{@%heD^7b|fVWs^(&aLddC&F>>5+edf z{m)SQe3Esmp;Rr%+$|wX58o9y6Xr%RXA82U1yOdmn|7Joaf*AGsz`O@uG=_S+im{P z4AsNwFtW1=6_Gi0Dee1Yu|#As62;mu`xfKf3^c13Z*EM(JzcFS1B4ygPuEFD<`yU>SMRs0quo8b7Apc+v@2ACM=)4^+O`i1o+9<0G<`p@#K(J z4+?Y4`33erR^1F^=FTRrKmiL;YSQm`lsjwRC*3E<3g6VzZ*Ohmx*NU7(g$3I4JyZ8ic_0)2VwHw(|b$3jp=4wTr1`JqH5Jg@EL2b}is1DJG^1 z2^a{}p{B7{hyW+y6A(b#pGyuG&gv%|cLgEy3nw_Z&(l0lcSa4E(P|YM{gmUr;VP}K zJFjd`Eq)TS9{?W!O=02;Gk#+cROgKkdY+tuV5VbjpEvYefM(cSFP4n%#%T605b}sd z<9n1aQ)~_XhBt9v==>`|0lmh94g?#OA+yF>Vbx=rM|xCH_c<=Bk}q^c{?rrv1}I=H zFvPJj70v>4!?>!Re2i8RbfEfeFebtU5n-@bpJ1I_0~G|Ge?%nln7m2sh=z0uX?@Cp zU~i?uMzJ6hf-14}1yJ|B!NXCk56;e9cPVB?$DWwM#t-k^a!v0EUcbr`4H>J%KPDq= z{-@~LLqh9fngZ+OO-%Y{o*TnB3i13a9TVD9Ms;0nsiC10_$()uvAZM_Ii>QtPbXD= zvZA-qEonzmco+DP1U6l9>P-l%*~dge_dnrlo&=ye(Aay=FC~E#E9 zUWRf@X6w#aqU|6IoqjB&A{uNM za5+->MoQRsPE1fGOq)GmIBAZg?z~>=SzLsf4H^~Kf95Ez(N|p1h1;C;@+HojOWCA{ zi5+}QZP=3W63B{Nz+u<10Ac<|>)QO9-wo8v&UCrN)%VQfP9Qmk3b&B8qWq30ibKi9 zS(Np__EE9?VB(z<)mfxoaKyrc4cFp4a0x3Z@S!{E;2a4OKc~CtkNT6w_$$|BHDWz_ z3+=+6IH&`wJ^@`{A{JrLU`U$KDtx?O8>3sl+UTI18?3U>ve2B9EjB1tEMIJ{`Chu^ z1#a~I2sOlgAPJZ3DP%&K6-9R=U*@EhWUw_vM{eQWMFHJI^+@SK1t1uh#Po5yS zOc?A-xDyP~V0Oa$Kr*>LBaVwrcHnQFA6hgd>sjAs7v!|{0*3h5 zEdR3j<$X#w;J4sk;BAqax3A_$79vXn6tuBa$|*Lq32Lp%HIMbpkryg}^XZaZk8f$g?~EpzE(%31?p`)DZ`2<&-HD z5y!b2lx4q3Stb?+%f?PIS|`IaFVWe?QBo?M)5y$-&HZI9Z1FNhrp`T`r*llp{IGs# z7yc4|Vt>PL4KxxbIr(z(N9*UFiKAg54=8AWT@ozQ5Y#u?$`@*saj5>o^3U1NpiwUQ zz#s=N)R#eCKq{^O2beS$kPnoNq)$L5kgBA|KJ3D%(oN#*VM^nX9%@;FC%ZDLd^&3o zMnNS zQh-InODOdb(KZoY4i9F05{}MW$>r8WJYH2eKl%pSbhvJ(fjqQHEO~JMp!;{1REYa%IHG@^!Uz#SO6W)y|JKABb70>W-Omhu2+VR!$Bd#!= zhqGzqZ^3q)A+<8oLR&$ux}h|0L$pkr#eO7mjrVRnW9NAB`8?p3gcSzc*PztpZ5E|@jh`XsvQd4Y4TDU;O0d9(z zkf$KM0O=Q+z(I{StSe0ZBkSr&ZYJ_q$*$s&1@S&UdQpcSl(q0Dx|QLrs*MGYk=1sY z)5rdDj!zMtCZDg9U%eBSZgHC~mNwNLEsDocP28jC&Hc^b5c$^t8cx3)Bc-Q+VKdM; zixv?&R;$^jc+Iq_5&l(iI1>Hs5{`8rVh{x*TOER3XSVe zfYS+`d1B7?Sl~(U55}%4;;7LP8(qFQ*IzKRLB2-GMbC*tO5<0;a&(*9X z!Q?Pu|Ms6$yL4mjHRGU096sDbd4 z+3+ca1qkd=#l*#hYiR|8i$AsuMqxE?E=4YpI6xTbtF7YMmC3ju(c1W=1V4_08nDWSm;=TU;OsuBkC}60D9!xe4}I6cBG5cbN}i; z4TR4MO1X?Rg=>WzluuRB_R$bO)tUl&%AJfWq0ox#F2!-O^Il5B&1?~=%Hv^QwrVU; zPm3E30KjODO5}a0DRT+Z%Mb-295I4v&4+K&ShGl_xe5$XJKr z;gzZafPFjABb|(gL>@7;@>|S1(pR-P7KK(g-}mi_w9(T?9swRx&wS3xipAcsY3GBo z8kr{+E%SrQz7;qt(9jb1L_V}MJS`m}^_gWCJ>1i$%7B%~0&vn)3CzD7Ai$oJgi8xd zozDD|=V_-T{S56(*N}Rn3c|F^q%s;LmUc?O6U>;G*~j^sfROL(Ugu+@0p_G}>Z>9ol~fVCivt~rC1|m@ENk0fXGPw? z5mB6XuIs?KVMN&rUVC;M2FSLn9vdGUJyCut^&lp$m5Mr9Uumjf!^EIIPp{a+ITcP0 z750aNpVwgk>;BI9^~D*HLXk?8!c@%?SxS=Q6-fS}0|ZUe^5qFA24!W$^hOAY)P-Wr zl00KinAAHyF9LsM4EeWfF+_ZbnXiJseSa$T)1RNrbHk;0u1|lpm5UBHE;HvBENP0w zWsPk-S7E$@mLt;G^pk^Fri!ZlSFn$o1j5+u8nt$30b`OypblnF<0&rG4k|b=_)5n< zf7ugt6y;^!Bn+9Z4HB2^L;Wc+;2c;09wP{8z-t{hQtPBB0)r<9_~iF~jAAa_gEvHI zUATgkitoxFR;m-Ql)h9J8$vEOU_XKgl`>FXo9e&6FH$NEYkPFDMoG-zBuHTJ6?-@O z5No-io`DD-3V9l^BJX{y65ES#fgRzP10%K37B{tRnfYFBy-A}>chgphZt^wPCpOz(`K-DqEzpTOQn+BfBXdb(}H|xmPaXElS>Wjp<>BX=DZ@|D>vm7p?!FbUe^%I6o^^;b>?J zC(RY+Ipmt|HL-5jgrI(ZG}nTp!<8pl6idt~+qmA>4NSi!WfUj~msO2xAjkz?mXl+4 z{6)rGLxw16V}DM>6ZyWwD1p}b@4KxcU~Jj zal>62Y&OnomD0rULk`oEEKpl~H;Ze@00_fR2&a46T1xoqMj(G7{<(8)Yf#;Z?FsQq zGfidW87wbY^i|I*?caVj*14mXT~5}|mfB@AXc7+>oHL$6hMbHX0p z+rmsq97eFR-E@R2C^uUM94EwetC>1Atm}-0qhtMs!yk`AoDnT3;oa}~Dl{J162ki^ zuS7RBnrfn6O)qG3jABeFIQ@k$`KunsrYYGF3m## z0c_m)z#1F=aHvQ3u$xV--S$Xs1Gx7&%Fm=@K!eji2oAEu^oX}Th03jZaVBb(F;dJ!26NWUqlF=No-j%b3y zE}_zqO*#RhW91o+{T9EHE`|l=A&%?{+ERp49cn&<54g{5PbYCyc)0vCU&kfb;xm5B zrGpc3s3a6-=2g|m3oW%eVSAPjOsbJa9X^08va(&Zs>zl0BgX_B?#COZ1j{)3*NIO| z(j3h=(0=*WveIcqC$)z)nQN(A6JEg}E)`@>e8+LpNFOF+qE*61%^OYg8r+V-TcD!r zGXFn_99Vv7;&THSmClTxcMityH(t)Q{7MlA02wAl3VGK_434)VFN2@np3dx@)J0Hk ze1Frr6_kP)NTjByEZ$B#FS4Bs7{4&n+5YaP*vr0lbYO`mFsQMdDLGqzm!7M>0oPG9 zd!U~502LSOqKJdRy^4N~o2s-T`CRaQY1&q_W5+0}dI8`Y)GBbM69c z>>n|1;?U9N_4*(;Ic3yP>+{v9)YE54GhS%tXE+nY^u z-kqDQZxlu~B%@K+3CmV#X*w0%IqV8Zq{C(&H#fRUm~fihK5s&mI64`}d|`sfi; zjSf8|fp*fvEeFaJx68_i7_~})ll;C10_(g3S$9pXq(!zUTYT6OHg?;k#zVEt@zYo9 zn0wga7SRbaXGY5u4FIxr<5b~%^^mR?5M~oA-{$c!x6deSMw0Wf@A-#1h~-u}F%dG`0`9+PX*+7Qz$Z zh&FwlfyKd)%urc^O7v%MI06QMGngVy?3M$3Tt_S^g_2aV2Jv=6VuP%4L7mo; zpy!*Ev%VhlUD%)}*UtWw`6dUgB%&13E-1!M8T0JWQ8Xu>^|2DW2d&d9ty~<3R$VZD z6piU)CvlAV!U{MUNXpA7r82*}|GDoXD2ZUjnz^D=4E2BLrA|(^0hiZJ4kG!}Jabrw zGok!OF3@bYjui+C0E#c_duYc^UwB?t!@EgGR6y`~$T~pi<~oJn!Q7tZ9M?(Bf10T| z(pn))M9DPh-R%^uF=jB0&yR1Fu1$gZBx$O)Pkt`d72zf~MhW)nMkVGOcI*>IkrkZB_`k&T|em$R_UB{0GmwyP%g9mjgJ_x1ZC z%ce37BJo9~`^FoT&tg`m850XMExACOOQ%fkpetmUJ?=&fo9XxTx^X;U>jUQE3k>a2 z?hRnOw-q#JhnXJ6(dig2eTkk*^UTT{30Los5{AP~#rgwJI$W5Iml}G*Rv|0e`P|5j z1Am5cim;P09(=yhT>S&%_c1AorXRneo?vpm(9sQjlP;(<)7eCCE_^>eMdt>=sDK|m zZhmvW2ZYMB5q#nRJu)j*kLr#R7VT}H(hJl95EB%vMwti2S7F&Xs$TFjHpg=a?sFhI z2{M_;y?9o!h1*Mjgwoy_^%%mYC+uW2PqGq8=Pz_K0jtX&jKk5@o~12;cPY94Cz%4C zy3f6r4shu7bJP=@BmcXxZ{(z}Uy6@$sot<@Y$9~nQBb<1?$LW1PcTMQ9KZt!7mKU; z0J!2^V{1^C%RPHkfy4NuY*1uImx`&SpF+c~^1$HWn2(rpKZqip!i4Bhu6$suOWMq>I z8Q^R`!B6L@CFCi6LA3w>6tUbJjMi~TqI;Q^-EXS}!_2ftX;0mQ7chl4-$9+8eAlkA zyLrkkwPQh#*b^QJ$zS(<@1w*gEVevx)t3oA41?THRO3>o<*=a zA*JuWy-qn42XUE7KLe0_JRHFZQ52I~Or+fi^{K051NSM1+ra+5-c;CL9Z<(VYru~ z$OQ;NCE_jhq(p8Lf|9a7a-7=%)GaD;cvSv;%8zY80N?}^ z_%F_qPWDvl6`+~5d__NeCe;wi$FcO8l*FC>VH-5F1>P;jlCoQ18W&0TJbg7P1g5xV z8?Av3lqW5tv=XI%Rq@*bHTzRy82_0d3?N-SCM~c9KzuNNcaSa&2ULmZRU7ax!C!1M z@U}Vsq~iQ81USP`M0Qi>tkp)b7z0}NJ}t4vF}nkGHmM_^g?UBI5w@+JE{7M=evfwo zXO8~a-EtPpCV$cbNs|j8n6OriEJG;AVN$Gl$pUyD``J75D%kw_JFp#bn&Jr(1)h4J zB&#xUBu~m9RbcsaKA9Whxl4*CE`I8DllI~OcAtOl0(UY;LwX#Ys{WX%>T2`&A%bUaqF^_YS6HCyM!Q$YT-q2&WjMvp~iP{%Z|2#YviT%JLh zoKX><&<(`R$WVK&Mb~V=T{ToO*O_GG77oiMSaR0)KIl5ki#$vZ=Ww>uDju#vy6-|< z@NW_=1biX(VP#ue1Ky*UwmJ!_#ch7=4~lB%;5j;qr={71B^0?t2n+QVg@&$0E-yXE zJwP$q(0v=Qg zmDx6f+g?fu?3I#Q(O;6l(GDr^W7M6JA;YbFCni_=_zLwI6j{`8i>=wTK!LQ9t#EHj zN0$}U$OcE7Dg|EdR;$dHrxY~6R~&d#dpB@0uxI2UkEvTGrGGDMF6whfJ6PT2yx8fW z!x$Qzut@$7Le4T-m18uC-0_EY8;DXaIe33qh=0?)(6saLF^E(_<;Ge%ju**?nO7(q z63lKl9+Ka3(|Rmv127a;dNl)X3|0<2-nqVdJSTx98@>G?992Nc{+gU_?2E_N-*?{U zNZ*mUgJE%_2)iCH8wAbY2s%$6x<6WfZrV?Ye3rKs7=XAdN?k$q?hDB(0&{*eUBd7P zr(QUbT;SsiQtdyo9u?%blUWSwH8p_U1Z#yCS!z*hyRC8wW~k)pvk$V|-Lc2*8Bl2@ zODP)9EdF7`GoeB9z{>)Uq(a|o86-C(*C0QWmeE>IhR(@S9YowJVYV^F`|A!wVb-UINJ`vu0j)MxMX@g*AJ61_ zx0s2eYS8L5MFLJA8;`3V8MSKlG(+=wOPQoabeC>|Y&M^9_`h0) zlwH|V( zcnC&_>x8F`h&Eag1OP&+I7F6P~ zBJy?{j^u;bo7on~UV+^8G6e)u-U1Xb?lkv{h^JuK1*vy4WJk})qltGPih_DGreUmF z;S{axkdb{B4pw=Q5!OS{G1?!CmurNzo#Y3lx-0J&t~+vQr|WJE9%@U=EKc?%jw?TJ z)qMr}%O16bajz?3?WZj!qo{g%Mf!{?EA$nFHSt9iWwHAz(If zh}$Ieft6qJcGtb~6_e;HymsHW>ehca9riN@c>PA)04y;Z%EL`GQGpC#@Av zRe-za#u1=9SIW#~xul!JCdg}~eH~ej`wo4NtC}y>w?c*~u}U*d600dx)4X+m6>3!7 z^k$RSQ;Tq2BTF_0(25H6z|=gqqX}-tuH-9mAxk-?PJ<9jeDNInm z4|>Roh>MRq2I%Zi++Qd6I_@^5o^(QaE3(u&8dr|mNUHaID!0`{Bh!CF^Q7~z%q~_6 zD*1)v@c<3UNPH7*rvf--ql1B^9jnsypgxM#=`$lRbUX<(!cm1(4uBY&p9R8MM~0I+ z5R>JPBvK~3AOC*7qUf4X$<SgNsfn6qY&NWs43Fg-e2cS{(PxB`7mr+pX)n-|1!tB=g?i{=yNmCb{VObEkXp`8!-;YA))W(mYL>7jWF9?OW}Zxr9i4fQwJ!H_A5JOeZP+MS zE!d*@Ea3` zWxzX^2;Hy|`DfkFM-NOnCU5Me;w_Tes{^$=w!03p889}7&Cxp-lNb;NAPUMn#nM4c zWbBzFu>dHVa++Ph9YU^t16=5AP2@P~?9Zq9#r@ zP!cbE3?Ef7Pw2q17jHMIdj>-j52Q0sdmmpp$b)Npu6Sa&T%^g0j@PtSvBkks9Sso# z{pnCYTA}hSQ#21&9kuAn(N_J54B0p0x z9+2;%KEQO3DG~(7K(^j(x4c@jGyO3_gwuPIxNXBShQXfEo{42lqe>|5ibqalq-J+QZL9_;$YNC-hYMPkOOn z878fsB$8srWs{*K&*nLSz;os%{dw^={+n9G0zJ^95(TDIfzcy{#hp&>Sf@vq`6T<3 zjm#acDTIOUJ+AG`ZUUS4V~isPl-|f-P0cGe;j*PNtMKrz0O0e#{J4FMXH1UIJtob& z0+bpK#Pzll1O1rmrepI)zlCAvh+tv)@7J_WPbsMv6Z3E3yjkp2T`bBAes*@WbEBbv ziw-vBS|kCdRvqr+BkyD(z0F%V={BOry|#3l%&3oxz|bAeFpb-3hyw)IZJbOBoG@d? zILy>ixtd!UAtA?Js`aI{dGpKH91jR@k#dq7`!<(Oz~m}uZ9mALL*ZK44`_spkAyJC zm?xvGCN5OUs`~EuoSH|VHD-nVr7;7U_z{L`a2}72I0h|He2>jK%z=Nfibvf1jm2XS z5X^Ic4mL}2@hd*{6BafyA%t#G(?hFOHMX%j=!09yGY+T7Y@mI5AsuDIqzf+2qaBkp zFCv_6SQxQOZ9Y+^M5(!3<7>=#~;qAktyBH7%z|8N(Iqiz5~!opHn^n?2$8zVRz6T z_mzC6aZq7$Q4m8hb?oZ337zsUZX6+k8CvZ?pE2%k`r+m-ut|BQRTi1wGN1K z^r3tx)1-5dvCxK9$L(5?ZB{0)Ha9jEQbCp;!`@SA^K zUI;(OctSN@GKKEs-DL~?TP$|&#>yvTYe44O@VMI9*8@u_a!P$(mcFuxHLX2AEe7qP zIY8T~hOUzited+;fv#kJc!B@uZHGwvSkBEz=Psl4#wB03^t3HAXa>7AgYP5#&S%6L zdYCeN_TZ!pydfl~gYN%8L`nXge+#Pjc>J!esT&bC7$dn8TNwRl+6+MUhS|WFXuVn^ ztvkD9i$t;-|8YRm%=@bC69a6@bq#nPU{v9%cIiWx>0xzJCzjSGPB*2bhTg|W&~Pd= z$11(VmaT+vtFM=mkXCJ&c;j7qtV4^0n1y0M2+7Q{2?suJ@H|b1MX^l@&3oh%5E})7 z1Wr^pm|eS6{F&I$CM>$KI{zCXj9q>ko;VV%V*IC-y(_gc{XpD&;|4DxxDGmUnFsoX zw%JG!`Xv;y_gkwLOegzL$`0XfO_1GL`yU}Yo^Lw~Jr|lZFM7|Ju8)h2Vzcjpf_tS$ zI2Pym!zm*qLqMJwm4crh=EX*PRJ8^Rb*m~M?e(aCHW5`<886E138#<9{``ZUWH3=~ z6(9CUn|~6+Om3H`KS6;C-yT95XN?z^!k^ls5bN&oq3E1GtOxIyoI-(HGmzece*>0QAleHH7LhwnNqboOJg2) z0Z=CTqAP!c?r}-#5sGHGn}gJi6&m-BG1}rPiZnxPzgU0~vgGykRt%O&E{*r?#*?hwQ(uJvvf?_DhrW9H#g-)B1`=Cv1uf>ag@VGL$TjEG|Z0i z1o|3!tp$Y;5N|#c0gMEj1faV20*45m0^B{P>Esg9gA!}Catj{dS@X;>Q=S3i1djpv z{)mr20;#epTVkOYH-DtVXBGvv&5cLN2MU7va@PVyhIPT?sC*zK=b^$Je9Ewl>H_Hw zlg{#{t_N&%ybp)@dg8>NO=IJRk%kQ7AkIx~SrUT;Dh9?hFzvtI!qx}{t$zMHnRD^B zp_p3-g9Lw0#U>S`3`29!ttfI=OI6eYk6!#HqK%8(g7F(;Gpo7Ht|{t~AehFlc8fBV zCqN7y2M#51GNPU!X7i4oVHInDc_idDzlu>0{%?sDUR@GyHiRy69;{?Yj`a~tB48&| zlpLToV`B*Xc(LGd7IYADaHfRu^?C`y21!<1z#7+tfGp&C@-IKPz<>Vg75mSA^l4>? z-sX$d|8}YhG!-fHf(P~U&qz&q5J3AZ-DzDL^ln3L;XSS2n>e;TB{gePdHwZ^R){`oTsz_({?a@o?U^#h1g~NwG;t&&_iB#Ads}C&8UEm+!>$t0(#uXC| zkO_`%b4A(2PalsX@8Df~kptT~XS}|B&Wg6VNLfZYcT|)6B>Q8sUs!E6hNGh$=^CYG zt$)h$CzJ9XR+GU1>}aZA|3RvF^+tx%(dIJV=PsYvd7y@JHr8&r4evm(7kd}h3p~&H z4CG4V$0L9qxgKV$eP3Eqj-G$_9R^|7PnTYliop?U{fE>nEPp{$1p|6(?c6FppbH3e zg&6f9nRexf8(%7NSW1yL(m|4)Kn&|#YcPF05n!#-z6k_Dz4D+r!3dS(-KtB#P@dXZ zqwoaD3ML$%%TX|IoCquPoLj7n1Sir)M!9Q`65Bp7aV!J=I{S} zYStF*B1eK9%gRus9Jp4A2LWu2Ux19pw+J?UefGyjO6Fywc4W0fdDWwHl?wre`0uE_ zLr6s9fgf79c_hy<`*cxH6jQ|3`x(T6K}JpAhdsb4{nS#ijxD4SXFa7NfY0r8#IO4m z(>yN8E&YSJi-=enV{VDD|0{L?0}WO_`6^t^&W20d247xCl3B)1$s&Y1Th*BA8wpv% z;kpxd{Ce_BvpEdT%$VN=wXWZ?_Dv@8p-_Jr8U(8h2+x{(^ivm%Zf8ANbtoBNb;1F~ z>+uMP{gb3DP#F&th*m?M6BSfX{~&TUcGY(rQ?_m!Awf`N;P})X*Z`R@PUSA_qE1-8 z&F{Tyb^$iDq*=Uk-3yb_>EHf%s|tyDoAyU)#F)F3DNzA>gCeqgMw^LxmB6bI3;tmy zJPrO-5sC^mGMG<@n6mi(i?3W-y2bjiZ~|{k0&Z$3fdCFALhsu;fV%$@XEfrEy=c|) zjFmNbM^#ysj=CwwkqCo44F>nyb{x#v*yRQfAcSd@OU&a+4z&b^EHQJ;`78Gj9JsX7 zk;;F}nX6g3bk^q~vie*zsf3Y+h*vLUL>ROE7m%iJYzm2PgNKro=!|D6rCBiU@}Va@ z%XU$Go*=R*rdSwHUD!8%DH$X8(>~4@X27-Risi~c`T9oYY$H{wV|RTJv@V8%b8&34 z1{wTP9Q$4gfnx@~{+v{i!4t8d?tu~gfb^$!SJU9$B)nkHFO_hGx%`xJfpXtEc?>b! zXd8b!&s7Mwdf&2lE?~z#a+k6gt2ENI4%j zM2le3_s~vdCaYUvZP+_pGTj%gZSlCE+)mOH80xY#n1xN@F|aNX*Zk6utu$c5yxc1 z1gh_oqZ{RBh9uE&6CKdcLN0Ju`ntxnxJMo?xuo=;GVPYAObOCQL!e^?`BN}JZ=gga z;o#)+sYVEbKW$Ywa3FO;>mX{8L55-grlwk&>3wbe$TeKsltZpPwWrr?eF|Ms7$WjD zGp{qCBlk~;5+Y@*>4(A<+3$m%XJ^!mYEzd-egP8X0@fxr$F?I#<$~tJ~)gD`hS@tMB;Oe^eE!|pZTMHLw>bF%!7thlV z15{S}tp*#IlsC~GwE0?ZW8L7v+9BajTdG`OAX!P+tqVo z!8m!jbL+dgF!ImS3nkcx)1Wz!CWt4|lmgbbqz~_DV!Nf!WB39c%UM*)PPk zh!USDEhpR{EWZw)h+%8 zqj(_0Lq;IZ0l~2j3RJ)x4ymZ%Pt>=i7`jm|JQd1;NJ`}|@?|M$QGq5nMby!+hYKvo zRTJLd9TLVjObiK|JR!Z045IC22Pbfj8(y;JNO^zi12EH7%LBrYbQY+!36+6ES!|R7 zW&SYuVDBn^Bs-(Hzn+<7?(1$oGX+nd)r|Oka_%u(mzXj?3}c1XFELf>29tRJ4uj3S zrVC&$K)uNQv-%lPezGK+-l~eE<1)iqo0{^rtE(J<;UQ>*6=nGd$O(7z1*qcJ8fY8Y zv?wrEkNgs%X{f{2!60A3t$AK>E}r3{M}8NLv&JUS1`TDeQIVpN%s#;_Ng{dPZXphU zB_T_poidbbLDhQA z|57w#OvM_WRzly(`3bg*Y9qm2)m;6vBom)FMr~T%Pzw51s%CV>g0cpgp2*w+_X2G6 z)Q_bi_w=-P!O;vRvJjn(G4|UOx*ua9mn6-b+aa z;UEg2(nG^2^%_1;?jh1cY(y+KUY{W31g7&?M9&ZX51*wLK2C}olL?112*(fqHD{s< zqFjkM+zcJ?3BWKuu<%4T?-Se)-!|&3zBM;= zZCoaMh0^6v>BXL^GbEC?OXH)|Y;}<$J%r?IBftm_#rL<&rZ8BUsSaJ5wgQKd(RdMm zl80E6yEZ)XdziT`gl3Uy5u24d)~BBNk1s_e%Th)>#>A*vo$1-+w8MX$xphcKgPZ9B zU%NYqZ5vqk>!#Gm!1*Ge?Jtk~KC}tvSmR2s#_Hts$W5iU87iEw<_+Nf1-ldHwCQk+ zFP#_tT?+vbNdeS=E$RC{O9R6aaLWOuKGEE^a-AJW2i;UP6DEgT2;oe76rKVU%_B0b z05Y*18Y)U};4014az3F8_V4wVz+`;Qm)GVX^akT$1J;iwS}r$3Oy-t{IQsXBsr|;N zs_X_wZ={HUl`5yE3z$)SlM}_MYX^y^m7V}a)+lG=DR2}6C_2w*6c7KGv$J7W_Y%x-9b5##k((?KoZwh91ckS7n6zzWze9=RT!nbA}yGH8WcsT6p1B!SWC zYYTE(I^is^_1dULp_n{-`rsKNC!9X#-cS?F-R`EM2`V&cjg`m`%>UWDwV|NLb@hw_ z5td+^l`gu&_UbUS_aS)nfD>zJhE`T*wY&vVM2`w0!mTLD?=Wm37R%aXJQ=W)dJ&2& zp5SrDk%0wwtMXlUL*48kuiiaSglvPMy$Gff2JsG|VH!kSl23b9|F1=dFmFOgU!ZyP zJi5-$-XKsx@Pcl+#L$ zEf?c!(w6J0Zi)`^l!Y$prY=lX-Xb z&XXv-8HiXXPZ|m0)}|?yO}7)c^UaQ}J%w(xFh9JE-$&<#-0Yd+TLj5W$S%=1)apnt zKxWbLNr(!)usU1!uES6@Ep1@sDGF@Jm}7;(b|Q~}cUESJ1YKOePNIYb?GwE43DWZp z?FaLeSK1diH1)?>22z3(Vl9v%2wl-BJb}U4Qd1TCc z1LULlG?j*k-EC33;~iN)lJJa(A=Vmz1z)g}LLQAY20k5vVxoEV3Sc;3iUK$qj*nD- zt%6~^*+B@|2OPu=mr>8VO~t=K`vhDYDI`qt7cGo9lpf*SaQJ07T)eZ-o@KXF7*L~A zrqReR#y23VBg3XbPZvlwK>%QhajGyyn3QE9~xlsfHe)$R-`Cqx*sb>r5qYw>l_gc1|wV#2NGVoxMp0(33O0+duSod@mo2p(~026938$Q zUiM`@3_(&8bq&O7i-*kr)LZ8x_k@?exO)c}_5u}_p~0ZKSC~_*(?6A$m9_e7k>MCh zt8{w6kojy67!Bceqpphi$-ObsnTiQfOQo1e<9qO@eM28R+RW)TUL5CTWlqSm%@@EZ z1)$NySAng_6kmwM?BFDl>5X(59w1#DX(J4fY-vg9k?$I1Wn#k$NG$Bv{;)#D+JWbW zpj1X3OegG(vV@jJoKMJK8fM=52?Ehe&zzjX4qtLkdzIuFhzDw!0vBkOEbA(8XA0=Z zSa*uP`MUA~g7A~8Lq-sq5C}7%oFn8ea%Z4X;hvq;x<_=7gNe_N{)-&4q+Mc_cLbw? z7uf`s7A?KCG6%e$H@A=!<0WBiIjbBSIn&*qeG0S0A2=>Yyz~-|BycT735PuKm1>h~ zf=_;LO{x*_BO(i=+houV$3Qlf9VN|kaMwT8TdvVTANY|^fvx{iGJr;jZ84 zv(9kY`PY~c^{f;o@HNqP%_u-gi$QJlG!q;+3x4NcMJ#KLA*T$p(T7bOxzUas@;tt- z7q79wbu14)a=kR)t>O}jPFLFyI`D*DFd>5Hph2fZJRi`_UYViig93nWD$J=| z4`txEK#Er-W+pc70{|Ki8o{u=R|EeYU{}v*Pe|!nEPv4D<8uN z6;l3{CMJJ+z#nPht#@zsqq#sYtKGMOe$a(^+7XyU@LzK1jx5|lBO>S1^eMbJt|BF| z#9La&Ejy#Oh&v4z7U#D`9&YyM&>2qP>Xk_4x5nnRJ$RXHspDv)*Sx*d2;8_zMK;I#Z zq5@BFDNd2IIGJsR-2wY0!{cVd3P(;<#psKR;H=BeAWx??a}{z1Jh>*t z6bSB4&#NW}UO3{(0kCc%*ptdDwHaicpd+H!aYVWB08>!S2P@6bMa~FmGGbx`$AZ$i zZpAuHO($M|5e%UOVXsjkj^l2*`11fY>AvBvS!mcj1!@3Jkspo%(6=&_x+1PMwY#Oz zWHE_!$#sr7V~Qq=yhqzmw;o4y(SEt9!zBhvvIts{8{rSw!?Yu6@%SSBW1Dz{r6MM>p=-qxi zU=d1l3MByJp2#nSIoVz$U>gCl{|#a?ILWZg6i>p%E!F}&zEfmN!&;yD=|edSTJ&J| z*ddxRtSi_uGd2r~jop_(t$TdyDyM#m+@v=2e&fF96)^Jw)2v1oKSkd_%8M9>-We0v zcCr}^Y3`7=UE{|PBoHY9rmJ^kK(k~nD;sz9nKL>aC|Kf|l`hupiZZ0?!z0XMR=J_Z z3obGzN+k*XRHzJ4m%}-Vjg;HE17@0rSs_1LL!dohP+t3>s|&Y5C-yv>Bp8S4uFHG$ za@{!9D+Y(B^p=&CAV(w;t@;-{#0qG(zt907+ii-RdYfZwjt=|m(re9A&8}MPrVfJ{ z=)D^4H^Fc^0vJlb<|0*@Gzrfi;ZZpJJXOR|nP~MhBQT{XZNFU;$DJQ>W!w2Qr5Q-G zz|Ao*Dl*Nnib}LEXy3d%laTR%M-q(OCoe$%i(Sp*RkwKL;K41k+2cqv*q-AEABRAW- zMp+mp`5}5^N7@5)5(Qw&GJ6$f80bgA^$k?r-pW;H{o7Y$873v?3|X$nvd+6<(`^KJ zU^Cl1-|8vd{cc~}2f0HWj3o&MbQz~sURK>??UL+n4LI8M!AQbm>J=4Br0gAz01rBS zST>1Uq1Hd{^F4)aA2xjc-O;EOJ#C1I?(SR!#Rr^dNUUparO!}9K!K;D1XIF9T}Ggi zC>W9RDIk<^q9&IIPLeC47VgBB)eMaUSiVy|ZH{)AADnV)xWqs0=465g=fd zhk{d#Q#}Z?NNPT(6_sAZH}E-!Fn2Kp$RK{&LdNn_n9MXW6kG|w&V@6@R6zZ+Wt}z= zcz8P=>KSSU(e}HCCsE4=0m{E+;9)ou*#of!ObHlW0+k$<1PTfT@T$;U80W@>Ap(=L=EC~-nPhP%P-@p*8KhN)vkTd+upSGe$E>xeqa0(F zZ9EMqLny&U5naPObRIC4nc zA})FsVWr|Y+up7!fit7#X=mre6_IQVoJK!8Ui%}+x)L$M@49k0}(4gIwQ+q%1V;@D>Di?F94X6eS0|nzLy9wNH83R>NBum-;y2$SPnKL5kFV zJR~X~NUzq%KjZ+o2L4Q9{ScV45e4T8d?@PJ2uWE5J*MXJNOO>2I~WB&-Z?wd;GiVe zjNS%`v@Ksr;%L?DhsH7)LlGgJuJKekxCrFkzsOw@WnLFZWFa zu?XQGJu72~{Z}DI-Y_dsVI(^si_-xkq=;xKbQrtuzXk17_@>;N(WKv%0gy%WeHl~@ zd_*5A%;Aa+2_z;7{^W~WXDNf~+y(j1QLYmGIsw$ptNk#s(R+{+8gU?S&}Ewva`_pY zt2O*ibuiS{bsvp=%CTsedgp5aU0$kJASEt%6&2p z?eJr8H9_3~3>=Zr>34-plRR0KJ}6B;4}c*ZwG`$(C##2cU%V{w-8Fc`xnJm%jM;I~ zO9fbK#J%q1rBSkIyV;_tIpPv98Zfa7VETSfkMh9O4j`Mm_t#I~m!JAE3Sz-WcKC@~ zb0`@T$_eh4Q1^fTil>@Paq@se!?U{HwzykTOJ6pCcAIF#Vr) z2W`apZ>5w!Z0f)83onpU_9||O&d(w%`URc1^||}!t+-56St%|b-(d&|{OX6$6qXeq zA5V+d04x=MB-!I(w<}Oa^9xCB66S282RXA_k`z`gS^-0W-Uf4T!T*8J9^L;|qEIQP z_AeVy@~Ab?9|ehPNxV?LX$IgAf=dD>D!^NERZ3}!74Za+tEOMlsq99@cEeQ8$N)R! z?vBeeK$8qIW+CEAHFZM`8+5x+y;q^{-MLZ^K^({ABNc;L(MD>EZ@)$(xx*wx2E)ya z{PawH>+MEl@eQ)csA#qNGzv$JTf-1ktNVv7CfHrn^&XY^RtO}k4+C`5FnnRk)0u3^=sZT?Cc=_tI$}KQqBsGZZa+CT=v@5HQ7q@!?x)tOw;? z4Js*jG@h<|yGV@+SV^y;fB>n*%w@8)MKs* zvE&Pf?Lgkl0TON}9(9-`H)mY^dJuQcW-K+^PVQ^yxuxJW16ukw(Up$+i z^W(rwdWBE=>J$ZS0PE9!vK-y0VKIA=`y_0O%=jfD0UXX1Z|Q;%;}pZQ z2@=eZV|(?W`RzfD@_pm05IVHmOwlyVkJqv8=OFEUTbO+K?N4TnmIljd`Mt`?Bo7DS z&Uh0oYF*@_IuZ2l@8MKS0qf76Qt22X%~A^Z2l!?&N{As{*Fhqhv?;YB7GNVSjA+*^+iCM+!Vn&bk*8M_i92s=2NfTWWu^I`X=2{

    r{NOBLWBiLXQ^PpD5D4KC|t-gVb?kv@EtOxVvIy5?v>^m1yaR*%F1Flg{ zaQ#*?5^FW`9UHBY13+DqKnmz?7Y&!`_ST~&oVyy&GEZZ z4%eQfG~Hcmtvo&a2I9W4)9gxoWFv-@BNBI~-+%JzdL`4K;g9ZM=6rimMVG*dh5&!y z*&T!h$TvEXY>mqCb$+LYM=sAK#8_y|Q?E#;D47AtM-_m$@HL<|7_mjw{+0!9KqsJH1gCGnc?9ixS_S3>XL-D%N7# z?j>>x)OoA&8U&!B5oHPwoh3oBW*=zjoC_h9T+Fvh4ncrBb|uCFnD{SIr0;Z?C;2r9 z=?Qj;6A{!cv13ByDXM8?FH8G@LldX3$nVn?YmtGJolw)z1`^7KQW^H?VuC3_R59qY zO3Vq>21rvdrZ+3EPQPGK{4Z8r9>_Z4+w%F-fZ6n#BBk>&c#I+WVg%iTRx6@emIk;{ zO7-OJJ|Cn36%R(aq8b_NZ5&B?rBWS#c&Le;{|(ARXCJRgB5y(IoqwH-%-pej9b>lk zy3~T@txq$R^%d%&=Es5p80NHnPWfW_`!f%1Rg478Y~vKO_WiJ9vK3_q$@5MNC`&RWTAGa9}!Af zbpyb*a$Y;ic47Oh63<)b^PXCqv(F+*tg0&1%QFX`aTs9arH3}=kF~~`@HuxQM;J%( zE*MV^*6378nVN)^tPWeL(R$161P1ns|DOX6-IUAW!V6@*VP?I@zT&(+pyYoz+JqhK{Aji7BRdjVX6d>{YVQ_fGpsMMu zs^EU66KE)1Z7UY{JljHeHAiA?(xOP4qAawiHDvd+z-u(dMcCe-xE#{G4VH))XUPj7 zNe-J}k<~FS_P65S$Pl`PSaTRnU<-Mtc4vR61f;%~8J(Pw{nTBKp5{h#m)1uY5fz%a zryEiQ$(__CShMj1F+$p8m7PU9-1z+0ydM(A0P;-&;wGxq^zyA)$fE_D^c~dpt@hQY z2Vq~EvwGmEIH!7kdJno^^rG+mVTZ1ZL@zbv*`Jh;A!0(ho9{H^RO+cdPar-#aSfRT zF_AL!Byj~)}?O98W4pEwU>R+x4UMzzdRMBfBIp`wwrwr0!eY? zCC+cu$OWAv4~btdr}se&`xo^4;Ps|?wcm~Ubgy(!pf2duKoK_Uzl3bVw?)gAc1yyem3; z0U*0o55$d*cmYL}1j%#j3-E2%Ft4k=8~AhR%NDqOhbL7c9}hA;fm481u)aVhMgKD_ zguF46|5g_Kkq^KTHD#Q7$<%ihWVk?yK;|p28^q&M4}xh3bZ+|s1OXtqa%t|kx*il^ z`iYIy{p^0H)9|2|{@;E+HJD(Fq#}T(;>iplLd=qs6twIEW76Evve*%am#a|4;YzV^ zC&I>_ggF8h$atoA1Pr1H$gA@Ny#;&3o-Mi6NQw_5Oq?iy4H}MLA(2j*&MgO)QMg_?Fi5 z8QGIkDWroE-;EczN`LwdWUmd3^Dib@gBldH;otIAhw}x+E#0iHUZu-Y$+>3kuJjcOAyO)G9uY07x?^>t8FYbZwvLdA zbH-$#2vzK{g!2O7oOksVb}z2oP&Qu$-xFVGrSF zn7$}J2q+|-4%);&pG>Y0jfGLBJwhfUrh1CvTp`o(4vB1E8E8qWN`%q23s_$coNud@ zsZ63O7ez@4!YRAm=PXUG+l;4dC7{uBR|mJ4yMra&jcoBt^SirlOytJetR zn}YK|jUhl-OB9Ylem=cpxB7Z^{;Y^{`lHtMkX>S-yjMQk93@O*I*xwSPG`5QM|goJ z5j}=&G@fe(~>Ie^m zzu*KZi>wxcKC6`iXfewq;<3Ro)d)P*jGNuHViQk!szw;6OmAXs-JeBY++7s={tzco z!St8eJ-)w+aW4jELFw4+DfMlSDPF{;dhgZQ=XBO}>k|QG@|#myeGZbiFJMO_x$M6x zNvUe$_%Q*xoIj05+Ny%kbC2> zIT=nZwl%kLL+YZi9(E_$@GmXFJQ)?IS5gEbU(Oj_I1HC-_ya7ZP?qrLAa?GO!+KxL z%>L!?;HHT2YI6vHbS3z3TA(1_Yyysen>tzta%zDGG5F0T0*o@XYuTc7oMC2JhE*v0lw6rlKu0Vq2xd*nJHwGtjN#t`Kmar32vHXgi-vbAxj&S`2I#-)+&O4+Nz4aCm~539pTvc0QbBfvcy7N!po*MxQ2HX5GOJE?|{b4en14U-hanJSa;(|YUe z!l0#!`dfTmB?+R)kX8EdG_I-rUYf2!aBB;8CsJU>&IP^-$*r=Ahbu*rX@R?^5!JLa z4a@oc2Y??HB@N6u_7&2ufGgjLiZHOx6|LwGs1O6I&%9=@8B zU>WBQ#5&oe)TltM8i=$TfhzLJL-^Wmk`6hzoAA_5v@eWR`f!RHY6KfZtpe)Y#s@Ns z-ouT^1Bi~%ed8q=0wDf8`195MmaK;#fsmN}z(y{-zXB1?q7np>F+F-ev*rZ1f@qTdU(E{D1 zvh~wo+$81tfixOg5&)*!P`mN^va?TUHFDme0wFN0vu`wh96z#-)1wt$Vk4lbPJei$ zF(AlAUPbLKWDl`v!nU`k$=gLRg!JkEf!h%d&%n-uWWLmy(SZu8VJ0V#oUyQX17fFjK;m|PWgBMuPHg`>@dTSkZi;quLizcE`R_9w1Y5VnZR3Yt z1a^@6Lzsmxys`+#%j^X35LRDShB@YSxkGO+ghpIy=5v#e<;O$=LNHGd z0PM}jm=27*%di)|*7)>X=)rnKOS{Yfw_LC|^36U%g1XH+a1;&C!{!7?>c1RxY;ZdF ztQ;S*$ySet-(u;=7lAU9FCvr+fC_%}L)TNZJhWqL3$9}Ml&NV^>tMb2(EWIkiLFH9`ziM&7)j03CfK}YU2128P5aK)|WN1q0)!4UCX&Plr^^*XSE zZA%7yJzCup8YTQe$Bh9OK-iBMYmi&NmwDqnL%5j;a$0x*GQI+cxF`-Z?zp1QKO3QX zn-9zG9fP2WB8&`{=JOr&AA-dTFFCN_((gZNfyk#{146eK0ARlt$$ImC#Bcrd%( zgQk=-0HzO@ddJxi#?~@K7YVSVOD3<5*e1!(v`=d`9vFl%O9xTW;F!Bx+H5nF@g%nj z=_eH*mEI|%FopBHB(P8p;=025Lr$UZp{z{8)-9-v2*)tX(YP5TL zeey*dhZ zms&As^!_vrxdQe}(o-nqm_u_3f-9-|0l-#vt|{VjtrT~f9o%dmtGya=gj;iiPHmvRKlh3^^s-qp%AN~;$u^5)Oe z))z82J1IDfz4j7ynH@OV1Irj>+D2(-c6lebZIFlYmt0XO+!~2w_wG3>EwsgV2knbe z^@FM33vaKCKwf&&m#*)bR3~O7N1S7#pA>vjavunT*^0s?=6Gg$pmch+%e)BX3@q{u zy<^tdFkX8*)`;UAS(@v^r79z9CIULMN4nmLl@*zXjXj$T&+MmAhCA`-cGt(NY0a}T zkQ294*3rdMy3ZiM=>cp9+Y=!r7Rck8`satfnNHcg-IG(%xd2q8QxH+FGsTTp?N&!XH>X%V$08)PHz%lt0AkIOJDE- z3fa0%y@oK3)~I2`WB7OLv5eT6*FuM06d22=cjMz6+&$fw<^OIBn7SPbHcKsV&xN#D zkJTucy(to7h|59Y+BD2)JNmM+ZZj^IWJgZybUFQt_OBKR+#oAY>UyUh{dYQd>svyt z#sShK(hk};bzCfe?tFv!o)J-Gb**hv#1+lQIOr1=N?@8%@wTN{J&8o!bIlEQsV6>@ zCoBJ^5HN={_-i&#eA1d+5{l<{Lco#o8q!IFA1Fk(8&gXeTRE$A21g?XZ|&5@?2I4) zz#GQrqA_b)jSD-0Dh*4@;|8k8{m(HMt51Ja7tjO5UaVU{3(7n}Ml9qnki@9k1~RfF z4CROhzmitteK)2X zr|!(Lh;)+MzgQv89sVGkQDK6=kIlPd);PpN03(6=uK(vtSow&HMQ-tbs(pDt%YQQr z9&Lx_9cB=Z#R`ZB^yzZf1suQU>KP3r~48@%^ zu3Vew!Ia2zNTV^pGW2$XBF!`;F=Sl2A}VCX9Dw)v_~Y35HCzd9M+kD!M0|=~ml#0`-op^fFfFy!jcgq1 zDaOAC=QKz3Q=oCJROaPUzMR!$qq8KX5+k-oi0tHVe{yt8MeVh2OOPMt%MawWl~e!% ziQPSaND*S0{OU|u+Q7iI>WHM~pN?MUxfh|PHWI#`MsLT^1r%tKPiVC6^}M4$0tM5a zCttd2peRpUp8$`|6O%^WNEw{~8MhTR8JiZjim|0cVJQ51!k^2MRG5xHhfljp90%fb z-%n%8<&3Y7HF8@Vg@6v6=Q#m0eub;x1k%e56%R zlQ;BSjVLagK`<`9h{O~Lv>!y^QFb>whWRWBo<%um@(86WC(fg0=qtSYBGmz@N5A;1 z#U?HXqLRCm1Qr?-plLd|r_LE>b|i^iZ+0KuIs@AfXGal-plXQC? z2JmI7qlGj@8lWfs#wio8-`kAlo*BiJSVSnmKuc9agvTZAq`|MXUP>Gmx-lKxVcG%q z3#mIACa(PIr2+gy+sk$jQf?+}@d;TY>&qORC|kQqW5nE2@XPY;7Y7w(5ALRRFiaa8 zwO*`!!F3-1v(;Xv_Av~|He`cm2g;r=swNqf&2bxK-=HNXBA^4RzaVkk;BjP*=wNq% zZsx_L-?bf|feD`oel)qH2N5Nc8I+pne;H=!dI{82{MQHs$}#MpO;k!|SFMtLYDEU1 zmIwh;w5)w&<{cwFZd*u(@2^4%>iSD-t;|7U6$=eJu#koi;0JuBORuIVT?3^y<@7dR z%u4%Ti)$8eU{ea~3C(klt>TjcZH+W|{Lw>@L)ejGiw731>6=?S|P%t*>%S# z2hDR2ORGzUN`1-)i1A8@doLAYXFDQ2|4x4c&s4V;LX?wz#ie(qg&6eD#0XtE-e_+w z`Lqv;uo3Qm8#p%$VM`sNq`2Yz0jwOKxXoLV_~gqJ#33kV=n-G+*2_fb#cfV)tjYj~ zG5qoHyMd$ZPr@||Ymb@c@4#MJG*XAGH)r2O%-BP zgV9`3#OjOwX4MNakigNIliLZsxXi<)Fxd@v(Y*A%9T#RJ!UVgLygZA){OY%2ST*j) zTmy#bg&rI%#bgr=5 z(GC)Zg*?DPdu=(SN8;~v2}Ks{O;g}eltXX9jK&8xj);=FHDA1}f6cn)I;o%>j6v|Q zp7B}(>1O`Nj-(G?I7)+?Xw|0X%9EUDVxl%j?!MlV>-k4tD`Z1#y#O5>>t}bosi*wv zmAXLD3q1AFnNlD4lyk*Y2OA7qQ5*$isoO++Cx?*HACia;0_kwYwo#Kp=s<-0hpNRj63_Lqn~PGcEii3?@4-@p{l9tKdd z*k%kVf5@eGVa;-qXUWPoQT(A*7 zwCihf2~)ORej#eI`wLl*Spi!`pN_eMAj8GS*@7d()r0SuTH5)<`5u`%$;R@obEBT5IKfvE7WSN{59MWk2UaOw(@{k0~=7K=3~NH`B)yZ5o6 zG61`rHL`i|#b{8c8{;;=Q#qkq9u5 ze+)}J=uSVL{genZS;G8D$9oLwkg|wdJ-fG7B8cIsHTC6;KHqzDb+@CL!D^_!eO(L& zc-8$9i9RcBK@S3U*&8w^0ug}e6|+UTB~y^<6EYsp1>QCyKg;RYDy8Pd_l2VQjR$N_ ze>uB+P665|$z&Qff-XY70HMeuo zC}BK9Cd||v#|PA2TSdb=`duG9RGb^L!lmoWx-vyZ_Wue>NbI!h#`3FyDh1*9)y(+V zRvIPtcI@%EdBlTn`o>A0mf3vKB-Hp?&T8!oHcNcVKLHM*jg;XnF4V+D*Glv?x^Bu4 z@cc-NxMnLf#Mrs{&dnx&fw1c-Z!ON27`kOLKY%-Q|FH$oimVctILE1$b?qPDu%Xua z4An^M8hKhSAHG*`*RgpEM~u+D#Rr5jaYZGi?VJOspjFJ1-xhA3^*yK8@MMsA(FuHr>egi0FXceJ2@0KH3OUhZt)jH+|Z*Zh^iT7M&w%nKSh5SP9Kcq z5eoo?us*|MgM~Djed)3|=rj|Re9tLhu~rwv&LvO`i6ei*EP(0;W)Scy9$~=2*j*sk z;0tYz3w>vIo7d7lGT0t5meS&^jR-3=D$>%cC-4X3!H?@DhU=9R%Wi@L^91R^4sZx| zcUJ|dG%bltAYCFK^Xx!3KCVJ}H+hU#EnIt1&Vq0(=$%8(;|A%Q5e5tMqvXcDh02x( z7geLdvp%Dm<<`GJ`H@S3V6_`T_dp2DVi6y?&h%$Udn)F)xxz%wG;r8DrowQg{iDH` z3pp+^w21*A4!f=CPWOGAv_70bMQ$tnLh74fsmL;85Mv_+^ikX7@yX22MyU4;Auvsc zQM8|p)1miWsMkT~%ew@W?!TAo_F>7OhtpB$ri=386fbQMV_N^<8~R)A71a~PGGggy z6GJrqs&86^FYlwQR#4*a$K(TCFzj6g)o3MBx0h<-+D!sRMp3}uO)1w&U%N_}83YgI zy`zhI3au2hkpPjc>p~GZ&NAbRS_*jii;Z#;W=;!^i6k?4I*KHfT6Q~mA8nkZZ&136 zF5gAGLqp)H>;f53c4yVCdhedmjc%VGfk1Ku@)0irCVB2WmKd(})QShSpbg?hNLCMD zJM5za_?|Bb-x>&&YbFs7?ZgNYmD3}62cJm1@Aav5$tN zcmyJ7>ZWkBa{j%nPv4B)cCd=Ki6CNedGb3c;H}CY4PqM0Mr0;kE|De&`U1}3j9)`< zqzu_NclWF$=ySs?Q7{hnK@AY%+)NvKZx(7_Xp#>~Rubc|JTFp=dQjxw>ebNiy$|83A(-(uq zj{Fl5$~*fyRx(gDusI~gp|8c>yZ6>?BB10tm!V5(`P(1{eA!b?-Dz|e(a;J36OQEW zPsjFsGWp*mRA`|K@$4rth6L`9q-Y^z0X4E;WN7@@riQBM2&g+2te9-8Y#J8i6JFHC zuVck#o8u3P=J>oouZRSsyMH@>@#|x}6FdNSfz_EB=WN?(&c4A&Yl|&J{N*Cmaafyc zko**u)uj+M$yzJAYm3o-e+Qh}8`I18o%s>e9Fx*CTP`q6!?FP1Rkc+<<@HAB8yj@2 zrY4l-2UP|9Vi)Ct1t1NT|EmJ5i``x)M;-^_n&|OG6U#CfNCsb`-Om&MzPi*%%6l8` zuSStJAN!n09rhrg4hI_K;B&aSIGV>PU=KD~zhD z2EuXNU`uAxI?ssDM{Z97VeG$ee6#{ZX(h}}NZzatr5_tl-h3qHa4C?dAFjzrRJmGu zMnxp{5w?;amd#NL4n+F;Yk7er<7tpoy{N5a>*bVWNNFgILlJImH1><*CXSB*#Jhw6 zA8%UT9Uw&X0I(8qzLZIDvP}_#^=QMa*^ZE&aIgFk;R7X$PA< zA9&;}ZTJanKt2WlH~xkVp#-ZTt#QxZ9$=l2G0b=?)!|KAf2=OJvsB!esc{=Gp*$qd z5HQg7Yw@j*1{TPZ9EhEwK4+~(W?8%{^F)LX&vBRFB_~hwlc#=*umdS^{{P4apmE{j zv&E=~U-3joF6J-{^vUaKzoKEQ^-ZaF z9yRdM`8_|#0urSm7<30Rx$sE@I*Bk&{&p_HR9jPS>5-XIC9k#Ct*WY2qI6r2NTOHh9dYdVLCwOQvBBrHlJw{d^zd-5Znt20G zh29nz2g@ep=2tG>)h9s#+n!Z>SFbV|pXz;p@;;2Uuu)K+cHFe^i*FY_M6DK>_nNcb zybHL`?-!`1blpYZI+rv~OH<$xV^kl_#8X0WyUy$;U!f?d@{{d4R8UtiIHK)8u;3&; zGn^>4iLh59LD(pk=8}AS1H!gRq<3?QLnHR>#v0e@L~sR=Z90!t&mR6Lhv8S}G!~~s zC!lptH6SMK1wkJBP!A2SFbC^Jn00>GS7nBu6`&-$5Q>yj!OCs1qK*E}vrQ!aERsn{ zawnxS!$!!fa-Dq(-Ej@tnTePQ09ge!Pq6?ndu@I$0h4(2IsmCRfvN!LfXX#0Fw#AF%oFg2b~Ca4r3AovWJ*#)dhQ8ucFY2NDw?K~-X=*I zMhpiaOq-9oEnxG4b+3qNuS|gh1bT9Ye3^eQlCg&KP zKvxGJ5f8;_nD8Jlq8sz++>>*K`x-~1C>=_+-g%I~aQf8ybqz>k)~O|jjiAEy5%+39 zzVx!ZJqA&Gtv=Q4=e^?S-B7#2k%A#JhC6|E9j}lc~#p`7r_=A zi9Z|Bl<@n(#HTmL^#o39+s!#xQ_~bXhG>sN2gz(*$>4g+<_tbHuUH zJh%;rfZD(YolQKOe$e3C8KoSB$A6b%uptS68{vS zEZe&X!{?}6)dk=#m&HAfgA@(he=2;59jGU`{>vOobs*7c#@8iEv}3kQ^=rSV11fbMIS&yH zG-H_mmL-^hFRuDXp>Ia+0lfu_uC(;>2pDIx1g$ShelX-i>QsS#woiu~-}YvWSx6t@ zIxj+)fU3Y<%ZyDUdPS$Ar8jrrSgrm9q!r(~D#7^gJ|r|k&?#Vwd*`m615hEYZg5No1DCj8Gf4)NfTA7)Jnl|@FvH+*`hp}A z19%!-h1IC6gV-QNY%VPGfF_(dKsqe)-YJKjwpcM?)-xv;JXaX+3u=YIk9lo}<+ z_qj6zS{ZsJ!HxgRLx*Iagq$9*Zi|*HNO>H*g7do)(X|UWw#yn=U)R>S$ap(EhAkDz(IrNcQCMyDS%LiS%9L@Qb-Nbw>>*y%m&q3a5c^v%7#& zh$JyI31qf|2<`rj&sAjT(-+>C}UrfmBPqq71Ip;NaS(GQ0-i*?@ zo%5qxtlkF~A>$lv<)Lp5wO@}nqEaU@p-*Eq?(VVx+UoqRuI9SN5waI$kNIrb!{|Je zkZHEyP$i?;PR;lxem_VW5?t?18NvkH5$K^baD1X(R{cs#0WU4smVxh0O}*W=;5h*e zC`2kV7+aYFGX9-DnEBsFd$73a^z$2FIPrM;|({3-XslE0EE}KBpPFe$Xjy9^F`aLUka4dwd+lA8}KPF!M#kT}}U_ z>0u(z>Iqdkk4WcOUGa&d%fc0at({9hA2vbbccI9}*dma0llyE{brFGed{~HedF>yE zFp*LgpjzRoQ`7-8l6pE=?|T+9&oSsb!FRRD;m2S8$lZsvxs;R2Po z%NxH3gK}S~=HDj)-V22qYF)FgT2jyVR?rZarrCST1W>6ac`1SYo8t_u4vSNV|A(6M zQ|Z=RtPbC!nJ}YOa0{qHO>kdSAln&5co+Mx2Csga|4aOi@~s+*Fp{8)>#6B+^L9>O z-QW}WrfiC=%}nvRzv0~2KCL30z;;cS z-X?FeLRb%YJu`&qv}5(hr+7)d1i*JF)DeEw1wtiu z+iT)?bVOz9ly^6fG>ovc>^z3kfTFs(nT<3$S(o9Y*9IDqYwK05m);*&TR0cU zl%ZDdY}MQ~F;GebY$!X!*g}sNu7$s3Qk$-vasC-8T&+6lmj?-<+R(-p#Kqa64^v71s!}FY5Fkc z^!7TCp;OR{q~;mz(U{@_3#C$dl4)>iWzTM6^Rzsh7xXjLRHZ$Ih9zl@C_rZG&1#%~Sg50e z$nR+6OHbLw-TVY{J5Xq-L({`z`1(1 zi^UOMku@fLCY#*D98w*Ejb>AndgCV!gQSEfWklskH7cae?F|;(%4^{I9G+@Rlq&VA zTQbL3*e*~6&ChPg5`_8&ZIl?KemJS%KmfnPKyeteR4rf>)280v&U1nywdULD2FNce zWI2G+Zw~RL*81y+j%hM@Ct^Wmv=xM5h(<2g1TnjZ6f<$s1FZ01=Vy0{|Cz_icS!yOJHr*HX$g$D-;p z6e$t;`}wS+a$|<0KZPrYwZjN{|L59PlD?ZO1_tw_^3f66zk1_%oc-BYYTR7=dD*;7 zjDuOBAWM&DG{9;ZF2^h_1jdq_t5ZCuIVQb0Od3urawLKH^di9yq!6-HDQF+0WP_~- zj3fSc*{&m@qyp2g=!(zprAJ9}FzJ7`*XJVJv?#xK`V!`ttzV9*luKd+J>ua~LZfVM z*x=WU@}VN76jqpgGn^-HSOh)dLJ^biXbnG`tjMS^4G{C)JE$VaAcP8(VTz6Gb%N)Z zZy_+Z@#9|9T+OTf6cGD;?Qb9xl@6@eKkz!JU1FbY?Wy7WQAoe2grEqk-3N(C)y*1N z>G_54UHOvtObi~Na$$C}=Q?fPrd(fwDuO$q(_w{f)hXPhM#CoM6J-Rn1jy!+|H<(A zsSplp{(O#t;4h*pMUJdD;Asf+)1?M5s9r=Pz-DJsr{S%FdYk!SSzL9+<y`Tr4>y^*F&1D^2AqX8EHK42? zXB~lvj*ud6#S*rNUncR&==;DqjWBB@s5KRH4K-xNI#DX%XUjyvwl25DsD};8eE07f zG7Q5ubrTQ(3=G49U;Wlh#;A{$gd&cAC2A#7R>2N&h!9Xz$5ty3+rYCKS%O{|hhkLw z2SgFwn%JibvIhl$yV(Ej_M!v?o|{)aih=LVDJ1E_zxE<5dT}@ykAswANt~&5o>vdK zyVGv+a63ikY~8ENO?Sq%=K_6@e&<-8lf3ICLZc`ZOgVNQIqeWFc>B`N!nN@Ol9K^R z2KBcC=E8pgMhXN%PS?3}x`PAOSO(+NN@6S>mVRi-=a#}`W`dNzl-N?>vpJ`3CY;Pe4Wr?VQK-It%upie>W`zj)CVTQ z=!t@-=ti&4;A)EO+@My^QA0hvZv-d{v$&Td905;g72-uRza=en#lmb?yqo(!A($sa zm7W5@Ff7Noh3n&#s8s2~`{lb2O|I^7_FcQFIkHP63?Cr)oxc28C@wdVcC1-2*T=UJ z^&RwCi0M!xRS3}K(ZvckL=>cf7nQLdOrv$~g;Me$zvdm0FS{w#`~7hSqT2@Ljih1_ z_s9-_h7L)6Fm=bSqB@fMbVbQ6K9P_2G?*dwyMdLf0v86i8yfZ{_q=b-`(m9i@+UR( zGnBZggI)o<{V-Ha4-hgCzsVZUc|x~?n_o%R+N?nTH{`$z#f2vVrgLarnr-}MK+SO) zZ>uPicW0tD2AgxR0|1w?>>A)_g#aCxfAlDOU;jfp%X{9h^-O*+3; z-oi|JO;1B+=iLg19uStUP!?9qT70D%LBHU(uy^p(3wiL<5jsysCYJ~bpK@dG^e_}{ zL)TjD1Npe~kTAVfPZ>mAB{+>q8QlcY8nltzs8W9css|$q|1JA{Pn6L2i~p|aj`!1~ zIoBTI;&?*MtXh?0g(uCvac`0eGV=r<36UZybAO$T0eTM1ZrJVsY9%q2TzcieW58-j zyzuP!8gov@IoDF>e&!gqTKWT@qW1!$ynj+zv(-VL)oU_1FO0HWsoImKQkoIZl&58~ ziNX*W=B74k!VI)}qld5KvwxkP3SIeS;E@3#6u5c?w@=w5InPqIE}jl~L7KXI*K{k7X%_WZf;icNTo(Cfr0zh`A*qbn_bn&0S3p<4Sh#K;O4X&- z^0^VJ74@D1oSYIk(GWLo0|gsQ2Sk!!=5%g!%~TzK8!{Fp-o6O#tn;IlPvkk4g)RwwbH*JK|{p?e+q6lW(3x(e`=U-(o<)0M?I}Lwah9D`NL|Y<8nqke^$=Z{&Z7`xA#Ml2Ua4HmUV?*lZ zT49Ye9m3k0 zSG&k+d_^x+M<*?twga0{jY?*{GQ%4xA&eMrbMPWdustH(^R*=f1Kg{>Lm>I*xu+#Y zi9ULvC^7!X*H%`M5mRCR(-9;?kb7^w4bsZ*NMg|%Y&pe|@nX2nz7}s(f1ZS=bpI}fvl-k5 zi_utRycOj3p28IrWzh?N>yXI@kQROaL*OCJJi6`zLX6pBnf7amD|{5%f(pH&K(I{( z9!H}1#c}Hh6^ahVuel(v!C4XRo*szcD_O_&juEICJf&<% zJeorS6ZtA1xop|iv{qg4zbgS;$;Ji{#!#$EmWE=QOswSNJb9_6bZ zUdC*xwZ$4E5)8*I{-0I1!qvxB$JS)0DoYi1GrVaS*QJaCvIA(Tj(%Nr@92NF79|Tb zlzKYIp|cji4>m4Ob#kYiaB?A3uTr}VbS-oBvc7aTWN>>eXDkq~)*hW3w3P&apxL}ei6mH(e+<` ze%%0Axg%63*ed)P5A(F80sjW$iB1JMP4i<3K|{$hHaHNTJoSK4z7y2<#vyfopp=txmp&(01_J) zUnRQNu7~&m^ zCd;_IqQxcS-ca5a5b&w5p`UM%cW!{Y2f_aAAN9(J!jvLg{I(p`%7>Ja`7nXI4?>>l z!zJZ^o4Vr11oT>DHkxwl14;)ZWE#n_9Z|K(9Q-#FWe9rQ9OzTy4s3%wGTD$P{RIdP z_}`*l(Gg5l2T|Sg$H+qnTiU4&Tc5b;Mcrx#AZ!*9&50^GZ|8<+EFy|(ZS{Cq-`x*Q z!j~#>tu>ME!z?a41%$G3>tFew!W^?xxFU6iY`z(7AKg%0t)>eL!%zgG9wL(B+xEX6 z%8#)_kw&}^2BkueSJ+_d&R=`ECd}}&_acP$naadQ6t!JzXpjzq&Ca>2LEDNO*(qh0@7o+P=I~X} zsk52qr2X{Whoj1My1m19_8vs@YE+rpi_a?{`2r9Y-i+SW%$J^8c#@yFyD~k z;KJFn@LCYmsjSM+-(X+iu&x4UYHN!b2HU&;2q8K1UWvmDo6iAtkk;5}i@LZYQkRdv z0D)e^?f(21OW4xmJbq675-%7b65d?0X~FHc=X?>8iRVbkY~@*a2guVIsC=gYlz|!r zOwz5kZw$#}^b|7jFT7IN%ZR2wtG9~mH#=r8)mtKls(mD!YtV( z59&Qi%(mYn=4;igr!&g`Oie&KoU{`|`6vbWxvK?13LPzTIv@P?N>@J;U;X@y6{t&?3m?CE~q9>nG;LwHXd8R5MQ!qEpYPqryXgRjfmvs1c z3fFG%Xd;gESsF)X4h9S!br%J02?j}Z6a63cJi&;$k2@fQT-TN?W}k$11%=T~ zJMff|*e@JLd+fGEj-f%};`JOz5bhBE?uK)x_B@NaCH5{9{*a~4_M&Gv$Pap66LSfp z?xbBl6~^4-`L%i4*cRewP`K^l8&JXJpjFbH0re>~-ztTu2kWKDDToU^12(%sS3b|X z>vLP1U8(vz0UarScnKu{sNAR~UAiia8lCIC9xCbxn5NG2*^AC1ErcG_k2BX1HZgDm zDS>`R?H3Dm5=*&zI)G%rC=St|`0EdVpIf(aO98tnQ$s{m3$x4z2VY`6uKlSSAYJW> z%~1hdX$PU1Rhb6(utOxS3`(rPz;83*EKPVV17ppq?Q2$!xWY5MpCk@UM>K;a9AiqZ_KHg_BO_VL!kn84|{Zr65Idc=PGW5 zvT5}3Iq6QS+n@SG`DzL5^ULH(z#(A8%~s^Sv`!9QECTvhMhv+ht!Y|u zZkhjo+4TX|?r#iTd0jYeo2h@sxKEd2?@WoTtW|=v56g&uTzVbYNQjKVN4rVTSx?l| zkvpfz+W$GlrS{bD`I3B-xK147y6cT9J@E`nhUsy>T{1jNZ_D<7F)pbSbehxvt92HD zr>~z7XI=+!=?id}!wmVBhhxHmc<``qkdbucbI>VGb+7X&=d7Z^#a`0j^6I zZk8h_3z{p|K7$b4_LyZNWZ&u}m2bmC%B8zW$jhJIKQkyfHoQV!JGCH^nJb5 z@4>l4g?Ss`y6^7`{Xv0@DIUi#Ok)qiXfN4S8~Ob`Z5RigH*+8<8OweWGK`l$Od|^`y(&J)z6=qJje(LiBEwqw)XF=9AHesxRZ$oAc4!S0nU+}J%m8!H$6gvP*?GrCG<&bMrLN_GRsC^ zd!%yFo~+8DWP$Mue2m`M{2mdScL;WE3wTc=(5v6!VRbhXtV4*;i61U~6i8pGx+V$M)mw5eW`-#jY4!Gm`HsVqiR>uj zr3MY5JuMZn>V7|XNyt28?V-pEBEgaPcsr6unx^Sb1c4+ucbOn4Yni;sJvkBv{El^| zHl_Ou9sz>sGRd~39TNbF3P#Jqb1ikc8tev`@hfkiy`$FJu@a)vfpmkj?QIN|lWS*Z zA{OoAF2fF(L{sFt_oO!r6A{;>!MpMB8rA?qAi^5?CNAmIY&==vmTT=(He7h;7YG@v zOsqM2Z>k3_1xX{%+|a&NxvM$*^PW?%)J}CHf+n72f(61FDxEFJS3Wcx{41?E{|`fr)?Q zV$*B%8-oxqmeT~^Ucgg{JKo35xvvv94!GzDC!=m@`(NSH?~|k4Rs$|SyX8+BTu=!u z{tW*jfcGLF=$@F)c)zfQU=e`{=BgN=cqz}aX+OW?@jA(D(2sE_In}0#9m|Ego8~Gt^VtTs3A)-)44^h^Bw4Kg& z*_X7)-F%+~Zz-^xQK65Yr{1a0Sy=9yIFPD78-*_G-btx+c!q!#I zLClPO3m^cv2!G?0m|*f0?N<50Z9p!w_%#|2q*Oc{LyZe_79Rr8*p%kbcU>G>-_j|@ zVXEAPF;yskj25hTREu%SbFL)Ufl<)kP&Y%WmI_x)L;FyoWyLR7to{OYBI$~6qLvnk z+i!dj?!7WIwoQrAYHf4Pp;h1)I8=pAKbYMiPSgX4P1h=CQm4(?KKz>FJ!0HMw@!r| zax{aYl7JLNe;E)Cc-n7Lgs6cPQh|ak2sTmuw%QPh8zrSbhxs&B)HfK|)H(`_#TE5u@dD;v}a#;$GiGvep zRj42Xep1bdM^=HD%6hD~O-MSO@ThOdiY*I%jL2@a+Il_DxPdczSbb4E@kB8tc<$DT zSXJb{iEaSM;vP!d32!P}io^iwuuKiU|C^vET3plrpqcE3>0SUWqk%GfVd&;n^jTFM zU~yx`Wi);Uiqjh%I%>W;hzP z!NN#MMM)>kfat@v(mKY}tkhh=o?Ea0!u+*=77|+;I zch^_da*3oU-U=;frxG?`V~u-hg-P_~qI#}%Q&78A6lJvRbe085NkJzZ*}>tsd{p4I ztw)OrM)SJTpLuY(g>@!mNDkDI!3PEuSERnL|Fz)qFWl}#`SJ8WpI+k~6o`ZP9LvY& z%{dVj_8DAu(;9kr(H5{-?c!X|SyGGM^|qJIuDgNev|&2_IFiH4ZP%^Itz z>TBQM0Z66ziH;kWC=Dc}jnRn*@g`yw^Pq7s{ze(>wYLU6I3-uJK)N7}+u;{oSq?e6 zICJ-&Qd$;Wqe9JD;mDS*8pxuyZqNg1`7H*E#CR^fi51^&XW!X<9He%+MzNS*GKn4e zbQHU5{%a5ePtZGJ+s41QfX>r$*ANM)wyBYyiaUYi<8tsQBS9-AUq(RB{j~fk8$uFNVJ10DOnQcM*p4U3=kX?VLlvY0`Z6b`e^X+*KoFU7=SPeQ8DZ7ypv!qvN$S?Dn-W-K@=p~<>^0)=vT zx6}du<~ywZuB_`mG`yffvO|SwVczp8X;{>9{aPF;)LkRpK%JiWcA9Q)RYQQhKQzuM85wPDjDB3uOZZt?vdr z(V#j0^GGuET5)+dkFpp;kZd1qTCGC-A;JD#6>BEaUPkeNHA9UH_a?qEWR)f<91tIh zkMAplFH?sk0m~-V?)+k}*Vx5D2peL6*ld1_W$5$xOBn0)CIC!6>Mkw>XVey+K+4Kx zwU=>vGV_TZ?oP~&6NA1e=^tO%EFKn6l;)e|O!zeYYGROZdBR~!?z=u3H|IY{Ben(Qe<&_H%~b*h%v#xI)z0EP*LK26w}Y8qY33#*H^Kf)Lw ziy4V{k!8Al*UXd+w#*&R()tibcsyp_5i}u2LXcxO6Bur6NMv(iKN%80s6+rX*@*L9 zy!;@2z@$S>P=?%wYY%&F^KjFal8M}+zlAS^LLkaW*3hΜ~v|+It1q{z)>Y|3U%I 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 z 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⋙9PZgWH3QcJkV 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 z%0A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 z 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 z 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�rWyyG0>w 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 diff --git a/tests/groth16.rs b/tests/groth16.rs index 5f9cd29..f0bc7fd 100644 --- a/tests/groth16.rs +++ b/tests/groth16.rs @@ -75,8 +75,8 @@ async fn groth16_proof_wrong_input() -> Result<()> { #[tokio::test] async fn groth16_proof_circom() -> Result<()> { let cfg = CircomConfig::::new( - "./test-vectors/circom2_multiplier2.wasm", - "./test-vectors/circom2_multiplier2.r1cs", + "test-vectors/circuit2_js/circuit2.wasm", + "test-vectors/circuit2.r1cs", )?; let mut builder = CircomBuilder::new(cfg); builder.push_input("a", 3); @@ -106,8 +106,8 @@ async fn groth16_proof_circom() -> Result<()> { #[tokio::test] async fn witness_generation_circom() -> Result<()> { let cfg = CircomConfig::::new( - "./test-vectors/circom2_multiplier2.wasm", - "./test-vectors/circom2_multiplier2.r1cs", + "test-vectors/circuit2_js/circuit2.wasm", + "test-vectors/circuit2.r1cs", )?; let mut builder = CircomBuilder::new(cfg); builder.push_input("a", 3); diff --git a/tests/solidity.rs b/tests/solidity.rs index c183709..244557b 100644 --- a/tests/solidity.rs +++ b/tests/solidity.rs @@ -17,7 +17,7 @@ use std::{convert::TryFrom, sync::Arc}; #[tokio::test] async fn solidity_verifier() -> Result<()> { let cfg = CircomConfig::::new( - "./test-vectors/mycircuit.wasm", + "./test-vectors/mycircuit_js/mycircuit.wasm", "./test-vectors/mycircuit.r1cs", )?; let mut builder = CircomBuilder::new(cfg); From 0a8d371f88542eeb1976b9421391620a4ae6a6ff Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 17 Jul 2024 23:43:11 +0200 Subject: [PATCH 12/23] removed unused `version` key from `rust-toolchain.toml`, use latest stable Co-authored-by: jakehemmerle --- rust-toolchain.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index a36582e..31578d3 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,2 @@ [toolchain] -channel = "stable" -version = "1.74.0" +channel = "stable" \ No newline at end of file From 704574819407a08c1b76e29eb772ac9107d3338c Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 17 Jul 2024 23:47:06 +0200 Subject: [PATCH 13/23] use stable rust in CI --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 773dd47..9b8be55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: 1.74.0 + toolchain: stable override: true # Install for Anvil @@ -48,7 +48,7 @@ jobs: uses: actions-rs/toolchain@v1 with: profile: minimal - toolchain: 1.74.0 + toolchain: stable override: true components: rustfmt, clippy - name: cargo fmt From ad2a672f6bab81d66caed1db3ab3cdd890873834 Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 17 Jul 2024 23:52:03 +0200 Subject: [PATCH 14/23] inline code --- src/witness/witness_calculator.rs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/witness/witness_calculator.rs b/src/witness/witness_calculator.rs index 17078bc..48d2429 100644 --- a/src/witness/witness_calculator.rs +++ b/src/witness/witness_calculator.rs @@ -115,14 +115,6 @@ impl WitnessCalculator { ) -> Result> { self.instance.init(store, sanity_check)?; - self.calculate_witness_circom2(store, inputs) - } - - fn calculate_witness_circom2)>>( - &mut self, - store: &mut Store, - inputs: I, - ) -> Result> { let n32 = self.instance.get_field_num_len32(store)?; // allocate the inputs From a6cde195f8d42b2d6d86f0cc044057c2d53b4cdc Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 17 Jul 2024 23:56:21 +0200 Subject: [PATCH 15/23] cargo update to catch the latest groth16 release --- Cargo.lock | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ff177f3..318a438 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -232,9 +232,9 @@ dependencies = [ [[package]] name = "ark-groth16" -version = "0.5.0-alpha" +version = "0.5.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ecade223752b57d97c7ca928f0d05baba9b3206d7a9a61cf6855f2eb4762e20" +checksum = "daf249b234502b9f2bbcb4a69480db1aeb9ea69deb9d0f4f91c6843e0124fbf6" dependencies = [ "ark-crypto-primitives", "ark-ec", @@ -506,9 +506,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d08263faac5cde2a4d52b513dadb80846023aade56fcd8fc99ba73ba8050e92" +checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" dependencies = [ "arrayref", "arrayvec", @@ -588,9 +588,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" dependencies = [ "serde", ] @@ -665,13 +665,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47de7e88bbbd467951ae7f5a6f34f70d1b4d9cfce53d5fd70f74ebe118b3db56" +checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] @@ -3060,7 +3059,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.3", "smallvec", "windows-targets 0.52.6", ] @@ -3476,9 +3475,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] @@ -3942,9 +3941,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", "core-foundation", @@ -3955,9 +3954,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -4673,14 +4672,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.15", + "toml_edit 0.22.16", ] [[package]] @@ -4718,9 +4717,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.15" +version = "0.22.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" +checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" dependencies = [ "indexmap 2.2.6", "serde", @@ -5338,7 +5337,7 @@ dependencies = [ "serde_json", "serde_yaml", "thiserror", - "toml 0.8.14", + "toml 0.8.15", "url", ] From 04d75b08a944b719ad7b6e877a13b5729a92884c Mon Sep 17 00:00:00 2001 From: mmagician Date: Thu, 18 Jul 2024 00:02:32 +0200 Subject: [PATCH 16/23] remove deprecated feature flag from CI --- .github/workflows/ci.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9b8be55..5a1b894 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,11 +34,6 @@ jobs: export PATH=$HOME/bin:$PATH cargo test - - name: cargo test circom 2 feature flag - run: | - export PATH=$HOME/bin:$PATH - cargo test --features circom-2 - lint: runs-on: ubuntu-latest steps: From d8d18f8f31d110ac4b734fca004d7b80abf5da90 Mon Sep 17 00:00:00 2001 From: mmagician Date: Thu, 18 Jul 2024 09:18:01 +0200 Subject: [PATCH 17/23] Rust limitation no longer applies; warning about circom/arkworks diff --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7841cc0..3734199 100644 --- a/README.md +++ b/README.md @@ -65,9 +65,12 @@ Tests require the following installed: - [x] Proof generations and verification using Arkworks - [ ] CLI for common operations -## Known limitations +## Notes -Currently, due to an issue in our upstream (https://github.com/wasmerio/wasmer/issues/4072), this crate works as expected only up to Rust version `1.67.0`; in newer Rust versions, `wasmer` is currently unsound. +The prover key generated by circom differs from the one generated by arkworks' groth16 library. While the format is the same, it represents different values. +Circom 'prepares' the powers of tau by converting them to Lagrange base, i.e. from `s^i.G` -> `L_i(s).G`. This affects the witness generation process, and the caller needs to ensure the correct `R1CSToQAP` implementer is used: +- use [`CircomReduction`](https://github.com/arkworks-rs/circom-compat/blob/b892c62597687c23341cda1e8e89d58bb6428f36/src/circom/qap.rs#L12) for working with circom-generated files, +- use [`LibsnarkReduction`](https://github.com/arkworks-rs/groth16/blob/5272c935bda290a24cd18d0a3f994b0af70d5f27/src/r1cs_to_qap.rs#L101) for setup produced using the arkworks backend. ## Acknowledgements From e3bfb8175de5e43c84e30f8d2f1fd262dd9bc24e Mon Sep 17 00:00:00 2001 From: mmagician Date: Thu, 18 Jul 2024 09:21:54 +0200 Subject: [PATCH 18/23] release numbering consistency across arkworks --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 318a438..e8f1c13 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -101,7 +101,7 @@ dependencies = [ [[package]] name = "ark-circom" -version = "0.1.0" +version = "0.5.0-alpha" dependencies = [ "ark-bn254", "ark-crypto-primitives", diff --git a/Cargo.toml b/Cargo.toml index 818cd1d..2a2dc9a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ark-circom" -version = "0.1.0" +version = "0.5.0-alpha" edition = "2018" description = "Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust" license = "MIT OR Apache-2.0" From cdecd2fadd7c27cfa041f8d15ef723093fe09592 Mon Sep 17 00:00:00 2001 From: mmagician Date: Thu, 18 Jul 2024 09:46:42 +0200 Subject: [PATCH 19/23] add homepage & repo manifest fields --- Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 2a2dc9a..719a2c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,8 @@ name = "ark-circom" version = "0.5.0-alpha" edition = "2018" description = "Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust" +homepage = "https://arkworks.rs" +repository = "https://github.com/arkworks-rs/circom-compat" license = "MIT OR Apache-2.0" [lib] From 83b30618e2f32f148106697024236c6c457f3696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20P=C3=A9rez?= <37264926+CPerezz@users.noreply.github.com> Date: Fri, 23 Aug 2024 19:21:18 +0200 Subject: [PATCH 20/23] fix: Wasm compilation for wasm32-wasi target (#74) After forcing `wasmer-wasix` to use the `js` feature when the `circom-compat/js` feature is enabled. As well as forcing `wasmer/js` and otherwise, `wasmer/default`. The crate can now successfully compile to wasm. Resolves: #73 --- Cargo.lock | 456 +++++++++++++++++++++++++++++++++-------------------- Cargo.toml | 9 +- 2 files changed, 293 insertions(+), 172 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3dfb8b0..8697f61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,6 +27,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aes" version = "0.8.4" @@ -76,6 +82,21 @@ version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "any_ascii" version = "0.1.7" @@ -161,7 +182,7 @@ checksum = "2b9052772e97bf7787afc79340c435f62fba71807edd6ba5b9f1ec67a59b72bc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -214,7 +235,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c989d1176288a7a591c662e16b98219505366bf48ccb5efa27984748d31b785f" dependencies = [ "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -227,7 +248,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -296,7 +317,7 @@ checksum = "95905921bd063ddeade5b8b992a6ee509d47c765abcbd38e70c71af1c61ee2f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -324,15 +345,15 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "ascii-canvas" @@ -351,7 +372,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -393,7 +414,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -412,7 +433,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -435,6 +456,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64ct" version = "1.6.0" @@ -506,9 +533,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", "arrayvec", @@ -538,9 +565,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", "serde", @@ -588,9 +615,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.6.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" dependencies = [ "serde", ] @@ -627,9 +654,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] @@ -665,12 +692,13 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.6" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -685,7 +713,12 @@ version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", "num-traits", + "wasm-bindgen", + "windows-targets 0.52.6", ] [[package]] @@ -824,9 +857,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "corosensei" @@ -843,9 +876,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -980,9 +1013,9 @@ dependencies = [ [[package]] name = "critical-section" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" +checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242" [[package]] name = "crossbeam-channel" @@ -1129,7 +1162,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1151,7 +1184,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1242,7 +1275,7 @@ checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1295,9 +1328,9 @@ dependencies = [ [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" @@ -1328,7 +1361,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1429,28 +1462,28 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] name = "enumset" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" +checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.8.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1605,7 +1638,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "syn 2.0.71", + "syn 2.0.75", "toml 0.7.8", "walkdir", ] @@ -1623,7 +1656,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -1649,7 +1682,7 @@ dependencies = [ "serde", "serde_json", "strum", - "syn 2.0.71", + "syn 2.0.75", "tempfile", "thiserror", "tiny-keccak", @@ -1818,14 +1851,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -1848,12 +1881,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -1974,7 +2007,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -2121,7 +2154,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.2.6", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -2213,6 +2246,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -2341,6 +2380,29 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + [[package]] name = "id-arena" version = "2.2.1" @@ -2436,9 +2498,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -2471,11 +2533,11 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] @@ -2506,18 +2568,18 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -2596,9 +2658,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libredox" @@ -2608,6 +2670,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", + "redox_syscall", ] [[package]] @@ -2744,6 +2807,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + [[package]] name = "mio" version = "0.8.11" @@ -2916,7 +2988,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -2967,9 +3039,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -2988,7 +3060,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -2999,9 +3071,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -3059,7 +3131,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.3", + "redox_syscall", "smallvec", "windows-targets 0.52.6", ] @@ -3128,7 +3200,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.2.6", + "indexmap 2.4.0", ] [[package]] @@ -3171,7 +3243,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3209,7 +3281,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3276,9 +3348,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "precomputed-hash" @@ -3293,7 +3368,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3401,9 +3476,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -3464,15 +3539,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.5.3" @@ -3484,9 +3550,9 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", @@ -3507,9 +3573,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -3665,9 +3731,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" dependencies = [ "bitvec", "bytecheck", @@ -3684,9 +3750,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.44" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" dependencies = [ "proc-macro2", "quote", @@ -3888,7 +3954,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -3991,9 +4057,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" dependencies = [ "serde_derive", ] @@ -4021,13 +4087,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.208" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4038,7 +4104,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4054,9 +4120,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -4079,7 +4145,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "itoa", "ryu", "serde", @@ -4137,6 +4203,12 @@ dependencies = [ "memmap2 0.6.2", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -4351,9 +4423,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.71" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -4406,20 +4478,21 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.15" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4583,7 +4656,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4608,9 +4681,9 @@ dependencies = [ [[package]] name = "tokio-socks" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0" +checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" dependencies = [ "either", "futures-util", @@ -4672,21 +4745,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.15" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.16", + "toml_edit 0.22.20", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -4697,7 +4770,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", @@ -4710,29 +4783,29 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "toml_datetime", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.16" +version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" +checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.2.6", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow 0.6.18", ] [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -4754,7 +4827,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -4906,9 +4979,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" [[package]] name = "unsafe-libyaml" @@ -4982,9 +5055,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "virtual-fs" @@ -5156,34 +5229,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if", "js-sys", @@ -5193,9 +5267,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5203,22 +5277,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-encoder" @@ -5329,7 +5403,29 @@ dependencies = [ "bytesize", "derive_builder", "hex", - "indexmap 2.2.6", + "indexmap 2.4.0", + "schemars", + "semver", + "serde", + "serde_cbor", + "serde_json", + "serde_yaml", + "thiserror", + "toml 0.8.19", + "url", +] + +[[package]] +name = "wasmer-config" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b4a632496950fde9ad821e195ef1a301440076f7c7d80de55239a140359bcbd" +dependencies = [ + "anyhow", + "bytesize", + "derive_builder", + "hex", + "indexmap 2.4.0", "schemars", "semver", "serde", @@ -5337,7 +5433,7 @@ dependencies = [ "serde_json", "serde_yaml", "thiserror", - "toml 0.8.15", + "toml 0.8.19", "url", ] @@ -5444,6 +5540,7 @@ dependencies = [ "bytecheck", "bytes", "cfg-if", + "chrono", "cooked-waker", "dashmap", "derivative", @@ -5452,6 +5549,7 @@ dependencies = [ "heapless", "hex", "http", + "js-sys", "lazy_static", "libc", "linked_hash_set", @@ -5485,11 +5583,14 @@ dependencies = [ "virtual-mio", "virtual-net", "waker-fn", + "wasm-bindgen", + "wasm-bindgen-futures", "wasmer", - "wasmer-config", + "wasmer-config 0.2.0", "wasmer-journal", "wasmer-types", "wasmer-wasix-types", + "web-sys", "webc", "weezl", "winapi", @@ -5527,7 +5628,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ "bitflags 2.6.0", - "indexmap 2.2.6", + "indexmap 2.4.0", "semver", ] @@ -5554,9 +5655,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -5564,12 +5665,12 @@ dependencies = [ [[package]] name = "webc" -version = "6.0.0-rc1" +version = "6.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fc686c7b43c9bc630a499f6ae1f0a4c4bd656576a53ae8a147b0cc9bc983ad" +checksum = "fb3e2ccb43d303c5bd48f31db7a129481a9aaa5343d623f92951751df190df81" dependencies = [ "anyhow", - "base64 0.21.7", + "base64 0.22.1", "bytes", "cfg-if", "document-features", @@ -5591,9 +5692,9 @@ dependencies = [ "tar", "tempfile", "thiserror", - "toml 0.7.8", + "toml 0.8.19", "url", - "wasmer-config", + "wasmer-config 0.4.0", ] [[package]] @@ -5645,11 +5746,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5658,6 +5759,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.33.0" @@ -5689,6 +5799,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -5851,9 +5970,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] @@ -5909,9 +6028,9 @@ dependencies = [ [[package]] name = "xxhash-rust" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63658493314859b4dfdf3fb8c1defd61587839def09582db50b8a4e93afca6bb" +checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" [[package]] name = "yansi" @@ -5925,6 +6044,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -5936,7 +6056,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -5956,7 +6076,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.75", ] [[package]] @@ -6000,9 +6120,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 719a2c4..5465c50 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,14 +6,15 @@ description = "Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness homepage = "https://arkworks.rs" repository = "https://github.com/arkworks-rs/circom-compat" license = "MIT OR Apache-2.0" +resolver = "2" [lib] crate-type = ["cdylib", "rlib"] [dependencies] # WASM operations -wasmer = "4.3.0" -wasmer-wasix = { version = "0.20.0" } +wasmer = { version = "4.3.0", default-features = false } +wasmer-wasix = { version = "0.20.0", default-features = false } fnv = { version = "=1.0.7", default-features = false } num = { version = "=0.4.0" } num-traits = { version = "=0.2.15", default-features = false } @@ -55,7 +56,7 @@ name = "groth16" harness = false [features] -default = ["wasmer/default", "ethereum"] -wasm = ["wasmer/js-default"] +default = ["wasmer/default", "ethereum", "wasmer-wasix/default"] +wasm = ["wasmer/js-default", "wasmer-wasix/js"] bench-complex-all = [] ethereum = ["ethers-core"] From 7fc7ff3360efe4500bff328b9da099822145e3de Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 11 Sep 2024 07:08:36 +0200 Subject: [PATCH 21/23] ignore cargo.lock --- .gitignore | 1 + Cargo.lock | 6129 ---------------------------------------------------- 2 files changed, 1 insertion(+), 6129 deletions(-) delete mode 100644 Cargo.lock diff --git a/.gitignore b/.gitignore index 23997a4..4ae3942 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /target +Cargo.lock *.ptau \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index 8697f61..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,6129 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli 0.28.1", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "any_ascii" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70033777eb8b5124a81a1889416543dddef2de240019b674c81285a2635a7e1e" - -[[package]] -name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "ark-bn254" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c662c88acb89e9a9fb4c62fc5f6f102d9e1cfbd7bb6386cdb872b52a801fbece" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-circom" -version = "0.5.0-alpha" -dependencies = [ - "ark-bn254", - "ark-crypto-primitives", - "ark-ec", - "ark-ff", - "ark-groth16", - "ark-poly", - "ark-relations", - "ark-serialize", - "ark-std", - "byteorder", - "cfg-if", - "color-eyre", - "criterion", - "ethers", - "ethers-core", - "fnv", - "hex", - "hex-literal", - "num", - "num-bigint", - "num-traits", - "serde_json", - "thiserror", - "tokio", - "wasmer", - "wasmer-wasix", -] - -[[package]] -name = "ark-crypto-primitives" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ed5da133cbc7e9371314b9ba947c3cd853ee2c3f2b69f7c9fbdd06f531c5b0e" -dependencies = [ - "ahash 0.8.11", - "ark-crypto-primitives-macros", - "ark-ec", - "ark-ff", - "ark-relations", - "ark-serialize", - "ark-snark", - "ark-std", - "blake2", - "derivative", - "digest", - "fnv", - "rayon", - "sha2", -] - -[[package]] -name = "ark-crypto-primitives-macros" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b9052772e97bf7787afc79340c435f62fba71807edd6ba5b9f1ec67a59b72bc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "ark-ec" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfd2059d3f93e1e1d6895f0d605e5f5a256fe8aeaafa3e4f0fa49812daa151e9" -dependencies = [ - "ahash 0.8.11", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "educe", - "fnv", - "hashbrown 0.14.5", - "itertools 0.13.0", - "num-bigint", - "num-integer", - "num-traits", - "rayon", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66c882014dad87209b9c504b3d74d786be0c33bab9736d2596583255d52cf4c1" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "arrayvec", - "digest", - "educe", - "itertools 0.13.0", - "num-bigint", - "num-traits", - "paste", - "rayon", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c989d1176288a7a591c662e16b98219505366bf48ccb5efa27984748d31b785f" -dependencies = [ - "quote", - "syn 2.0.75", -] - -[[package]] -name = "ark-ff-macros" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9fbc6fa5c2cb1936287236cc76572f773dbfb5df5dd814386b180e668904371" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "ark-groth16" -version = "0.5.0-alpha.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf249b234502b9f2bbcb4a69480db1aeb9ea69deb9d0f4f91c6843e0124fbf6" -dependencies = [ - "ark-crypto-primitives", - "ark-ec", - "ark-ff", - "ark-poly", - "ark-relations", - "ark-serialize", - "ark-std", - "rayon", -] - -[[package]] -name = "ark-poly" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66c85f512876fd2b8763fcb0c045d2819bbda24b6020e6a893f15985d6d1ccf" -dependencies = [ - "ahash 0.8.11", - "ark-ff", - "ark-serialize", - "ark-std", - "educe", - "fnv", - "hashbrown 0.14.5", - "rayon", -] - -[[package]] -name = "ark-relations" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8805794af93c9540d28f8bf1f40fa0dac8704ca0e54f508dfcc28466f130a" -dependencies = [ - "ark-ff", - "ark-std", - "tracing", - "tracing-subscriber 0.2.25", -] - -[[package]] -name = "ark-serialize" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48a69fbd004ea7b7fc8946475495298341e961381d33dc5c89c112cdf319b11d" -dependencies = [ - "ark-serialize-derive", - "ark-std", - "arrayvec", - "digest", - "num-bigint", - "rayon", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95905921bd063ddeade5b8b992a6ee509d47c765abcbd38e70c71af1c61ee2f5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "ark-snark" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01684c73c36ad4a307517c0ad1872686dc403b351a96af657723da33d7549e63" -dependencies = [ - "ark-ff", - "ark-relations", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-std" -version = "0.5.0-alpha.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fd37a4e913a2fa8885035d8ae16b73f79e76db9c236c4275658b58580b47f03" -dependencies = [ - "num-traits", - "rand", - "rayon", -] - -[[package]] -name = "arrayref" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "ascii-canvas" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" -dependencies = [ - "term", -] - -[[package]] -name = "async-trait" -version = "0.1.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "async_io_stream" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" -dependencies = [ - "futures", - "pharos", - "rustc_version", -] - -[[package]] -name = "atomic-polyfill" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" -dependencies = [ - "critical-section", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - -[[package]] -name = "auto_impl" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "backtrace" -version = "0.3.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide 0.7.4", - "object", - "rustc-demangle", -] - -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - -[[package]] -name = "blake3" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq 0.3.0", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "sha2", - "tinyvec", -] - -[[package]] -name = "bstr" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byte-slice-cast" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" - -[[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" -dependencies = [ - "serde", -] - -[[package]] -name = "bytesize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" -dependencies = [ - "serde", -] - -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "camino" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.15.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "cc" -version = "1.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-targets 0.52.6", -] - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "bitflags 1.3.2", - "textwrap", - "unicode-width", -] - -[[package]] -name = "coins-bip32" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" -dependencies = [ - "bs58", - "coins-core", - "digest", - "hmac", - "k256", - "serde", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-bip39" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" -dependencies = [ - "bitvec", - "coins-bip32", - "hmac", - "once_cell", - "pbkdf2 0.12.2", - "rand", - "sha2", - "thiserror", -] - -[[package]] -name = "coins-core" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" -dependencies = [ - "base64 0.21.7", - "bech32", - "bs58", - "digest", - "generic-array", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2", - "sha3", - "thiserror", -] - -[[package]] -name = "color-eyre" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" -dependencies = [ - "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors", - "tracing-error", -] - -[[package]] -name = "color-spantrace" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2" -dependencies = [ - "once_cell", - "owo-colors", - "tracing-core", - "tracing-error", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "constant_time_eq" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - -[[package]] -name = "cooked-waker" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147be55d677052dabc6b22252d5dd0fd4c29c8c27aa4f2fbef0f94aa003b406f" - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "corosensei" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80128832c58ea9cbd041d2a759ec449224487b2c1e400453d99d244eead87a8e" -dependencies = [ - "autocfg", - "cfg-if", - "libc", - "scopeguard", - "windows-sys 0.33.0", -] - -[[package]] -name = "cpufeatures" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" -dependencies = [ - "libc", -] - -[[package]] -name = "cranelift-bforest" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2ab4512dfd3a6f4be184403a195f76e81a8a9f9e6c898e19d2dc3ce20e0115" -dependencies = [ - "cranelift-entity", -] - -[[package]] -name = "cranelift-codegen" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98b022ed2a5913a38839dfbafe6cf135342661293b08049843362df4301261dc" -dependencies = [ - "arrayvec", - "bumpalo", - "cranelift-bforest", - "cranelift-codegen-meta", - "cranelift-codegen-shared", - "cranelift-egraph", - "cranelift-entity", - "cranelift-isle", - "gimli 0.26.2", - "log", - "regalloc2", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-codegen-meta" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "639307b45434ad112a98f8300c0f0ab085cbefcd767efcdef9ef19d4c0756e74" -dependencies = [ - "cranelift-codegen-shared", -] - -[[package]] -name = "cranelift-codegen-shared" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "278e52e29c53fcf32431ef08406c295699a70306d05a0715c5b1bf50e33a9ab7" - -[[package]] -name = "cranelift-egraph" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624b54323b06e675293939311943ba82d323bb340468ce1889be5da7932c8d73" -dependencies = [ - "cranelift-entity", - "fxhash", - "hashbrown 0.12.3", - "indexmap 1.9.3", - "log", - "smallvec", -] - -[[package]] -name = "cranelift-entity" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a59bcbca89c3f1b70b93ab3cbba5e5e0cbf3e63dadb23c7525cb142e21a9d4c" - -[[package]] -name = "cranelift-frontend" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d70abacb8cfef3dc8ff7e8836e9c1d70f7967dfdac824a4cd5e30223415aca6" -dependencies = [ - "cranelift-codegen", - "log", - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cranelift-isle" -version = "0.91.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393bc73c451830ff8dbb3a07f61843d6cb41a084f9996319917c0b291ed785bb" - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "criterion" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" -dependencies = [ - "atty", - "cast", - "clap", - "criterion-plot", - "csv", - "itertools 0.10.5", - "lazy_static", - "num-traits", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_cbor", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" -dependencies = [ - "cast", - "itertools 0.10.5", -] - -[[package]] -name = "critical-section" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242" - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - -[[package]] -name = "darling" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" -dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", -] - -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", -] - -[[package]] -name = "darling_core" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 1.0.109", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "darling_macro" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" -dependencies = [ - "darling_core 0.14.4", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core 0.20.10", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "data-encoding" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "zeroize", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_builder" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" -dependencies = [ - "darling 0.14.4", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_builder_macro" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" -dependencies = [ - "derive_builder_core", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "document-features" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" -dependencies = [ - "litrs", -] - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "dyn-clone" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "educe" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core", - "sec1", - "subtle", - "zeroize", -] - -[[package]] -name = "ena" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" -dependencies = [ - "log", -] - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "enr" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf56acd72bb22d2824e66ae8e9e5ada4d0de17a69c7fd35569dde2ada8ec9116" -dependencies = [ - "base64 0.13.1", - "bytes", - "hex", - "k256", - "log", - "rand", - "rlp", - "serde", - "sha3", - "zeroize", -] - -[[package]] -name = "enum-iterator" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "enum-ordinalize" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" -dependencies = [ - "enum-ordinalize-derive", -] - -[[package]] -name = "enum-ordinalize-derive" -version = "4.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "enumset" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" -dependencies = [ - "enumset_derive", -] - -[[package]] -name = "enumset_derive" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" -dependencies = [ - "darling 0.20.10", - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "eth-keystore" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" -dependencies = [ - "aes", - "ctr", - "digest", - "hex", - "hmac", - "pbkdf2 0.11.0", - "rand", - "scrypt", - "serde", - "serde_json", - "sha2", - "sha3", - "thiserror", - "uuid 0.8.2", -] - -[[package]] -name = "ethabi" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" -dependencies = [ - "ethereum-types", - "hex", - "once_cell", - "regex", - "serde", - "serde_json", - "sha3", - "thiserror", - "uint", -] - -[[package]] -name = "ethbloom" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" -dependencies = [ - "crunchy", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "tiny-keccak", -] - -[[package]] -name = "ethereum-types" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" -dependencies = [ - "ethbloom", - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "primitive-types", - "scale-info", - "uint", -] - -[[package]] -name = "ethers" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a58ce802c65cf3d0756dee5a61094a92cde53c1583b246e9ee5b37226c7fc15" -dependencies = [ - "ethers-addressbook", - "ethers-contract", - "ethers-core", - "ethers-etherscan", - "ethers-middleware", - "ethers-providers", - "ethers-signers", - "ethers-solc", -] - -[[package]] -name = "ethers-addressbook" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b856b7b8ff5c961093cb8efe151fbcce724b451941ce20781de11a531ccd578" -dependencies = [ - "ethers-core", - "once_cell", - "serde", - "serde_json", -] - -[[package]] -name = "ethers-contract" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e066a0d9cfc70c454672bf16bb433b0243427420076dc5b2f49c448fb5a10628" -dependencies = [ - "ethers-contract-abigen", - "ethers-contract-derive", - "ethers-core", - "ethers-providers", - "futures-util", - "hex", - "once_cell", - "pin-project", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "ethers-contract-abigen" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c113e3e86b6bc16d98484b2c3bb2d01d6fed9f489fe2e592e5cc87c3024d616b" -dependencies = [ - "Inflector", - "dunce", - "ethers-core", - "ethers-etherscan", - "eyre", - "hex", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "reqwest", - "serde", - "serde_json", - "syn 2.0.75", - "toml 0.7.8", - "walkdir", -] - -[[package]] -name = "ethers-contract-derive" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3fb5adee25701c79ec58fcf2c63594cd8829bc9ad6037ff862d5a111101ed2" -dependencies = [ - "Inflector", - "ethers-contract-abigen", - "ethers-core", - "hex", - "proc-macro2", - "quote", - "serde_json", - "syn 2.0.75", -] - -[[package]] -name = "ethers-core" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6da5fa198af0d3be20c19192df2bd9590b92ce09a8421e793bec8851270f1b05" -dependencies = [ - "arrayvec", - "bytes", - "cargo_metadata", - "chrono", - "elliptic-curve", - "ethabi", - "generic-array", - "hex", - "k256", - "num_enum 0.6.1", - "once_cell", - "open-fastrlp", - "rand", - "rlp", - "serde", - "serde_json", - "strum", - "syn 2.0.75", - "tempfile", - "thiserror", - "tiny-keccak", - "unicode-xid", -] - -[[package]] -name = "ethers-etherscan" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84ebb401ba97c6f5af278c2c9936c4546cad75dec464b439ae6df249906f4caa" -dependencies = [ - "ethers-core", - "reqwest", - "semver", - "serde", - "serde_json", - "thiserror", - "tracing", -] - -[[package]] -name = "ethers-middleware" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740f4a773c19dd6d6a68c8c2e0996c096488d38997d524e21dc612c55da3bd24" -dependencies = [ - "async-trait", - "auto_impl", - "ethers-contract", - "ethers-core", - "ethers-etherscan", - "ethers-providers", - "ethers-signers", - "futures-channel", - "futures-locks", - "futures-util", - "instant", - "reqwest", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "tracing-futures", - "url", -] - -[[package]] -name = "ethers-providers" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56b498fd2a6c019d023e43e83488cd1fb0721f299055975aa6bac8dbf1e95f2c" -dependencies = [ - "async-trait", - "auto_impl", - "base64 0.21.7", - "bytes", - "enr", - "ethers-core", - "futures-core", - "futures-timer", - "futures-util", - "hashers", - "hex", - "http", - "instant", - "once_cell", - "pin-project", - "reqwest", - "serde", - "serde_json", - "thiserror", - "tokio", - "tokio-tungstenite", - "tracing", - "tracing-futures", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "ws_stream_wasm", -] - -[[package]] -name = "ethers-signers" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c4b7e15f212fa7cc2e1251868320221d4ff77a3d48068e69f47ce1c491df2d" -dependencies = [ - "async-trait", - "coins-bip32", - "coins-bip39", - "elliptic-curve", - "eth-keystore", - "ethers-core", - "hex", - "rand", - "sha2", - "thiserror", - "tracing", -] - -[[package]] -name = "ethers-solc" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a81c89f121595cf8959e746045bb8b25a6a38d72588561e1a3b7992fc213f674" -dependencies = [ - "cfg-if", - "dunce", - "ethers-core", - "glob", - "hex", - "home", - "md-5", - "num_cpus", - "once_cell", - "path-slash", - "rayon", - "regex", - "semver", - "serde", - "serde_json", - "solang-parser", - "svm-rs", - "thiserror", - "tiny-keccak", - "tokio", - "tracing", - "walkdir", - "yansi", -] - -[[package]] -name = "eyre" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" -dependencies = [ - "indenter", - "once_cell", -] - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fastrand" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "rand_core", - "subtle", -] - -[[package]] -name = "filetime" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - -[[package]] -name = "fixed-hash" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" -dependencies = [ - "byteorder", - "rand", - "rustc-hex", - "static_assertions", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flate2" -version = "1.0.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" -dependencies = [ - "crc32fast", - "miniz_oxide 0.8.0", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-locks" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" -dependencies = [ - "futures-channel", - "futures-task", -] - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", -] - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" -dependencies = [ - "fallible-iterator", - "indexmap 1.9.3", - "stable_deref_trait", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "globset" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata", - "regex-syntax 0.8.4", -] - -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core", - "subtle", -] - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.4.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "half" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" - -[[package]] -name = "hash32" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" -dependencies = [ - "byteorder", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "allocator-api2", -] - -[[package]] -name = "hashers" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" -dependencies = [ - "fxhash", -] - -[[package]] -name = "heapless" -version = "0.7.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" -dependencies = [ - "atomic-polyfill", - "hash32", - "rustc_version", - "spin 0.9.8", - "stable_deref_trait", -] - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hex-literal" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d70693199b3cf4552f3fa720b54163927a3ebed2aef240efaf556033ab336a11" -dependencies = [ - "hex-literal-impl", - "proc-macro-hack", -] - -[[package]] -name = "hex-literal-impl" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59448fc2f82a5fb6907f78c3d69d843e82ff5b051923313cc4438cb0c7b745a8" -dependencies = [ - "proc-macro-hack", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.5.7", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http", - "hyper", - "rustls", - "tokio", - "tokio-rustls", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "id-arena" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata", - "same-file", - "walkdir", - "winapi-util", -] - -[[package]] -name = "impl-codec" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "impl-rlp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" -dependencies = [ - "rlp", -] - -[[package]] -name = "impl-serde" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" -dependencies = [ - "serde", -] - -[[package]] -name = "impl-trait-for-tuples" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" -dependencies = [ - "equivalent", - "hashbrown 0.14.5", - "serde", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "k256" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" -dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2", - "signature", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "lalrpop" -version = "0.19.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a1cbf952127589f2851ab2046af368fd20645491bb4b376f04b7f94d7a9837b" -dependencies = [ - "ascii-canvas", - "bit-set", - "diff", - "ena", - "is-terminal", - "itertools 0.10.5", - "lalrpop-util", - "petgraph", - "regex", - "regex-syntax 0.6.29", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", -] - -[[package]] -name = "lalrpop-util" -version = "0.19.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed" - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "leb128" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" - -[[package]] -name = "lexical-sort" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c09e4591611e231daf4d4c685a66cb0410cc1e502027a20ae55f2bb9e997207a" -dependencies = [ - "any_ascii", -] - -[[package]] -name = "libc" -version = "0.2.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linked_hash_set" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "litrs" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" - -[[package]] -name = "lz4_flex" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" -dependencies = [ - "twox-hash", -] - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" -dependencies = [ - "libc", -] - -[[package]] -name = "mach2" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" -dependencies = [ - "libc", -] - -[[package]] -name = "managed" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d" - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memmap2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "more-asserts" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7843ec2de400bcbc6a6328c958dc38e5359da6e93e72e37bc5246bf1ae776389" - -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - -[[package]] -name = "num" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", - "rand", -] - -[[package]] -name = "num-complex" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-bigint", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "oorandom" -version = "11.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" - -[[package]] -name = "open-fastrlp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec", - "auto_impl", - "bytes", - "ethereum-types", - "open-fastrlp-derive", -] - -[[package]] -name = "open-fastrlp-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" -dependencies = [ - "bytes", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "openssl" -version = "0.10.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - -[[package]] -name = "parity-scale-codec" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" -dependencies = [ - "arrayvec", - "bitvec", - "byte-slice-cast", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "serde", -] - -[[package]] -name = "parity-scale-codec-derive" -version = "3.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "password-hash" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" -dependencies = [ - "base64ct", - "rand_core", - "subtle", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "path-clean" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17359afc20d7ab31fdb42bb844c8b3bb1dabd7dcf7e68428492da7f16966fcef" - -[[package]] -name = "path-slash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest", - "hmac", - "password-hash", - "sha2", -] - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest", - "hmac", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap 2.4.0", -] - -[[package]] -name = "pharos" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" -dependencies = [ - "futures", - "rustc_version", -] - -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_macros", - "phf_shared 0.11.2", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared 0.11.2", - "rand", -] - -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator", - "phf_shared 0.11.2", - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "plotters" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" - -[[package]] -name = "plotters-svg" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "prettyplease" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -dependencies = [ - "proc-macro2", - "syn 2.0.75", -] - -[[package]] -name = "primitive-types" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" -dependencies = [ - "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", - "scale-info", - "uint", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit 0.21.1", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "pulldown-cmark" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" -dependencies = [ - "bitflags 1.3.2", - "memchr", - "unicase", -] - -[[package]] -name = "quote" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - -[[package]] -name = "regalloc2" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300d4fbfb40c1c66a78ba3ddd41c1110247cf52f97b87d0f2fc9209bd49b030c" -dependencies = [ - "fxhash", - "log", - "slice-group-by", - "smallvec", -] - -[[package]] -name = "regex" -version = "1.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax 0.8.4", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.4", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "region" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b6ebd13bc009aef9cd476c1310d49ac354d36e240cf1bd753290f3dc7199a7" -dependencies = [ - "bitflags 1.3.2", - "libc", - "mach2", - "windows-sys 0.52.0", -] - -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - -[[package]] -name = "replace_with" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a8614ee435691de62bcffcf4a66d91b3594bf1428a5722e79103249a095690" - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-rustls", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-native-tls", - "tokio-rustls", - "tokio-socks", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots 0.25.4", - "winreg", -] - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest", -] - -[[package]] -name = "rkyv" -version = "0.7.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "indexmap 1.9.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid 1.10.0", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "rlp" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" -dependencies = [ - "bytes", - "rlp-derive", - "rustc-hex", -] - -[[package]] -name = "rlp-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki 0.101.7", - "sct", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - -[[package]] -name = "rustls-webpki" -version = "0.100.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6a5fc258f1c1276dfe3016516945546e2d5383911efc0fc4f1cdc5df3a4ae3" -dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "rusty_pool" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ed36cdb20de66d89a17ea04b8883fc7a386f2cf877aaedca5005583ce4876ff" -dependencies = [ - "crossbeam-channel", - "futures", - "futures-channel", - "futures-executor", - "num_cpus", -] - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher", -] - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scale-info" -version = "2.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" -dependencies = [ - "cfg-if", - "derive_more", - "parity-scale-codec", - "scale-info-derive", -] - -[[package]] -name = "scale-info-derive" -version = "2.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "schemars" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" -dependencies = [ - "dyn-clone", - "schemars_derive", - "serde", - "serde_json", - "url", -] - -[[package]] -name = "schemars_derive" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.75", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "scrypt" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" -dependencies = [ - "hmac", - "pbkdf2 0.11.0", - "salsa20", - "sha2", -] - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] - -[[package]] -name = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "self_cell" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - -[[package]] -name = "serde" -version = "1.0.208" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_cbor" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" -dependencies = [ - "half", - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.208" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "serde_json" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.4.0", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest", - "keccak", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shared-buffer" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6c99835bad52957e7aa241d3975ed17c1e5f8c92026377d117a606f36b84b16" -dependencies = [ - "bytes", - "memmap2 0.6.2", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core", -] - -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slice-group-by" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "smoltcp" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee34c1e1bfc7e9206cc0fb8030a90129b4e319ab53856249bb27642cab914fb3" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "managed", -] - -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "solang-parser" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a94494913728908efa7a25a2dd2e4f037e714897985c24273c40596638ed909" -dependencies = [ - "itertools 0.10.5", - "lalrpop", - "lalrpop-util", - "phf", - "thiserror", - "unicode-xid", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "svm-rs" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a04fc4f5cd35c700153b233f5575ccb3237e0f941fa5049d9e98254d10bf2fe" -dependencies = [ - "fs2", - "hex", - "home", - "once_cell", - "reqwest", - "semver", - "serde", - "serde_json", - "sha2", - "thiserror", - "url", - "zip", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.75" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tar" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - -[[package]] -name = "tempfile" -version = "3.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - -[[package]] -name = "terminal_size" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -dependencies = [ - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "termios" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" -dependencies = [ - "libc", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" -dependencies = [ - "autocfg", - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "pin-project-lite", - "signal-hook-registry", - "socket2 0.4.10", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls", - "tokio", -] - -[[package]] -name = "tokio-socks" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" -dependencies = [ - "either", - "futures-util", - "thiserror", - "tokio", -] - -[[package]] -name = "tokio-stream" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec509ac96e9a0c43427c74f003127d953a265737636129424288d27cb5c4b12c" -dependencies = [ - "futures-util", - "log", - "rustls", - "tokio", - "tokio-rustls", - "tungstenite", - "webpki-roots 0.23.1", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - -[[package]] -name = "toml" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.20", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.4.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.4.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" -dependencies = [ - "indexmap 2.4.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.18", -] - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-error" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" -dependencies = [ - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-subscriber" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" -dependencies = [ - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "sharded-slab", - "thread_local", - "tracing-core", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tungstenite" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15fba1a6d6bb030745759a9a2a588bfe8490fc8b4751a277db3a0be1c9ebbf67" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http", - "httparse", - "log", - "rand", - "rustls", - "sha1", - "thiserror", - "url", - "utf-8", - "webpki", -] - -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-width" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" - -[[package]] -name = "unicode-xid" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" - -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom", - "serde", -] - -[[package]] -name = "uuid" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "virtual-fs" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2188aeb68d3f631caab9253650fc9e5ac8b4f9e223a3f8726e8b3317eac5f9c7" -dependencies = [ - "anyhow", - "async-trait", - "bytes", - "derivative", - "filetime", - "fs_extra", - "futures", - "getrandom", - "indexmap 1.9.3", - "lazy_static", - "libc", - "pin-project-lite", - "replace_with", - "shared-buffer", - "slab", - "thiserror", - "tokio", - "tracing", - "webc", -] - -[[package]] -name = "virtual-mio" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff8026c9d7575dc9afd8a0907357acb7aa55ec262097fbccae5da42f67773b3c" -dependencies = [ - "async-trait", - "bytes", - "derivative", - "futures", - "mio", - "serde", - "socket2 0.4.10", - "thiserror", - "tracing", -] - -[[package]] -name = "virtual-net" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74aa69bbb19e531d274ba1aa730028f6fcd2117513ff6696d020af05188dfe92" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.21.7", - "bincode", - "bytecheck", - "bytes", - "derivative", - "futures-util", - "libc", - "mio", - "pin-project-lite", - "rkyv", - "serde", - "smoltcp", - "socket2 0.4.10", - "thiserror", - "tokio", - "tracing", - "virtual-mio", -] - -[[package]] -name = "wai-bindgen-gen-core" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aa3dc41b510811122b3088197234c27e08fcad63ef936306dd8e11e2803876c" -dependencies = [ - "anyhow", - "wai-parser", -] - -[[package]] -name = "wai-bindgen-gen-rust" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc05e8380515c4337c40ef03b2ff233e391315b178a320de8640703d522efe" -dependencies = [ - "heck 0.3.3", - "wai-bindgen-gen-core", -] - -[[package]] -name = "wai-bindgen-gen-rust-wasm" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f35ce5e74086fac87f3a7bd50f643f00fe3559adb75c88521ecaa01c8a6199" -dependencies = [ - "heck 0.3.3", - "wai-bindgen-gen-core", - "wai-bindgen-gen-rust", -] - -[[package]] -name = "wai-bindgen-rust" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e5601c6f448c063e83a5e931b8fefcdf7e01ada424ad42372c948d2e3d67741" -dependencies = [ - "bitflags 1.3.2", - "wai-bindgen-rust-impl", -] - -[[package]] -name = "wai-bindgen-rust-impl" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdeeb5c1170246de8425a3e123e7ef260dc05ba2b522a1d369fe2315376efea4" -dependencies = [ - "proc-macro2", - "syn 1.0.109", - "wai-bindgen-gen-core", - "wai-bindgen-gen-rust-wasm", -] - -[[package]] -name = "wai-parser" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd0acb6d70885ea0c343749019ba74f015f64a9d30542e66db69b49b7e28186" -dependencies = [ - "anyhow", - "id-arena", - "pulldown-cmark", - "unicode-normalization", - "unicode-xid", -] - -[[package]] -name = "waker-fn" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.75", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" - -[[package]] -name = "wasm-encoder" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba64e81215916eaeb48fee292f29401d69235d62d8b8fd92a7b2844ec5ae5f7" -dependencies = [ - "leb128", -] - -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wasmer" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d6beae0c56cd5c26fe29aa613c6637bde6747a782ec3e3ed362c2dda615e701" -dependencies = [ - "bytes", - "cfg-if", - "derivative", - "indexmap 1.9.3", - "js-sys", - "more-asserts", - "rustc-demangle", - "serde", - "serde-wasm-bindgen", - "shared-buffer", - "target-lexicon", - "thiserror", - "tracing", - "wasm-bindgen", - "wasmer-compiler", - "wasmer-compiler-cranelift", - "wasmer-derive", - "wasmer-types", - "wasmer-vm", - "wasmparser", - "wat", - "winapi", -] - -[[package]] -name = "wasmer-compiler" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df65b299475df71947607b24528e5a34e0fc42ad84350c242e591cbf74a6bc37" -dependencies = [ - "backtrace", - "bytes", - "cfg-if", - "enum-iterator", - "enumset", - "lazy_static", - "leb128", - "memmap2 0.5.10", - "more-asserts", - "region", - "rkyv", - "self_cell", - "shared-buffer", - "smallvec", - "thiserror", - "wasmer-types", - "wasmer-vm", - "wasmparser", - "winapi", - "xxhash-rust", -] - -[[package]] -name = "wasmer-compiler-cranelift" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42867bde8e7bda9419c9b08a20eb58ed8e493fea5ba3cb920f602df826cb7795" -dependencies = [ - "cranelift-codegen", - "cranelift-entity", - "cranelift-frontend", - "gimli 0.26.2", - "more-asserts", - "rayon", - "smallvec", - "target-lexicon", - "tracing", - "wasmer-compiler", - "wasmer-types", -] - -[[package]] -name = "wasmer-config" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a0f70c177b1c5062cfe0f5308c3317751796fef9403c22a0cd7b4cacd4ccd8" -dependencies = [ - "anyhow", - "bytesize", - "derive_builder", - "hex", - "indexmap 2.4.0", - "schemars", - "semver", - "serde", - "serde_cbor", - "serde_json", - "serde_yaml", - "thiserror", - "toml 0.8.19", - "url", -] - -[[package]] -name = "wasmer-config" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4a632496950fde9ad821e195ef1a301440076f7c7d80de55239a140359bcbd" -dependencies = [ - "anyhow", - "bytesize", - "derive_builder", - "hex", - "indexmap 2.4.0", - "schemars", - "semver", - "serde", - "serde_cbor", - "serde_json", - "serde_yaml", - "thiserror", - "toml 0.8.19", - "url", -] - -[[package]] -name = "wasmer-derive" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "231826965de8fe7bfba02b3b8adac3304ca8b7fea92dc6129e8330e020aa6b45" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "wasmer-journal" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb1367bf2bf3a606634c1c5ed777695fc299318483dffb8e1dacf9d04b9d2dda" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.21.7", - "bincode", - "bytecheck", - "bytes", - "derivative", - "lz4_flex", - "num_enum 0.5.11", - "rkyv", - "serde", - "serde_json", - "shared-buffer", - "thiserror", - "tracing", - "virtual-fs", - "virtual-net", - "wasmer", - "wasmer-wasix-types", -] - -[[package]] -name = "wasmer-types" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9782e1a5a28ae2c5165cdfc1aa5ce2aa89b20f745ae3f3a3974f6500849cc31a" -dependencies = [ - "bytecheck", - "enum-iterator", - "enumset", - "getrandom", - "hex", - "indexmap 1.9.3", - "more-asserts", - "rkyv", - "serde", - "sha2", - "target-lexicon", - "thiserror", - "webc", - "xxhash-rust", -] - -[[package]] -name = "wasmer-vm" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f143d07733ac0832f42c7acb1b0abf22f00e38505eb605951f06af382970f80" -dependencies = [ - "backtrace", - "cc", - "cfg-if", - "corosensei", - "crossbeam-queue", - "dashmap", - "derivative", - "enum-iterator", - "fnv", - "indexmap 1.9.3", - "lazy_static", - "libc", - "mach", - "memoffset", - "more-asserts", - "region", - "scopeguard", - "thiserror", - "wasmer-types", - "winapi", -] - -[[package]] -name = "wasmer-wasix" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4ecc4b28d53d3d06044d8443a7b6550c26ee6b0ee623b9396c32b693657933" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.21.7", - "bincode", - "blake3", - "bytecheck", - "bytes", - "cfg-if", - "chrono", - "cooked-waker", - "dashmap", - "derivative", - "futures", - "getrandom", - "heapless", - "hex", - "http", - "js-sys", - "lazy_static", - "libc", - "linked_hash_set", - "lz4_flex", - "num_enum 0.5.11", - "once_cell", - "petgraph", - "pin-project", - "rand", - "reqwest", - "rkyv", - "rusty_pool", - "semver", - "serde", - "serde_cbor", - "serde_derive", - "serde_json", - "serde_yaml", - "sha2", - "shared-buffer", - "tempfile", - "terminal_size", - "termios", - "thiserror", - "tokio", - "tokio-stream", - "tracing", - "url", - "urlencoding", - "virtual-fs", - "virtual-mio", - "virtual-net", - "waker-fn", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasmer", - "wasmer-config 0.2.0", - "wasmer-journal", - "wasmer-types", - "wasmer-wasix-types", - "web-sys", - "webc", - "weezl", - "winapi", - "xxhash-rust", -] - -[[package]] -name = "wasmer-wasix-types" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aaddd76cac8abdd047e3e70f5547ff79f55d7cfbd38f6ac387555f826d45dc6" -dependencies = [ - "anyhow", - "bitflags 1.3.2", - "byteorder", - "cfg-if", - "num_enum 0.5.11", - "serde", - "time", - "tracing", - "wai-bindgen-gen-core", - "wai-bindgen-gen-rust", - "wai-bindgen-gen-rust-wasm", - "wai-bindgen-rust", - "wai-parser", - "wasmer", - "wasmer-derive", - "wasmer-types", -] - -[[package]] -name = "wasmparser" -version = "0.121.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" -dependencies = [ - "bitflags 2.6.0", - "indexmap 2.4.0", - "semver", -] - -[[package]] -name = "wast" -version = "64.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a259b226fd6910225aa7baeba82f9d9933b6d00f2ce1b49b80fa4214328237cc" -dependencies = [ - "leb128", - "memchr", - "unicode-width", - "wasm-encoder", -] - -[[package]] -name = "wat" -version = "1.0.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53253d920ab413fca1c7dc2161d601c79b4fdf631d0ba51dd4343bf9b556c3f6" -dependencies = [ - "wast", -] - -[[package]] -name = "web-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webc" -version = "6.0.0-rc2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3e2ccb43d303c5bd48f31db7a129481a9aaa5343d623f92951751df190df81" -dependencies = [ - "anyhow", - "base64 0.22.1", - "bytes", - "cfg-if", - "document-features", - "flate2", - "ignore", - "indexmap 1.9.3", - "leb128", - "lexical-sort", - "libc", - "once_cell", - "path-clean", - "rand", - "semver", - "serde", - "serde_cbor", - "serde_json", - "sha2", - "shared-buffer", - "tar", - "tempfile", - "thiserror", - "toml 0.8.19", - "url", - "wasmer-config 0.4.0", -] - -[[package]] -name = "webpki" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "webpki-roots" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" -dependencies = [ - "rustls-webpki 0.100.3", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "weezl" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43dbb096663629518eb1dfa72d80243ca5a6aca764cae62a2df70af760a9be75" -dependencies = [ - "windows_aarch64_msvc 0.33.0", - "windows_i686_gnu 0.33.0", - "windows_i686_msvc 0.33.0", - "windows_x86_64_gnu 0.33.0", - "windows_x86_64_msvc 0.33.0", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "ws_stream_wasm" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" -dependencies = [ - "async_io_stream", - "futures", - "js-sys", - "log", - "pharos", - "rustc_version", - "send_wrapper 0.6.0", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" -dependencies = [ - "libc", - "linux-raw-sys", - "rustix", -] - -[[package]] -name = "xxhash-rust" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" - -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.75", -] - -[[package]] -name = "zip" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" -dependencies = [ - "aes", - "byteorder", - "bzip2", - "constant_time_eq 0.1.5", - "crc32fast", - "crossbeam-utils", - "flate2", - "hmac", - "pbkdf2 0.11.0", - "sha1", - "time", - "zstd", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" -dependencies = [ - "cc", - "pkg-config", -] From 705dd7c6c318c7979bac01e4843442e83e55e86f Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 11 Sep 2024 07:33:05 +0200 Subject: [PATCH 22/23] update wasix version --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 5465c50..4883872 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] # WASM operations wasmer = { version = "4.3.0", default-features = false } -wasmer-wasix = { version = "0.20.0", default-features = false } +wasmer-wasix = { version = "0.27", default-features = false } fnv = { version = "=1.0.7", default-features = false } num = { version = "=0.4.0" } num-traits = { version = "=0.2.15", default-features = false } From 2e8051d58ae3c6007c58d4eaf02720c7c0c29ae1 Mon Sep 17 00:00:00 2001 From: mmagician Date: Wed, 11 Sep 2024 07:33:16 +0200 Subject: [PATCH 23/23] add a wasm compilation CI check --- .github/workflows/ci.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5a1b894..96cb472 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,3 +50,18 @@ jobs: run: cargo fmt --all -- --check - name: cargo clippy run: cargo clippy -- -D warnings + + wasm32-wasip1-check: + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v2 + - name: Install stable toolchain + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + target: wasm32-wasip1 + - name: Check wasm32-wasip compilation + run: cargo check --target wasm32-wasip1 --no-default-features --features="wasm"