hamming_rs-0.2.25/.cargo_vcs_info.json0000644000000001360000000000100132460ustar { "git": { "sha1": "97dba88f8cabbaa691bdab821384810f7999ed2c" }, "path_in_vcs": "" }hamming_rs-0.2.25/Cargo.lock0000644000000407350000000000100112320ustar # This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 4 [[package]] name = "aho-corasick" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] [[package]] name = "anes" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstyle" version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "autocfg" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "bumpalo" version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "cast" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "ciborium" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ "ciborium-io", "ciborium-ll", "serde", ] [[package]] name = "ciborium-io" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" [[package]] name = "ciborium-ll" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", "half", ] [[package]] name = "clap" version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" dependencies = [ "anstyle", "clap_lex", ] [[package]] name = "clap_lex" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" [[package]] name = "criterion" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" dependencies = [ "anes", "cast", "ciborium", "clap", "criterion-plot", "is-terminal", "itertools", "num-traits", "once_cell", "oorandom", "plotters", "rayon", "regex", "serde", "serde_derive", "serde_json", "tinytemplate", "walkdir", ] [[package]] name = "criterion-plot" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", "itertools", ] [[package]] name = "crossbeam-deque" version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" 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-utils" version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "either" version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "getrandom" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", "r-efi", "wasip2", ] [[package]] name = "half" version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ "cfg-if", "crunchy", "zerocopy", ] [[package]] name = "hamming" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1" [[package]] name = "hamming_rs" version = "0.2.25" dependencies = [ "criterion", "hamming", "log", "rand", "strsim", ] [[package]] name = "hermit-abi" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "is-terminal" version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", "windows-sys", ] [[package]] name = "itertools" version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] [[package]] name = "itoa" version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "js-sys" version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" dependencies = [ "once_cell", "wasm-bindgen", ] [[package]] name = "libc" version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "log" version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "memchr" version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "num-traits" version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] [[package]] name = "once_cell" version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "oorandom" version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "plotters" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" dependencies = [ "num-traits", "plotters-backend", "plotters-svg", "wasm-bindgen", "web-sys", ] [[package]] name = "plotters-backend" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" [[package]] name = "plotters-svg" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" dependencies = [ "plotters-backend", ] [[package]] name = "ppv-lite86" version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] [[package]] name = "proc-macro2" version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] [[package]] name = "quote" version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha", "rand_core", ] [[package]] name = "rand_chacha" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", "rand_core", ] [[package]] name = "rand_core" version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ "getrandom", ] [[package]] name = "rayon" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", ] [[package]] name = "rayon-core" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", ] [[package]] name = "regex" version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", "regex-automata", "regex-syntax", ] [[package]] name = "regex-automata" version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", "regex-syntax", ] [[package]] name = "regex-syntax" version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "rustversion" version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[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 = "serde" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ "serde_core", "serde_derive", ] [[package]] name = "serde_core" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", "syn", ] [[package]] name = "serde_json" version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", "serde_core", ] [[package]] name = "strsim" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[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 = "unicode-ident" version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[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 = "wasip2" version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ "wit-bindgen", ] [[package]] name = "wasm-bindgen" version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" dependencies = [ "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" dependencies = [ "bumpalo", "proc-macro2", "quote", "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" dependencies = [ "unicode-ident", ] [[package]] name = "web-sys" version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] name = "winapi-util" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ "windows-sys", ] [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-sys" version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] [[package]] name = "wit-bindgen" version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "zerocopy" version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26" dependencies = [ "proc-macro2", "quote", "syn", ] hamming_rs-0.2.25/Cargo.toml0000644000000031770000000000100112540ustar # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" name = "hamming_rs" version = "0.2.25" authors = ["Regis Portalez "] build = false exclude = [ "target/criterion/*", ".cargo_vcs_info.json", ".gitignore", "Cargo.toml.orig", ] autolib = false autobins = false autoexamples = false autotests = false autobenches = false description = """ Computes Hamming distance and weight -- if available and beneficial, uses a highly optimized avx2 implementation\r """ homepage = "https://github.com/JeWaVe/hamming_rs" documentation = "https://docs.rs/hamming_rs/" readme = "README.md" keywords = [ "popcount", "hamming", "avx2", ] license = "MIT" repository = "https://github.com/JeWaVe/hamming_rs" [lib] name = "hamming_rs" path = "src/lib.rs" [[bench]] name = "distance" path = "benches/distance.rs" harness = false [dependencies.log] version = "0.4.26" [dev-dependencies.criterion] version = "0.5.1" [dev-dependencies.hamming] version = "0.1.3" [dev-dependencies.rand] version = "0.9.0" [dev-dependencies.strsim] version = "0.11.1" [profile.dev] opt-level = 0 overflow-checks = true [profile.release] opt-level = 3 debug = 0 debug-assertions = false overflow-checks = false hamming_rs-0.2.25/Cargo.toml.orig0000644000000021040000000000100122000ustar [package] name = "hamming_rs" version = "0.2.25" edition = "2021" authors = ["Regis Portalez "] license = "MIT" keywords = ["popcount", "hamming", "avx2"] homepage = "https://github.com/JeWaVe/hamming_rs" repository = "https://github.com/JeWaVe/hamming_rs" documentation = "https://docs.rs/hamming_rs/" readme = "README.md" exclude = [ "target/criterion/*", ".cargo_vcs_info.json", ".gitignore", "Cargo.toml.orig", ] description = """ Computes Hamming distance and weight -- if available and beneficial, uses a highly optimized avx2 implementation """ [dependencies] log = "0.4.26" [dev-dependencies] rand = "0.9.0" hamming = "0.1.3" strsim = "0.11.1" criterion = "0.5.1" [profile.dev] opt-level = 0 # Use slightly better optimizations. overflow-checks = true [profile.release] debug-assertions = false debug = false opt-level = 3 # Use slightly better optimizations. overflow-checks = false # Disable integer overflow checks. [[bench]] name = "distance" harness = falsehamming_rs-0.2.25/Cargo.toml.orig000064400000000000000000000021041046102023000147220ustar 00000000000000[package] name = "hamming_rs" version = "0.2.25" edition = "2021" authors = ["Regis Portalez "] license = "MIT" keywords = ["popcount", "hamming", "avx2"] homepage = "https://github.com/JeWaVe/hamming_rs" repository = "https://github.com/JeWaVe/hamming_rs" documentation = "https://docs.rs/hamming_rs/" readme = "README.md" exclude = [ "target/criterion/*", ".cargo_vcs_info.json", ".gitignore", "Cargo.toml.orig", ] description = """ Computes Hamming distance and weight -- if available and beneficial, uses a highly optimized avx2 implementation """ [dependencies] log = "0.4.26" [dev-dependencies] rand = "0.9.0" hamming = "0.1.3" strsim = "0.11.1" criterion = "0.5.1" [profile.dev] opt-level = 0 # Use slightly better optimizations. overflow-checks = true [profile.release] debug-assertions = false debug = false opt-level = 3 # Use slightly better optimizations. overflow-checks = false # Disable integer overflow checks. [[bench]] name = "distance" harness = falsehamming_rs-0.2.25/README.md000064400000000000000000000022451046102023000133200ustar 00000000000000# hamming_rs Computes hamming distance and weight, possibly with avx/avx2 instructions for x86 processors avx2 optimized version is used when inputs have same memory alignment and are large enough otherwise, functions will fallback to slower versions but still faster than `strsim` or `hamming` crates. # references Muła, Wojciech, Nathan Kurz, and Daniel Lemire. "Faster population counts using AVX2 instructions." The Computer Journal 61.1 (2018): 111-120. https://arxiv.org/pdf/1611.07612.pdf Thanks to @emschwartz (github), his fast implementation is now used when avx2 is not available. It allows auto-vectorization on non intel platforms. # performances We ran benchmarks with `cargo bench` on a laptop with a AMD Ryzen 5 PRO 5675U @4.4Ghz with 32Gb of RAM. Before that, we set `export RUSTFLAGS="-C target-feature=+avx2,+fma"`. We compare ourselves against `hamming` and `strsim` reference crates. We notice a speedup of \~3 against `hamming` and of \~30 against `strsim` hamming_rs vs hamming and strsim speedup over hamming and strsim hamming_rs-0.2.25/assets/hamming_rs_vs_hamming.png000064400000000000000000000732471046102023000204170ustar 00000000000000PNG  IHDR'sRGBgAMA avPLTEDqDrDrDrDsEqErErEsHtIuIvJvLwLwNyPyP{Q|R{R|S|S}T|U|U~UUVVWXYYYZ[[[\]^^^__abccccegghiiiijkklmnnnnoprrssssssuxxxxy}~~~~ׁ͂Ѓσ؅ͅه׈΋یΎۏܑёݒړϓӓݔޘИԛߜܜߠѡᢢԥѧ㪹Ҭ尵ٲֳԵᶶڶ淺Թ黻ս꿿 wtRNSH`x|] pHYs22(dZsIDATx^݋B88!Bb " :F\8 `n#.Jbt`c8"ϲY<5?yڳS*-+ꫪ5_I&:-JAg҂$I{H$ '%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%IboowmZ"={Z?tIM];n7p.cNǞeA~̭9E:{RSy-~+E:{RS ~E&HcOj 3@HcOjr:vZ~Xӱ'5ul_9E:{RS"=sHcOj /$,ؓ:7 t: B"=mvZEviU_>h]yyc{{v{Zzp-^VT=;/)A'Gaꣷ{[_zq_/;ݛli6;n3x?tIM]woYZ{ZF}۹ѝq JosyWm7zp .;]5WF<_Vݮތ֚nk|@V(cNǞԥ r_m\OҶq<77[=[NOz_VzUmxw^9BzrN}X~V_~tycNȞU[݁׃ިw;+/7~zZ6'Gv~'ڟ|QF@Z窾jooLjtRܴ].l7iO~+j͝ݗk[,KJȧu}};O lGmεnWu ZO<_~UkoƒqUk,#*,҉ٓr'.vF)o{Ho>e1q]*V:? GUJ_~)c\v+4-s:.;Zv}Y.o\XIM]g}rMŭ+ַk;G{<ʹ<\RuVGoky2AƯe|s[#k7G<~ ojo7g*4U=F0~Eeiskw,|;]9c 9?i4{RS7}UuMƾގkzAu0} rZ rF+o_];ISx.T☏178ddBKcF'5u Uu#⚾kug&' _b(dBi\W܃>Wf1FC=KcF'5u#7mCFn?~lOOUQ;c?`Q\qܴ󕗇]{M0c {"fOjFn*Ob^ ryİwBIu:W7<~5,]pP~Α2%c>or~,hn-zQW6.޿sZayz<?xۋavp+':|`t~,hn-U9n۸tZlCY姇{cF'5u6m妲oS?r۸c ߯[za{÷Svj{QHٓQb _ujjx~egjꄞ=XHٓQNk=T`6o4<~}=էdAuv~=ƨo|XIMݨM[uAm`\>S_X.ʻխb{QHٓQy'n`\}aNlD4<ֵe'ۅ7s2c 4=inPڹTܶm`|s={cn7o]!m[*?o\XIMM[ʼEk{wf79n۸׽u/ombw~xYHP nc7x.,hnkim\ rn5=KBnZ1F"fOjFoX-6.oynTw?#1m熤I5S}j_#scF'5u噙'/XڥvV+\ t_ ?@ygֵܻn]''꽲=6c^Gj-ufY1Cw1F}Hٓ/g^7ZV{x~ݔv[5&'橵6z;Hnnw8dYcj}x14=)?Z~PH*NgQoISԜcؓ8sAy/[i͑?́=) \_j!,{RNj]ayk44_X44-V@KOӜfƒ_މoElkMq?i:Ii,KqyR2;X)'T[9[4%4kgŞə4%t_wZ[}cj,Ҕؓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$-TOn?hZ^7%I:k ԓ/I+$-LON%u$ЏWvCaH$I:cғۡ&o7$IZ ғEq'-K0'wbe?-K0'OJJbAQӲ$Ic1zEIO$-vuo5$-ɍzc5U7=G('oE*hJbd+k(ޣi%IOS+@xɕPő~ʀ$Iyk\ ;iq'OIεɛEq--mʴo9Jɴ~W_yM!&CL}ubF|G' 1bO֗m`0d{rvB5vq/5毥=Im`0d{r^jI/QIh!&CLؓsu;geBIh!&CLؓ/|Z.E60b2d=V>>S 1bO.KUh!&CLؓ :yh!&CLؓ qž&Oh#!&CLؓ z>?pRzmd0d{r߹dwh!&CLؓ ,4ba L G 1b2Ğ\\ߦVm^m`0d{rqK8̞r!&C^!ߦM 1bO.R- K 1bO.H 1bO.oR/W"_62b2d=VXW{8`!"PP^,G 1b2Ğ\h_nLʻ)ٹ=*9`!{Z8`!{w+Ud~*q!&CF<*u8`!dڞlh!&CLؓYxf60b2d={8`!d'oh!&CLؓY' 1bOf$60b2d={8`!dIh!&CLؓY' 1bOf$60b2d={8`!dIh!&CLؓY' 1bOf$60b2d={8`!dIh!&CLؓY' 1bOfɿ]:m`0d{2 OxՓWp!&C,ؓCL '`OG 1b2Ğ̂=Im`0d{2 $q!&C,ؓCL '`OG 1b2Ğ̂=Im`0d{2 $q!&C,ؓCL '`OG 1b2Ğ“?]mu8`!dUO^JoCL '`OG 1b2Ğ̂=Im`0d{2 $q!&C,ؓCL '`OG 1b2Ğ̂=Im`0d{2 $q!&C,ؓCL '`OG 1b2Ğ“p!&C,/w&OʓCҢ 1#--_I0ѓ/b=>(]Z'?'~S~'(яNXˑ%T 3{2Z&CLHK`O"/DO^.;J+dϛ=ٹ42TGG{_}7S>J'ޗ_s2!g^=qfzcTǷz/qFazA UG]h#;.}rNpGL 'iok#dϘ{qxg7nʇGφ}ٍAU#&CLؓgz~TG//z{?Zhp߿ݽU6 1bOiT/`[#h>[R(ŮJyd{L'o*s&h>|l3թ<Փ՟Tn \n!rO~[YlȟN*0ktfO>oGxJ]CZn!:aOjEZ1]ߊ뿒} %s/2d<Obyd{yɓ]mukծYyc:(No_ݨ^N!hўvGL '0'7,Z>|/.}^+8#/\yx'S:_ 1݋m1b2Ј"SV҇1;#?v|hOn!dolMe>~>ry^ë/w*}vX|(_!&C,ۓsK~P.T&}^gڴû]rXWo>މYnj9cƦJwm1F>}r;n!d<ַ꺁+K}xSk[إ9}ݛՌ8:2Z~(Y>S6 1bOfɓ?Pmz˧ދ1n*mnk? 9ޭ+BC>iy@ͧC_߿;c˧6 1bOf'mL}לc}Wj߭c^k5_c#&CLؓYɦ+ގMe~<qלc| |6Ew¹,tGL 'PI?}dcWBS6umkS5d^z[Ў򏓹rGL 'PI`)>ЏݫGtI<7CMBw*H%yd{2 +?M }>4ux"}xs3{nQGO_|/qGL 'ɟG>~vX҇/_:^ /]U dJ}ޕ}ݰS/qGL 'ݟ,5_?d}/\q+{޷}<>;gwuB|޼qGL 'Pdvu];?B/$y7 > ={c>wGL 'ɿm隌Ԕthݸq' 5>/gw*?x4#&CLؓYx_.ǵۘ) {8cz'ҳj}0=j8uqGL '?l->rn7+Ӎ?9=n!dѴu' 9yh`Jyd{2 7m+z=ɕwթ=ѕ[z5f|y3hx𢞋ƻWi#&CLؓYazs':f?mvYk_.tGL ';V5Aoωw}Nڵ ">&m1b2ĞoqpW9h>tNϭ1}=)yd{2 a[]Os%3;Y_?Nn!dM[Ӥ*]sf'=6 1bO]ږ\?߻NF{͍i~uGL 'Җl]sf'Ovn!d~[ڎ֤O%<3;yNvn!d:wALt%3;ُC_sG;yd{2 :mBr3;K0|]iJ=n!d)7_8eK5ڟ_)5Byd{2 Z^8eK6w;"n!d:W:N~st=|I兏OS6 1bO.!Ԕ}9En!{Wd߹z-YZ~7*>8n!` pjҎm/:5n!{{K<ݧ¥cߨm1b2Ğ\pQ~?kr"cm1b2Ğ\pæq><ѧݲ"tz!&Cɉm[F{mZ3MƱ.\-hcn!^,znNk&{&Ep.FʋF̋qL?hJydɐc*I/P1|Z1rY3SnwqSn!\CRq1רEO>-մرY8ߔ?/ϻs:>!&C:U*fѓE;ݓGwS=?w%;z.\m1b2c^b=Ri9|rb7/Y<ɹχ^S$SU)y9G>T$TKn+CL@u,߫T̤'ӑ뵻o n^>'ir?m/ߥ_b2:޽zJ'WMO[WwᝢX1U~wD_3evyU.\ڝ_iO~WWK*3vW]g郦'/^s;oUzg_b27a?y[h^b=Y;}4?V+C.xͣPO@jŝ~s~+s8UҽJ=^0?j>~x.+C>xM|1t.8Ƈ}wVL_D{ {r9}|)ލe$S1ԏg[y'c^b&=n0ړȍ GTKWW+Cׯ\(XWEO6ߏg+wIF4m.ztn M2_V13S~FXWEO6ߏg'=|ѕʐ)%d|xާFu'$b|nqGDw*ÕT=צ{{;ޭKaei霖zkgijn޻0|9ҼJ,zr9 '=p|0>]2__ ;$cqk|T=h;#ey9PiyIF{ǜHq֣eh_rL2'gx<&>.ԋϺ:~2\8r^e:w1β;O2~>_ٳ']8M$'yިk|pS,}~+^=pjɹ,uI.7cONWk6gړĞGFj+w@l%gsWk|*I=8{rLdO{Lw_}a{W>w n^r6/Y_oCM73WjI9?8{r^ގyޚ&{ؓ` |q6~|o˯xleB-W ƨV_Oٓ{qLn4`O{L+W&v{ڻ|Wn^OrbĞ@};ʞ$$f0߿zxcSn{е/8Y_xMϺk71:LĞ@COn.$sԃgfk`>Ow/w^WN)ލ8_ Jw?BFؓ곹5' f7_R~_C>TG]pG^+SVbnq,u+p&bOf$6e0${n24=&lbub8FL-> yBWu2'`OG!W߻> &?p='I|x<αi/#f*lp={8`n|곻cjGCa"dIh &}_Y7+[,\< &bOf$68`Oݝ}crVw>p'OeXoӇM=Im0tsAoG ߻y,~]2ؓ'JadOG,`0'[.r?t66ؓ'gO.G,`0S s)NM;K'ON*&W[æɞ$6X`ImSw'Hع$VhwZmEܻˋI9LĞXГ3 =mMuW{U'.??~?F a"DCMIGG7L~IhE x%!$^+e><'Ih ԍIywG}s 1bONUbMQ5CIh ::ǵ= 1bONb(ZvQli' 470#e{raq--vlŝ8M$qV裳_b2ĞXM;EJdOG,n0nWӚW ''(ٮ͢ɞ$6X`ʗqLs 1bONb(6beo(64ٓCL ''`w:g,1M$q!&CI[۬<&Qio77/Ot{8`!DvbQF'xY<#$q!&CW\KCO^`OG 1b2ĞaEG' 1bOͰCG' 1bO'Ǿ6Ğ$60b2d=yV ٓCL ''vwze+cOG 1b2ĞAgK[?+:ۓCL ''ӹOu-X;ov$' 1bONd7d'^yx`=ɮ=Im`0d{rk_nws(M4S/믾:!&CLHKWR-Lzr(V^Kw(Fo\qГ዗$s?M0ѧߓaq'דO_}"=)I 2âX/z=(nVKlCBO/|կE 1b2$TGZZ3|y=(n Kji!ސx!&CLL:,zY*^O{2-ƽ==Im`0d{ro'ƿNE< h$q!&CI%{=y'39 ؓCL ''q5c'BhRǾ=Im`0d{rXO1vzZQwnFgRǺ$' 1bON00Λԓ{Yz_buEj~rן 1bONd ҈] ]+ݞ$60b2d=9xךbgN`sղ' 1bON谝^$Z}Zk&=Im`0d{rbVثz=_2{8`!dIh!&CLؓY' 1bOf$60b2d={8`!n}S' 1bON]jփs$q!&CT-ٹ/u"$q!&CɉT=H5e$q!&CIǻ]m' 1bONb(V^v_~QlWKSeOG 1b2ĞD{,ɧ'xQ' 1bON(˅^OZcOG 1b2Ğ뢸].z2,' 1bONY*^Oprm`0d{ro'fs=Im`0d{r+j^OIgL=Im`0d{rWS?v{2,;M=Im`0d{rXw@۵X ^Ih!&CLؓ8I=o`,oIh!&CLؓ٫n~9z4]Ih!&CLٍؓwx1]$q!&C WREk85' 1bONl {W[gKfOG 1b2Ğ̂=Im`0d{2 $q!&C,ؓCL '`OG 1b2ĞVlwަ5gOG 1b2Ğ˛隐vIh!&CLؓ)oUWӚ=Im`0d{r"{6{8`!$c3mxn7{ݪ5]$q!&CIěީf=Eޘ&{8`!^VL˕PړCL ''"bg(Ih!&CLؓxZic(ZiqIh!&CLؓ-رmOΗ 1bON`(^yc' 1bONvQO؜/4ٓCL ''vXU](kiqIh!&CLؓ.7bu&7C' 1bONf34nZ>S+7˞$60b2d=9vW]g郦$60b2d=9Ԉ飦$60b2d=9Ԉyp!&CInclOG 1b2Ğ̂=Im`0d{2 $q!&C,ؓCL '`OG 1b2Ğ̂=Im`0d{rZol|ȴؓCL ''Jyd&veOG 1b2Ğjj2xS.{8`!$V" oy{8`!< :-Ih!&CLؓ24^ZZFd${8`!<#Ga 9`!Nx i'Vhcbʴ'/t76˥f{AzJ2HO#d &Ӹr9D|V,,VW.S=vFwvʥƕK,q ՑD?W.Ҏ`QRftʴ'_+or]]]ֿujb2'λ4\v/Q'ȯw z\h\ZW#J\J}ƕK,P`ز?(¯Dgnh\t6wWV/Cuv ZN+3iOjq\gpxh1azO1n\C V7ݓ1heV&VVk0c+ƕzJdٯ{=AWf,ϞN\]ڿqmL\" Awvވ[ƕl'l;޽'W.|'-oܰo[0W.d~ x<0ʜٓ/߷QŸBc21W,^O߻+ٝgXuDcq2 ɬr ra]oTCq߸rYdv!2gydv4`<T?W.8xd feד~az6g9˳'m1+Χp'O:4\j۝S{= ZƕK,>oTs*f7h%:vdةkXQոridoA܎9ʜٓǐ+ q.4's_Oד7\bUOmǽbomß6q+\y硠L*qѓ'Yl'6i\Nj:i\˜'+1r%{2ޥ/ڿve(JW.հ/|H :ބKkDO_W,Ϟ ? .;[=D֟L-4\bob-_z2l+1nW.ؓݿ%^FQei\7C]oEXĸq@)eC؟u޼^Ew[ƕKj }>l[+Xik߬j\usƧ)˫goOIڰj\z xˊW,Ϟ~rO#o_W{^wwj\BNݎۿK% <+X6>_a2n\哝[GO Vl\6qIo2gyd1x?)c dyP2+W[4\bɵN ;յXǏh\ Sc!^_Eq Ot+sgO?siŚEJq[og㺣[^G۸r]JBLOJӸrޱxx45Z4\V}=;2gyd߸Rco=ddap2+nOэxAah3I[N+ګuڌD݃'1W.EdK=9*߸rYd<1;2cd<^߽4ds27P7B ?FUϷ5\bt8a.Nd|ѨjGqS?a^߼v qN& X=aqUQ޳-/ƕB'Ưb:ڸr?ҟVj~<6-qitNc=;ĚWW.ҫ|Ǽ X=+ۻ;aVf51˃4<j=Wvw֭{N%_y~eEk;ZTRh(UpDjXO7\:O\o_>Z/W+מ7y ̄1sW'?ٙƕ,crsn۸OOd7\^ownmȺH+Ms0Y\berɣx1ZypnM_udk\<:jmq;,o~ojGW.n slE%ؓGfWf+۞ cӾ~zs:;jH|9)n6Th\7oo6+v7a}W.UI-;w#T=)Iٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJI;nN'~efOJV-mZjqVQeiٓwwN^jqeϞeiٓҤbaݞ=8IO.iQZb4Ep'c~Vz2~ݴ,-/{Rnli򲽵7g MZ>QO].iQZ^4kEq'-OM(x?ӓd(VҲIi!ݓ:X)i=weeiiٓB[O> ,zhu;Ң'4;=yo%eOJx.cq=y0tN=\slOq_EZ=)Mv&ղ8^XkeXvnY+ʹX=>YQBӞ\ﳇOҵ9~$qfӮ𞭴דV;wVnRڏބ6%eOJKX|zl`_m}ro.>.ثܭJ/J}/Z.{{-WGj}޼eeOJK\ܩvK+;uׯW{ឌW4vmWK7ڷ{k N|{X `#gȰZǯeXeeOJ5U\ }xt4VMF7aAS+` K=Ŧ'սX_gO ªPJyͰ8|i1<^lNj_į[=S*Ǟ&kS.Wڻqjؗv~YzZ/,'?RIMkLeءnºZyڋ_n5Bޫ#C)-{RXb\ܣ&WJ*_y o[dGb+qzX՝]ڣgu}+CڃV0Iib kq./ zGX8QO;jOM;yXk(i|+-vU=yjk^c'PcOJ5U_i;RY;XSi=}ճ=)MT=xvKVDމG1;="\yn_NP 5v绖RZh>Ѣe庣q'gE^X⮚8|w;qܸw;/VZN4Zzuubw3YxW2ӓ_{VY=hzV<=_:Ov;]oV^}SZ4gCllZ[{F/ڭ͝UO٣[[;Ln=a۾N$/?HZ24ۓkV'aW4 ܓqT'= IҲ'yX{</i|SZ*4ܓ|)Uʋ=)"dTZ\c;sa{2{7j_Iٱ'yxZq^2d|k)eOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)I'%Ib$I̞$ٓ$1{R$fOJII=)IK=)I̯M $iN$5uIvLIENDB`hamming_rs-0.2.25/assets/hamming_rs_vs_others.png000064400000000000000000005071531046102023000203010ustar 00000000000000PNG  IHDR-9 pHYs+ IDATx^wՙߩtSnVh H$Y=;xgޙٙ]l01A%$BYjB9:*j ̌~@ju=ꩧtSZk 0 !B!/1 E?`sB!B\K!B!|>6B!J&qLӼgB!B!އdY+ݶm"H!B!=TRB!B!B!B>bB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_•B!B!B!p%B!B!B!)\ !B!B!B~A WB!B!B!_.B!⣢ <a[XyfFY\/lToG*\7P(ƲL,P о/Zeb|A{цm[rM !B|(B!BF(a`r|!֚@1rr9V 0>A|!ֹ@;: V B!ǎB!>v4.Y_k+56%br' E:uɸj2ѾOΜPA]jYhPֺ'>e52%M! ?hԥ~] О B!臤p%B1̯%5J) Kstz1eeUFo?v.cYgin=-8N 4t ^gخeTVP G/ckEi2-4݋-.,A ֔^+~giJ ʫ)r.B!.yB!9aA| X8?kĿ,{nKF.@/ha>ɗonVvu4-^ k*T8.hiҧаz;h ǩ>qBaeˊHڻW>+)-ғzϚgB|\|qw}j;r4m{%gϾ0mR9y=;}WSW.JEp3B!Ŀ?)\ !B| @fX }sVAXJ0? WY$fw(z%4ZkРBg3s{׼{uz_-M.]m6p]p$$c6Sq̺ᾇGUHyQ9A=LP}tsuzYۅfu68 >~-aa6%'p]\{201-˶ ! Dl2>zxC11U8=k_}gw0yL"1-| J -Mr5h. 0-lw]B,n`b8">~&C]Ke8 DA'ϥF> ZScF[&h1W},?x *QZ ! n%iaZ6eb/qgw;eXX-t\}r4l¶mF3 Wc o;<.V- =fH6%u&'.i\< kĴ&Ofd}|Fpev{41+(%%Css ;im֦>ȵu~RF/{=|}|q ɼ9ߪ͒q5̯ Ga4Hgc1 L²6 OC@f{s!cD) V. mh `Ǝ[/pWd}\6ɅB!B!>s#{ȫܢ2Ϧiz<01Fu$MohMzT׹/aBWS8%7ш '|.g(# (Č&G{7O eYXu < k﯁M0-L¼l[ 0L _uOfb&Qφ('Ba!@1vN¶E -Bu>Qk-ΰ2v5u@C,,+c'{8_T.;8>, +j?51 /O:1"@78 6>5 (%"8#RCzPJ(;JN(L<|/6텴gqIk¼9P`;.{ }Y2^ݧPdSf4*l &޻Og`Qb^:P\9 AlL6pG(ab?:eb8qbA7(+]FxΡi? maE,6 e*\|S>Aab&} 2za}bG\ k!qih'@Y6V~k>Qy>@8+8:O~SL$ mTw7ɮ$+eEO4`X&{>&R( ֠!:Zw/wlٲOOc19/;xOB!W!B/=C{:n?o0q &^/l{f\AыF {{~z&}GX 0UC01hEFO}ƅ @)u>vﷴVpOӺ\9(/E܆>2ͩ m}ƶߟ Wr5ζ нuTh(\HŢXN^A' 2:zX> Sa߶(C]_&W{V*ԿƯ׵.1ۘ?@Dp2%=ł2P2106ld Kq8a[ļ(7e|6L䚁-uH(ibpqRmϷ/_)eP3-~-K(+B419s&b&0qulݲw>mS?y<3Go=t!Bҟ!B!Dr <4Kc[z_э*E7X⫼s,zWq'sZTjL Fe<]/=ϛsr#zy0&ta0UnclqSʹ$}\#N2SF12,|:\~@g Fa,gG6<ʹ$5S@a =IqqHgJfyOn9ՔX 0 ih9vbKvʧnexݛyWY|%N`cl_ᯟRYXIm0ofEѸY=m`>w>0:iXx*\Nu̾ml~NrPPVь1cJ ulZVJ*\Y_fcix*j1jTfp:`iEY6g+?fz}mvt;Yؠk?ýfvZV?lbsv4n ͩeZ L3~o #??5FX鈴[/($HŔ)SvRxGwXR ^Ft&sLO Оr"Q{hض;h:dCԎ12~rs.^A*p<6\f^̹]I3N5@j[WurzeX7W3ؘ0JHѽw`ۡ4l5J)8c1:FJ2nlhׄ@b<}[6 3W5:f4v(*r7M |Wc;GnnĮi8Jc{t`a )B1L:(p?P64 RTǬ3~nno2GkP:!!B?HJ!@qaJ)IXd;[im-(n7@?|ӌawo;r'J3/eVf(De|3& m9˿򭃠[<2nLM,Ll#{`WxqY=;Iw&Š+I1g7C` 8ZbyaV:i_&vsꎅo^bkx1˙v,ik%sy`Cέal8¹V$e[#jHak@Vn:e՞l$N4J3{Xp\]D~ tX|{?Z8hNڨvX( ?Jx- 9?*X*|u'[tve Bk2랇zn_L!`gwWX5^]s'[iOeHeaa8 b5 r3s][rX3W8̩7cid[Ԑ8AgYwNgiii {2(L#7'ySWbb^^-GZī.3l'Jdob]pϭS14+ iG7PyY^tg]c8N u',oc|YpkQ6 $lbo^d˫x}I4uq=(8t@xϊ {SJ1pi%+bk:Aٌ[#k1߭_˦'a">.vWغrt̗L!cto )Y:;PS`amt>]/ Olg1$1҆Ak>$!vvT0`lfRtSwsvۏ&9;J?KXD%;Jd[TaLj'/fbf|<"5P,ߖT8v'Ԗ0,/S11|;pDp+>x;ӓXMc21ʈ:CظQ=nU8:K p+-{po9:T̓xK9cZrr2ֽ>ÿqtA W<_\b2ju_:\ϫ)knqԔR0a0cJ$03nD- WNxp2cqM>bc\UY?gEa3&w6pzWs2t~5bn^x>WR2e z 5WDΡE< IDAT8UF⧻^SV;OS9t`k/g9ɤ? _fn1%QmjfϟO9}Gʹ%T灩]D˼<-ᲇ~s<]LbOT:nq xA֡JA9XyOrDy}`NJ)̃* #D1#HƏ.M'9?[Fsp\*QFIE^Svԇ׼¯~E};? >yd&U(Mfa+O'ֱrK<)T b< PJlmh ay;}r5mg)Zo`콱!Q3.LCˌYDyjВWycFQ3Q@:mRZrJ}Xrjk9:&w_7Fĉ"9m 3 S{_2Ot̻?=&RL'1"dJ֯ή{38|оMY>p.s 2):Yybk\#?1qMgPs}ƖE$MfǺCkR3IJmT` s ~r [m/O`Ÿly_/ZƁ~O\ ttQP̢ͯm\s >Zsxc|'|{f6˙P\AL~.eEk?˟}|2=]8uc[HɖS3:BYn`If_nrxndgt%x"6 ;ܖ^6Eã$ݩ4A[ɚynxM/򵿺k02Ip*<1Ak&70%\ t1c&q-SX,kisgo㑿cu Ps={a#dOPW$@m>Ffs,{}-ڇSoB4)'0MhFOܱ1ʣ7^͖X>e7]Be`\r N4plMjkXVBInKOyK[1*}sݛ8zxf1N_lK#羚_z/,ID6q2xa3#p* C7ϯ9p."F3oo&4Mw~/?: SYPEΐs5'n{@#<,]k?@ʴ⋟x{7ƎF4tF¡8 ^m6md?ɡ8@eh)A,5/}n*c&i`ecUw-5Tte~ͪdG=/*# .käy\;6)ZAX0J]]s`}l?qdJ8Ւ߁& kn߼ U:[pwn޽ӧ1͎12|Ð{z)DZٷmss()'Hjq c #㣔Bc$t0n'BSG7PFBO]Z?n :2Pp`TNe!q|*P>u#<$T3*BO TDZ;vejsM[/<xnE pKEKkPt'ޙS4v$ARPSMi~a$ kOR<0n7\c1"\ T( Ճ(Zl{yjDmGSP1 )N̟cl#Mʹ^&L~J06 D8N&^ةS d=A3k-g $S.ax'#НL x ٽ}>0n4U(qeC+e@utqg<:] zw@!BIJ!HhÇANl?ȱy?];O@(Y )4ƎgXLNc^>4&^Iـ~͡%b+Iڌ Kh~^ԟ̉:A00OԞKQQ;:FPX)PF(EЦC~O,PrQ@64\MP\s8{*"ǍM&J\kt7A"fNPFCEqZOsGsCI}g'02f`mEXգH'I57 D(.+ a.i.H  `Nb`e%-L!pHX7l| bڅlv RPŠU@{z {r\-,Neջhh͐; P(  5ybQlS:b:8gdRnh$ݼC,o8TiHy GW!0+P7IJ;zGfT-c@O'VG0&L ()&wLA6t4Nqde1*n'xI=F(/d'# T2qjθON" W-Bkb5WJ]`;CV5#(F Νc("|*@iȯt#/YZ$,5rTʇk8؆G&ms*ƍYCc6E`Z^&ʀ cBj/aE`(S( *QA =#TCH DtAW+MM) |z_&B!~Ϥp%Bqd(Gf2v t7dEuDkp JwlSB+b.N}]OsU?TH0O)ww k[8G{ε:%}%Vz0@|Am7Lҝ8sT /D`@|,O9G>?3&yqUۀz@&Ic9ZZ;NuUcE KP@%TVA|/j9d Ap&iH$ d?7 Ӳ-37[C0b%55,"(880)r &:%XH 4tX qIv6sL4Y,Y^aRM8c1 zhפ =-'g tF/'ܕC_Y~ ' AljtŸ+ yn[p=ųLV,aKYYGؚ$k @+i\G YA 4`8c1q0"(3N2Ml6_j'nG#ͭݴR@m|U9ahSі!gb5Xa#M5i–3L dA2X>W!)D *qIν $5#Hơ,k{ځYၟ#24y5М8d|C/68\Z"{}#G(kB_890&K'*2fhbрɸ^mBsb4d8,9!r!*5*;St~[a՚Uce?M*8DNrʴT`vy[B@r1,4<1uאTV*A10I?۳ek~VZoMNTJ;KvRZ*AEq˄3%^{g>vnz6bϺgy&r >-|˸fF!yVr }[Zk>J!BĕB!Tipxgg95 y>lHGM?%$ 'h07 ؞v\2"u&9d:KK!H>S =]©4H{$U$閪RiI%V# &R-Zq%Il8.S,'K}i7 +\ sm I`hS͇Q(chҍw9Sp, .ns'c'fIS k2JDzN:g= Oh>?bDŽlXRnL&2QbDw9tյJA RRP*dKGSO((eJxG;kˁ _P[Bry?ʢrD2(Bmz`wshQ}0`)1X(&58 CK_, h\Q d(u@eXS6DZUL8H`!JT#tLG<7 YZC:h]D &SZ0BTBlD} T= IDATP^ )c)PB=PhdTC&W;D]R! 9\(jljcLTI/C du|ȆT$g;_fx`r%ddGFUTC9o)@J.]+5!ʦ@D-S0GHl6!& 8N~Nq'>v yV 9"=@q^c(J8={ȵPhlo1͒k̒klcS/ce򪫸Ń__ˮ>ꙓ&&F5{.p~Gxps ")kG(]8@!9ƵlQ@J/'z 1/O(\2Tz( @ ͍yZ4=y5TqG:ev)h,*h~^R<Q]-Q)$K@aJht/ G6a.^̲Wr5\ң^@_{D %0\G/G=ŏ)^:r͗}ۊ8,V49`-E vq&c씉Oܽ^2BȠ$I s47[b;f;wWiՈWЎKZ Ͽ}Zr1x 8((G`bԈ)c@YT <t㣍%c;)IF"8^-<kuzP:K P(11c^9}]'dĎ7`-n.hε0er3-08? 4db<7Y ژ8 we> pFiQxN?G}57%+|l ӕfTSSdiZW`avdpA2uq pM}4!}UZz!+YTG{cZi lwcCLk r8s'BǨRH=U贁qF`F fUt|Ʈ.1В̮86x$gX 4dTOi!BKtB!b$:=h &N VpI+`KDCm?筇u}tK︗[70y,/se4Zk'F (ffKi_͡w_ծ>,*SUAyU|o?41K/ejs7rWS K;}&k{?ZC6D{џdR]6qx>&HtX:]FXd.!06&ibDL] :<]n5;eorZ =f]|u ;y8ڏ Ƙ""ܠm~l0qDL5 QJ Klu@Ks5Iۈbg%/$җvC9VccM$2je֢LggW`Lmѿ _?{xȰTLdʫR:w;ho QzXvƹl%l|cdBLl[g3ŐrDP9+O'YC'R1cjOo=mՏEf\<{4!Ϋ}%6̑YzX7:/7?;u^>6BA 8FҚ2-^<3?wח(ts3k>Pg+$w9@bK?_}=2hü%s7صlqH~UcE||b϶8A#̿I'3qq|e,X< ? 7e"c'w7N&]ֿrel2e:M"qdu3c 4,&elS]SC=@NBY(B!IŕB!'l-$P0Q>˓{Υ-Lc):8%j'۞t㩺9??[ OL12#cp}P} N,Cq@88~ A#;=Pe 4i\6]s1Y䩺#.^@~ @~<{Yzvo1wqӼ thC)S >&;|[?硃w+U&mTUit7׌3a cFp2yNi=ٕfr(@!Cƫ\Op,9?de\*߇ i3&:[7-#Wq,.Rol|y^a{s'xp7sd u,V|J,< yrKQKe&3kYe=O= xlLcc7VN_r"n} 0'<^簪o>3ښ"Bʥ!8|(*0s:<8Zy Lؚy{xd-0bVܴ P6qd/|~,*Ơ/gڜ5,rWiV?7/sǢ-C=>Ϗ `ThsRl=bp}.lL<<@?G@]47B*J>b(>)]Jn-B!OWB!8201{ֲ)c->[A+"Q,?< GX+7-i2X (df춛o=c?X&cF6*x}m?#^ F^dž^'ױQ_X>!P\J>}>r͚[^eu/յ]33tb|f9"/֬}]kiƹe!W*3{Q^ ?=JO&~cE(M~Awm8w'~>Spۗ0k([<R@ QT\y)gQ,zul6.׻C^c˄ǷWxvի Trznv,02I8F1sS5QHHH3j% 4tgǪib֏ik+.uhQ.AFDW\a&"R _0bZgaTyXkKѓ?͕l6m?oO-eѴÔof;/o z|˹e"\*iIQ4lb[s,Kݘe!T38" C!QXTsr0~/Z-xY~|Xf:>/}' D,Yr;Nm<ϟh̙0=blQq1/;mx&" !a$Ө\>u}?t1xS|j活&o?Ͻq]yʅ\lPoZ╗s{پ'<mOcZ{@0pp3W?ŋ/gWf:7]KfщTV)꫷_/h~,K] A!b;+70VvoGsX85Gxbs/f7y#+nX:CJv]vl}30v^-+1>ʱm~3<10)++Lgy.g?LĨ ˟ે}l"m>8nzW3`7=ΰuu>e,F]r.3Ζ,Y vcë/EYK~a@ <'đ=N0:5e`jN!BB!$ulk0G9 ϰgxS)KER8&Kk 揧x| ֛+wre4Qd%v^~??1?i WYFAan]LçyխY]?BwȨ QL?дew_ۯlfzh|ÚĘƽXԘxm\].vhpyS>s77 g-ѾZnor0siX?Ph(*FϘϒ/y񍷨 `ab I*Fw2Xa^~l'w LøZٗ=0XpHPs|+~C[G=Ow>S Y<!K1v"Oyv1K :jp7,H}Q5YcA0~D)&JvηsQ\tӾ&nx;w[^_0RC: )190Q[˾Ej+@'s"lDtá>J'wd]6d186%˺)QDK+y92m7~C=9\Aawsnۿp7::ٕQ.)1J e֌N.mbzuM3rN0`<}XG+qr,O.V{C6qL))"]gs_è~ª]zk  L&C2Wg"׷li;?£͟2}?<ž8p}atbҪd,Iذn|Q:N,;|Ӭp#6?H)tg 7m[7z:Ws?z֮cg|^WZ Q{+mƂ( 6_+|\P=4`(оNo<ֽ ?x++ 1[q=w%bVҥ-r3w׿74>2O~Ofg\lX"gP3nw^-h+Edcϯ" A{:۾qᱏ3[VfS()phL<2(LJ3IZt n㰕?^f6#Yq,6 )y2 ?ퟺJ7CIjoywЅƅL99jMB!#$B!> TS=Kr9 @肫ī< cis'|n3=OAfA) A,)f;Havc̿Z.:8/kL7Od_:ϮζG91d Gu2q6S.+VN3GVZ0^ -c㵭qc#[&Pz 3oD^*`y̚BKHDhXY'7~WS1mHk9 .aZYmv*|"=}ә=9~ڼ88Mә8g&3,ኛoәჶXT+ 2m3r&l&w$&etIE-5Ls"::HjBڸvVFa2-nuaAK&ʒ\̂e9PZΜit' 0<ƴi&k2]ub:fвj-h)5Qh]nㆩT`ݟf&P|fG.-.n++t+ xX<)O@)R(>ɒp s1aN@=f>ol96z͌5s1\9-E)mїqg:jlf_W]+2itqLVĵW.Y2XUX89оƠƙLwEL4Ͼ>wuqLidN,ş 7^6Etr xQ;Zi:c&/dK†l{C1BK;c V\7-f@21 4_;3^ܼF6N~f7 b ;wLgEmJ̅JVpݿk`ZٲpLٺfLeKXv5\wRj2*c="lXu\h6XB!#kB!◮-k0]q|p0TW#;M,~#--np(1tǏ 0l2imo @+}GxAH[ &J%!OfXb)46И%Ƚ>MqRÃ.S-V{x2uc'ʔ&ZFBm,a@bZ[Z_I;U+3@P9" 8>NQ)cCw'hmct[ɮ0!{X D&=\?K6WƼg^({6>aeK߾Jn,dM([ā:8'VIr>4L]DXc}UYlBxhJbp2}$X9β퇊cߡI?4SiIRINX$!OszWv2}9˯yM /2 !BDWB!Bo(yZoc@yN$8^S}6,gB!HqƷsB!B!|M<|G\)W9B!#T\ !B!/P))G ܀ p qٸBT.SAǗKJ!CWB!B!B!bDB!B!B!Ĉ +!B!B!B1"HJ!B!B!BB!B!B!#$B!B!B!Ĉ +!B!B!B1"HJ!B!B!BB!B!B!#$B!B!B!Ĉ +!B!B!B1"HJ!B!B!BB!B!B!#$B!B!B!Ĉ +!B!B!B1"HJ!B!B!BB!B!B!#$B!B!B!Ĉ +!B!B!B1"HJ!B!B!BB!B!B!#$B!B!B!Ĉ +!B!B!B1"HJ!B!B!BB!B!B!#$B!B!B!Ĉ +!B!B!B1"HJ!B!B!BB!B!B!#{'HdZ1cXU((Z6cAhqŚX@Jޣ~,,֘ݖi?`I[^!B!B!B|"IAJHQLlJW9Z䒵k"[St[zGRD`B)vCG Q$Isr?Lr\+B!B!BO"ef(T(Or=(tuHՅwbı&qiV GC+ព03XcpΙٲbеՂ !B!B!JW6&+aDdh<v}8'XrUsJGy :3}L{p¹^̦7,,I׏$I$I$IۃU+r9qÌ{-nz;FT aF6ox5mc˞Okf5+O?íatLI*N˄^;Dij!C\ rؿuwgcq )'LnK7yv}.ÉTj bt|Nhny/cM-ci{ TkPLHdݝ7swG':Uj;yiNjs;pB!' of$I$I$IjyW-Q}*%MlX!.7Wp;4Iu<}wG7ƨ[s6gw7SrBW{镜|wsBg] qrTJ='s‰t@-T k|~9 s߹o~f u|ae9tc77ΗV`7^E}U;;S_\8"'XϞ/wEY(V~iGV{ALZR<5$I$I$Iz;2j95P$ aC|n}[pL(p:e%jzesTpUZ&8Bμ|"mG]H)3NL;#Azq7}S…Ì|}շ}grYfv`#OC&e/|E 8o?᫛ww/8]= k{^Gw3\{F7?#xR>x9,#&!yU$I$I$IRksvVB Uj=9j.;fB40a` '|Frgv spvmaFd2hfhd *jZYyF(OڍCZt p >̜1g9ϯȪMP 2s-Ɏ¹\xE!U7]{OY=Wؾz5?K>?~7,&88sNOxl5M$I$I$=Yqj"D|s3Ҏ^̅vR&4,*R,&K$!LJ+Tk5*X\ uҴ1^DŽ(& ȡl[GI+YKy`) Nr;ٵ{ɼ8خ$9C[D\f-`3ww8{~vq{;;VB kP삾﬒ǎWH9Y9$I$I$K[% gY DqCL2>~-ogË\ɬ yFSs N0+d;qm"QPby8rh`,f<'䒁2=]S38y/0Be0+g21aDw@l:#`d0@uaUfKo/Pq覣{& 308De77nH$I$I$IR0jidcI[߮bC#v҉OrǮ3:詧4JR<& 퓛З;d<3E]^5]ƒBc= &H"me hWa:(˴!S0yD(i/5?dP,(e&Vꍶ "3ڊӗ"FPq9%I$I$IۚUK (dŞ8b}&容,ըQ?Ğ݇2= {+{Hxu<~]&zRցb@TՑ%M!)P!NkdZd)YN8PhN P(g5iFTkiN=J 1Bc? !PRj4kCJ(iq\r7:N$I$IoIP,)N(E ZZ q7!}$O{/w}?_>ǖ?tNgPjEg$gˬ0aww,,nI9FMs_ƽ‘#s6Ш"j۸Q:=5#wjhhM6111A[[Sk^L(K$I$Iפ\.3g)4:jQ?? @Cc>Ӂtj⼥to|[aAG8Xq}Kx_WX<+P[ xy#KX||Lb #ebڬhZ0'UB=) eIDO֪LV kk6y*j9PbF!2$XQQlɳ )yPn+4"l4}QXz?V199IeEJ!Qe%I$I$f )}}} Wҿ$VgdY qCQ6*ږp~߷Aaֽg%>,9Be4]'vgײjZˎ/_젷'!*L2967͌m6 t2<9(L@{Bf fb&B7 :褭Fe|1;(' KSh(#AWWgs-`i:;;Yx1ZtMVy$ Y188IӔ^z{{zިjvd$I$I~3yNnjsN&&&Hө1ѣ8{;/M{>KNqH(/˜ a9 %)AytuAF}swm^F&|j=(eΜnLsg14cCػF¬(oJ1PLN2Yf䅁}? b 2q`?G˼3hU[[u'SSFH R(;w. .$"*Q\I$I$Iz}tt%5 ZMZ#OJd@<-?~|q͠'K qI<lrj5˴73=xBmd@Rjy;- y"KN,S <~1'LehwgPAFZ! wle@%,d!3o<}wd@ QLRHbHwngpq荁 P[*Šo$"8Jtr|ђ$I$I~S.8j!/GhL|sլw(D9 K7a8 c>5Ft^/]1BB9iN&6>I9KtϢ{;8/w?'_tu0O<'pi8T( ] w<#_e+9wИ>8nZ*2qiZq%I$I$8*"jz}zP[#??>vBdYLAܝUvƭd̟qmÌ|?W K>U7}Ϯ dq 򼱸b,:tCCCDQDoo/@#Țz#I$I$Zr4eܹcXqr DyN2;D_=ay?: \syIs/U2f)'뢣vyMlgkⴎIҨL\:s>p ޴j@BuJ'Û'|nK.U9 i @\3p7wṝ쟀Z6s>N~'\y-.;N'@{yCym!ϸt#bΚhRb4##`wέw=΃qp,#.2wsG>M.k 8C T0[_9XsU\ugq޼2Iިj\󗓦T۶mcqI'…շ,$I$I$矧Z|rf̘s36IgpՒr EB|x/=_b\p '' 6DC/?u/SD36ͫfycvכ (&%zSu%I$I$IH$I$I$Io+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$+I$I$I$ jE99Ye999y!B Ƕkʳ#BCMk 9yf9y3}d( oҶyj3v}8'XrUsJG)4!P~1V qN8\KFe9t$I$I$Iz2jEY!'N"`wq7-?Xϳ{Ǩ Y l ϰml >w3;"r2hʎ[o=e S-#ze#^~2rٽQB^*bgcq )'LnK7yv}.ÉTj bt|Nhny/cM-ci{ TkPlTdݝ7swG':Uj;yiNjs;pB!' ) p,I$I$Ioy'(uxDE5" ZN(O!)T[KذC\owGiևyrۏoS?b6BSlW7?=c+37w.x+}^u[7p|HҴY3/wmw9߿qqDN ==_݋8c'߳3QڭG;Ӭt#A$I$IZL!|j.{/)F('@R)ZU˩"i zv< Q;գZrr ŒKk6dpj5B*d{5._%\6!K87r= -Z(5\u$~FgrGu<<}cl*T?ĮE[7\çO/G𾔮gYSqn Oxl̂.j@Lſ$I$IR!00ĝM6*R1(̃Bן04qS[eZMT$ Әu?s ԢtKHP*BI ^`Ƕ=leΒ%vr3LQ KO_̼<bƍlHNZ^KYp,ظ*n_Ć].3u=_%l^ylgxyOΓNcsiov(!@Kl 'w!ݹ aAudB~I$I$IU1'#^mב;;/>ޗ _+ZN 9iAE])Ǵ mVnZ\ +pb1سIFs8e vxiBRZ(t>9]0W,Av@+$Bcٜں˩dA&^cvs|lkV@Uchk@¬̞Y`.g/.`p=sjP$z ]7UCرO%WYeQByNJ%,#MS<ޞeQQ׉h$I$I7h<>FHsP$D̀ڊ_I rxpj;mtu3eHLOw3 244D P8Ju ;N0 PbtxCw b #B\Io9C 1Qƍ^Et'x8n$]QtU$m $I$IOrE@ Y1X^m_)3FpWQ! :o7FP "\bW--,cr,= BB j)3Y;>>ΡCHtzrb8sOV#MSGӁ$I$I_D#ʁW)w2cbRyEcY3yxI yGʲ$I`dddzV&Io ڎ Lο;38Ȟ'y{y:]:Aȩ5Zȏ*>BKTYb{1rw \u I(od7Wk΁Xf3O_ʊn3/.`B^*f^+>g2_?{wmW]|sf$@b@[D Yc߮m_}|l} "FN ) !snnpސt}?kanٿk6:/`˦cl==BO"θv W% IDAT$9 iIO=mn>|nTj݌u  E}/$?=)7:߽7Z:&Ӯ^ΕgґJEg(1aż\w 7>5bL/z/]>.t9z $:aŜn:{wn)?(H;&{pE#ȳ iz\80~Wg_c ͔E傋5.MS(W$I$I$IUH"&aɜ)9TN] [LI&0a1uR̟ČNHLI(tbWiqԦ~v]tQKdɑhHRBP9KŅGrI؆lW N`y@^ $i$.<}` <lf` vNcB]d.73n>G,{'6d{#2n&3=%KdjB E$I$I$Btcy My$]cD؜byGĢ z0E^~ad-@)H `o"H}o1!=~c>`!y޾Q#~z֭[G̛73gPk$I$It} >[#gb0Bxt.no _s<4 /^LOO1Fb~"ґ~ 2@EC{>J|+?k^gKn.I$I$IJȥK-謢ؤYolhJ5; 02>:F{l!PVɪ`'@h6h44bdlJRRedGFV{lG VzYd#5[fTӃgI$I$It83\.BF֑Rjx=TjT+5~]*$I$I$IWOx$I$I$I+I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$IP9UNhhhE *FR"?MZaV y=65*Մ0(JAlh4i7IH*UՌj"52UPH )i%RR(9EyV?$I$I$I/pUzRj' B"DiF֙kB"IH::E!ڃ^Q!!Tj*5j? }h$k?c$d!Dɡ˗$I$I$I:xڿ+S^Kg׳!{dž2NtX#xqI$I$I_3Jh$I IhlǞM}NH{8g/25:1f? y~OJل"'&",!q*NZ;#f*Y`CO]쬧$c`K8?*[P r")1II=̚5O٭lĎ=˖xN'YIH<HzQ\/bG=%sӎYƒ X:JvhR$I$I$I=U)$$Bsr]{+߼2ĮzJqGq^ɥϥ'ObrJ+9@ MӤN?"=CG@?m~׸ejyݱJ^Ɣo]e93RƦ9P!o% [ϏJX{ qW\r:01@l&$!&v<56_(m@z9]~)2N 'J$I$It3\P B M+M :М}:= Cٶm͞p.fi v9%q Gt62T%@{h>MG PP$?Wigֳgr̴]Ofoqv~k?ة?P ޗ?ܴ,asvaX/s{?y? 򜘤Govu.+:Sش|;?z65O 5'҂FsI$I$IÑt R2~6nO?>՟y$G c-vkr3i>3h( ԓ`zXmB" E$#@@Q5sVq;}cOgaIo3wr_}n*N2 ϲƷpoz!]S8abAWe{T]t w4+z^mǿw޹gg]\u~nFza~Q<߿mujdLAk VC|,qVnV?yó gKrRoJCQo~]0C?U:;fI$I$IÑlbB Mbxlyi3/fL-H*Ԫ ôS^u]sӫwU28B{mFnK$I$Izb|vmb{畿v>zP%vpak5d=tR!$U]kylObּ>yC!R="aKY-=tOĞׄF4c܄LTܳ޲͍'1m2#( )cmb@>v u0nd&B{PD"0L$;ٲe'0E$I$I*}/u/rU b#!ͨ ԇY' X9'Uo=eGB5R%t1.J?OEKG.dq 9qtՈy;Ny?Myn::SFNHW0]]twr?{4v߬QԺ B{ DCGg#3(Ew8r$:ֺHoݻ7'zfKHWmqI$I$IO|* g^Io,U%4h8C,xgo2_8$wNhj sNv=y7~k/1ڡcfg+Ogf5h04:kT~e(ԨeJNhR/E^oҬJ:rN" Pe,i6s-`xfYud#`Q!$iQnj#kS5W_'>6N! ۇ#z8ws5Ûױ~ޥ'ӛZHum{s!F`ZrVDHh}{}Ot̴=E pUV)4MIӃ$I$I:ł Nho[ F( &M Xy/ ^^JFA*EpUf#߱C%# |?W|~B=JhB339*l8>M,?j"S: w~+7t7ٓ"PM1D&G>դCf$YJ$%dIXh67FEh6i'iBVi9E33:"#('&fR*#3Fs7\2<P$I$IeФ'ڤ Blk﫴 |_WyS?0\Xl YJ5x>Cw2o'.₣*t)I #'N"-y=32;EK[l&vN`ҔA^޾݃@zdvcWJg{1tLǤړl{ 9ĂH [냁tc{;M`̘blL!kbބt';wm8RtgҤ t`4\{!ľWE; l6Tڿ1*HR( oζmHӔ^z{{IVU$I$I 4v9WO$jhiϲ)܋إ7᪔_Pk/f_Os'CQo 2!{vaw=2v/4ʓe}}}iɓ6mځH$I$IϨo;`$_W}E{bc=iT!Z-vАJz{w D ț$Plc/|7+>38m2P$ Eޤ( @v=#w|ܗeˬB0F"wkFUHMc*5<~CAxq;(!kQ6fԘ5N?w߲?#LgMwccNo:G8u|+ͳ>w #_ʃ `W=T9x#3_On'>.-Ot_Ӭrr o@ c$?@5z_<ϩjEAd>WVh_h4H%I$I%R$o[hL&Tb{6VрО˱*JBٞ}~U4I<*\u7)޶r5EBA#vb3Yz88z;~C+u>|o31v_ x;OM3hR$cI͊{?kc9yV72罏⑃P#0fNB[{s}q0vN4ĸMMnXKv\rRL$faY^˭?w[93Fߓ?/w^ŜK/w:D*Y@IN${T*{$I$IzD+We M~گF.є 45ZI%p3z9o^Xǖw!*@$K)*dN5f[(:]§?s3d2_dnK{Z% 4Ьayo+/s31i}e|`8'?0uV нs9^ug@*@%, Hnk?s3_)ZԊaG1]+/R9ԓGN? [͢B$-s1# c$I$I$I0\NUt].j=O! ))1ugR9I:Nv{'͜N̅Oo ldNc3yoSj{yƑf{OKG2w'6pʤc;sg P4+$YVm9p^;gq;/e8:mZ*X|Gԣ͟r4M>y+~s?w,o /ֺ$I$I_""=Ƹ"x!_cy-VF " |F" !ɨ֪Բd#1ol4ir82>II+YlHl5h64[yUf*;?Bޤlh;fՌ,9Ȑ bޤh:`YV!5ڗ%ׯ_ϺuHӔy1sLέKJ$I$I}N >[#L/V< IDAT@ P @6^/MbNW蹿Ax /#1F JEDD IBG:BAQ@^dYjg߫Db^Њ Ye/)"T*5AGfAH=}(Pi, ipQH+diZg>r<C7I$I$IÊ᪔ͼ bAHsH YBVI$)$i$-Z|t| $ IZRPIS_@$ohEe)ӵ(@ouX4i5۟@hd49/`BH {VČV$I$I$^ T"#L&ڱ+!S#*b\@F~}R#đhVx#K7q!k7{~W$I$I$ WeBjv/g$~%i{/WMIB+I$I$IGQN$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$J$I$I$I`$I$I$IR)$I$I$IT +I$I$I$BTV9yA٢1BBTȲ*Y8dTl749bdlf5 k˂٠hoTT48`*(b$QVVkӜ<~Ta%I$I$IpUzRj' B))FbĤBZblA,1T$HBuБuб#bQ@p@* *5j3#$KH, H]$I$I$Ia A738|g:+9ػ qI$I$I_3Jh$I IhlǞM}NH{8g/#2 ^V/  s#;NEYdǎH)$BQ@;C<}a;)#zN8qO V$THJLRsfyv+["c2sge,ɄhV 4b3zWe QOIcdάR1Bj$I$I$g*|$\m7~G ^RaQ'rܹWr%sɓ%"Ux7͛o{u@m,8"ξ ~c9yjuR[V摗iLYV~\X1#elVBZ.?:nlȩte켷Wq%s ViB obǃ_[oІ {sxE)b,p$I$I$I?U ż HZ[ٴK٧s S O?_[w-d*"?Ŷoo5)>ya#C/3xלHH EB[mI$I$IÇt R2~6nO?>՟y$G c-vk9n|Νڞ4ȏN.߮ӎdNgo*+) cic;:& ߾뾱?簤`;ƿ毾pw]7E'YstԀgYwu|k7r)0a~~2߽s*.:;]6߻kʳ.?C:kK' 3=|:c.ozP4 rI$I$IRr}iS ?y?ζ)xNГt=\V\y 7uBNMic> f3㹻x'j@G$;fI$I$IÑlbB Mbۜ\p&o:q!' 9{v0 N\>ec^'ײI/GXv8, ~h qYY`me6<8< SY g8TxeϰGyyPi /B$I$I~]~U8jMG12 ,P!a(&ZrW=L&)PS>vfYtvvwa3lNjdM0#vPKϘɔIoZ[ wṗxQYL )/^:OeΤgOf ٳq=ugOiYtdd[0m6Se}7 "0f^32(ZTU!kiәwqv\_)m/W[ln"i`0oHHM %CKB `cccpEndui9?fZy>ڽs朙W{y9MCcqTi(X~}8֢usn]cJ}#B!B!hT8FGΏ\ -Ǖbk/lKCJ|*eKE|&[&k{R`L0 =Li$V]t `х>`F*׃'1:j_!B!B!YuC s 7MV5}\vQl|{.$!JxFC%sx¶m9r:7@TP/4A~iNEh xŰfxR\2pD5 ɕrzmv}ڠPS'u `CQ 4!JS @D.ȹ!#T*eFl|b1ۏAk QFˬr)Mz1}B!B!B4PfWq AV[v-\ifhk2i|K_3 ie4zp +.īo|>q'0‹yV*5H?A_CIqJͥkDj# +jL /"Hbjz? H)!FA Uj T*D%/}P*$iV"\:%`Z|9GEcUq1qB!B!8(ޞJ\ E`0-9M p~HRy91(Hd@K%ա6qNce ;\ f~rةOV,Q 寻SvvpƁタR(EZ;P7ոu5~}Ϥy{r.] `hh͛7Sݪ@ߘs 19z{{kXp%B!B!8X \0项Z%4d7~P)s0mj6E#qZyT*FGGfeBzHpu(68(`t|߾^̄w5?O PP`F cCY&AŸ(&v<(4Ԣf;Yb#j $G_ڠ=k8E`s/Dq1 &(!N"(r efOr̖-[(r9>=QJ$IʛB!B!oH=EDa *nǸQjH*/XU1J?PCgwVQ`B_- qAbTVo=O7r,;38?+w R-G *7zvddyJ!B!B_HCpjݮM{&17Rq58886SCCUQ~hzgKpWp'/%<wvR.I(omiېAkG`m;w208 8F立:h/MZ _dP/;w`74Z nv00#-~MMʹl^-?\c-F!zpX4J%f̘vǝK׸ k-7oZy͌75ZMָB!B!)v_㪊n rKyn)EڗsC~s;67ZS8 U*~/ u$P:c2sZK<"D&lX˪_eKn-faOŋH^y՛vR>$ϲu<;F̹,D, lkq;xgyq'xshr+La̛Tcx K<2p<΄Ȁ#] j|B!B!BBZeQq]'(84H!aѸDH?뻘?#z')UnO kμe9ػ牛8e¹EϷ주~ fPsyx53~v ^+g}˗gMu?sM'cq,H?BǤ#9̙wu)b;3·6k5Odx{ Gϟ}Nb3yຩ\}\0/]et?-Pjd>8S*sKdl@!B!B!Q8 ֢ƪZ96ͫ ƕ1F!!'D)<4}}~w,fyVm2!$T] SܹL# Ow=‰/?̭~/uE,Eo9&pYg6Z=`d%w:ǜ(=\oq9vJDcpwr9L:sLdMX~J~[>.>0H,0q?'>Sݻ鎿˷)ՈG5ﺘK?r".!}=nB!B!Bqcdٿ@~l G1!05,JM$rSi/GO5D04N@StǓ<ޤDaq!gm2MQ <\mZK1,Ngʏ\ :3{9dZJ`#+ Y:C|Ok 19•A6_؁ױ%|Aml]}S8oYS:SX/B5B!B!jߥ^9RroPCreclQ-QIpikCOFXqkQZ'xx~@Jد׈($Nիg7AE(:p*|JݽY\QE{X$ ƤS [5k`aL<H繕Ra!B!B!ވO@W`6!&p> ']Gkqм%iP7::իj,YRsW)To΁ЁG.ܞM:R(eq%#b!&ktbptYM,{r_ 5q`WsO~k_` qUqJ!B!B!8 8F*C98w0Z+9BgdWK@ !^cgĶnk4I>g1F/$!\:(a Qcb6a$"P(5YtdhY] C5bgqQj64 Q+ўe,.IZ@iLvuR#D>7,=(v$<K"K <M$X>윲`߯J!B!B!8 $ea'?8qbw ꡔR$֒ =ϲYHKC H @0. Ec08Oc|cJE 5Vw!ۍR(hR(HQ}A{ 9Sv pAvZ;|mT4J+ƚA\ !B!B!8\=f;_I*%*QLTYC-ikzfWp8L@=@0a2OBgvXY8HyFwm,J!Q: R TZ1Z\M&atL%(}k Z3HǾ5(>ŋx>Jx٥r! vc:6(@aG<vߖt=_%8e f4){/{_TR%vx& 1Ip%B!B!Blt[zxMP8[ iO˾eZLczeTDRaL5hFZ@ %raZtOi`;KP( tP A[{+G,92Ml-rL*Yu A{ѕng`)uV9X4 0QýlQh/1}۶Q䋔Zhjճ0 4^$;ЮB2m;"FT |6}qLhU46o`@^vۛ)y]9+ywҕqۉY|%\txM ("W~p}xf6ҷnyvCy4W qgM `H;CJ!B!B!8xFCt*AG pxRtQCiEһ)~zZ:j}lmMW~WčpCG'sB[:mRګ෿ȿ\l BӸsxV6JE6;c& Hj^~l%͜6e"OOT+smh35CAm;8{|_?}G^Ń[hb2o0Տ?ScfJu}si3/<#fj4wj6>ʓwϽ 26s!Qb9+gswVkg!NX{Wno}F~*a}23 jt=~-wy}1 ݋^V96<?_5UΙ*;]43 o/~o>zA6fr 񶙭ou2K59׌xߓ(+.n&gY~W+3qOigGq<ɏ3|ڻg`LߜDInĤY%EGO2{!3_ڣ^?UG\忿=(?_>GNKc;MwrU7𭟌R~q٧'O1,|G|y|=l>L'۵AQTz*i̞v ϯncɒKNgj4O.w = V~Vf*;VK_|~t|ˏ6fځO+!B!B!B Y m G9낓9}v:ES.de%ܲ^^[c"3pfIWL;\ƌsrW->'W_y'WSYB(,/$e,8xN: `13=SC/'E'E'qS f]/;G @W#Xt^ŠSwĭ%xGtiw"E*k7RvJ!B!B!8!0aa# Ә^BpPB˂sԧXˮ& u8 ;|>KC4m4Xܓax|@A+Ui,Z1.rlkp6ڤ 58gI4tC{Ͱ\f[YͶ-~6$\Bvi7*_6"WDUʔGTG*^%6zGxrw鴈4 peƷL.Sgf!}e8hƳ$. p B!B!BqJWF1(!jQWTKjIC4h:0ztz56Zlюxh Y5=}MzӼ⫬\@h a>L{t f|MtØ{nF<޽ 4JG.bl[4ڎX ~ʝ?|Σgʏ7 nJPBQU?>:s ]!rT3$$#[ؼn5GzDALyF6oagшl{F m捝QnaП3Btϱk l`Æ*Ԁr/[uNֲ [ogM}Wj%$[ٹy#];Mݱ}WH55¼9̇yyy?nx֍6W5b5zn *;۲-כ!LUӼA1"}s4 7'5/Sp|K+!B!B!055g N,ֹjߴR$֒=5nqcB ϑYUcQM\Hir>">ҿk|/X6i'/{/-N>f^x|˭4y2 J%|]A2 O>\|!ڽJ{ O|⪐V\*ƺ0~BiV\}sW\9 B? YpSk8s.ۆ}Gyx<,9Si:*3 <҉ucqAKI yBXCFpQ/ᜏu58\}7?|)2nN }XBi#B!B!B_3w4t0s`tZEpΡ)=>d1t  9*gJ!~/2ZXP4vP4O[s9l1$.9OпGsoc,h'Q8)NP_m>s Nϲl, O+M`"[٥$澧/3xdJt&lS؏M_u`0*,~?g e©4mI&Z|hQ8R}| >?(.9#Lz4Fh>r5(f8O<7'tV\v.GN̚}T#+.6eG" kb(%`yן}{D:msp͙m:YN|q+[TM4δXxs (ҠJ M9w#7@$Ynk֬ٳ"dXط7NS(6: 6W+ m1?;W|v}݆n'cz1njg[ZA f4jl:w !B!B!P?z]Zq(RsX|(ؘZJd :x5T=QEԢ`0 5T") xj#amA%$ Dἐ7xcUc }=ΕIQ/ yxֈkD\h&kWE5c<\k\\Zs\o4 *T? *zrQ:f& \ IDATˊrM-~ϸīw}kgs?;_ĩ1M|^~tk4Z+]J;+t09̱'b1 P9L蓫5v&]Ek]P:cAxJ+!B!B!+ 4,;e0bԾh?tIЧ!\ pU姁x?xW?&gAAL?\L={|{xxu Mz|89~ĵ_;VPl ZF7LVc ahiZyt8#)vla_!B!B!B eزZ'|zJ.KhZh0304QYp`8$ D%?x_.r69oJg"B!B!B!8( Lcu@m ^ͫQS=88眄VB!B!B!ç*I u2ZI֪0ٴX¥%B!B!B!86&͞ #_ސ /m`6=S:80] !B!B!B9c5nZ@?vn'ln!ē!xz~w|GtHj_L!B!B!BJk\Y* <=߿o޺MYv;wqzU?kShFmFu ёئlIc;yIIr{8777)nF` THO{u3M#p2k~%CcY`Z!Q8QgB!B!B!(||!".#R~Vyr:q};!(S@^'77>oHkO?ąqg?<8-W;@*U B!B!BqjJ{~i*q =SɥNfFMw @,%WB!B!B!)8@i1] bb 9YE63: ByVo9s"O9MTwD|Lc|) Tw{s$dB!B!B!G2*085Lj( 8Ja1h#9ʁ#zu 5А0~]F+ǝ$!De _D)(u8!a|HvuS2u;wa:z|>O蓒q$I 4̝vv?])jkz$&W8sިlg46B!B!B!J 1r_gtg% E xFx(y4haD[`F{>QA9 b>)cQHh,(|Ebb<^(=8(Da1J)W(#8DSt`J\w}L?M r)"v)"bLYP |è⬡6#bHX~Jc4Q(:=<ytzC{@@jsYVo׹ *hw']=;Lz۾wRG5sb)g*B!B!BL8GD!EIO~FItu)5Tsj$R YMY2k  q 3u ^1cऋKHyiRc_P@I9guf W0]YMzʐW%3CF $-H3V[xƭ86c+y#,-p;㎯w)<({zpw{ײXХ# !B!B!NX<#xdYmcb٘AX%"Qpp&QXlIP#H%Eq%И:H zXc-1:):_A g!;H΂S1j̐d!q̩[r8Q 8sf $ ?^N] `JC8b[z6oQO2!x/󨩩Z;*sDӘuGpʑ1~jt w3;+s53,`qDVB!B!B!&8fhA-$ǜ ˭PyCU Y='DN%z*k&EY@o<~?;8t-K9Opӫ֖&5M~u<}}O¶Gt &/[˅W^ǮZƤ4*o/y>}w}gLae\ٛ襍d}x ]so⣟[?&"Bgꨣ7S1 lAu6C\⺶go$AG.o^ŊKo^ h"^~'5_Y`}o?7K强 L8q^]ynrgX<Q }Ǐҿ}39}}WɗCdM -ot=<5i-\=3E*er޽ҜE䋸gwmG槿=!6OibzWi78{^G_a_om"s&W4\U߶c 8ȝb`NXA k35@Hy¤D577^6$0 4@Bo\PAsZKX <=9 !B!B!#EaWÂ+WgxpU,͓TRl~Xy*snB7F>O|ӿ ^f8@C"\|SgsV]4}<ЙԷ/b,zUx^zvq(XG{d8J ?q׋MZw>wsgJdZk{x%WdW,kz_|qM\~o<l?_:|,_gnȦ5S:'^7ј񓎍:@O^7 Ñ֛2? poד|Gyw*f0# `}x|18Ը)-LH^7x!ŠE-l|s/;w 8g9b *0srf- YB!B!B!ĠXPIΝ*1\vZsdXC{䳘wͧ= <|sx~voo++!UU\&/jc΄T/~OgmlzªFF\Qz _Y{D嬚[#םɚ5KrAiX3cG88]S) ".wd/猫.arL,qZf-炏f1{OCSG$s٘(:Wz/N_+>ٚ&Sz9g.ZwvC _[7|饜yu?nG~//E/صV X,xs k Ƅ0 >xq,(5*}H4r_6*&e-`.B!B!B!&5'#˫Tћ%J Y,^_G6eʑcZpij[S:^絇߶cϡ.5x7Kuz@mmkdҗEUUTNrjV̞D3zB @}}5]E }}IQ :O!SK8ڒ?R<ՍMYs ]K+>MPBnH$"| -YtMo3Ppn%hzٻ/Mc}lU# - E } G`n5Vzy#3^^u+iBV4oP+RR9+ON_ǕOpmMm̜Lqx8Q[Od~:Q*i>B!B!B!H&TdR4eDd cqD * {vpGǛq\\"k TxDQp?L6j<BWƅPB""XIJROJcQe*QJ,ġ%m0<3xZeSLe~e)A},.G'wu3z>*&(PÜJ"&v*5^E1x>J9l gSsg-⥕ :\ls&'52exB!B!Bqbh֡\R\4JRX_/| WpKXܒxxP ur\QƠIU"R&]xtC锳I>JE.#$B% r4T)UHpj}*΁V= M (\%tB ,Lɒ)0Rd ,pP903[0+kQ" $4I_adK!B!B!bs$Aor8G8]_TlDEa @ݝi6͛B[5{:9rȀ!~][_';5 9\8Eı+5~ll58]9d+8ERpDDqpM$9K [q̿m#l` =]>\6e,)ZEj7B!B!B1[)UCe۩ecPl5hxBxF+LYUoe x 8E9|o~s'GdYpG9ThgnJp(Q4Vr1:u%kKj[69Bk1fJ'FHĒu~z9Jgd6ɰk=e,]ɲXSJC0\Mdޑ#GF/GbP8xFLH14hp΢P81D!QQc !B!B!9PA\qUnCx>Gn@<@uGr@=vsF]=*ݖ4+Yt\nwym>Yıf&w=_>繅D}ط^/݅\E9f~^16AG%{4# 9X '=ϕj::A($- >Ή| tQ:tr`\~Q7G`ȹrBf{ye/<~:?Ks,%|gf vWiF7k,3Ҹ8cݻxgx!{ݴKWMBchc96~jgV* (qt{B!B!B![6ZC ,\<7CM9)Wƃ(d`*3xz=&@R4گaz+m6z>0s>M.w^&U7y=?y5Yxl'߼{6YzX]Ie6Sgj3~ȚmV=jrʀuPCiCY5dژ]"RM=˻n͌)Lo̒"Y9t*6ɪ)願ȤS2Ҩ'ѐ6ëFs[7uʡ"iquIT Rƫ;}ITϾ}~.Ei1k~wj*' Y#D^zikoGMM ZMpg:x IDAT ر1k)_aC)UJ{IQz>Q#X 1Lǃݻٱc̙ԩSqB!B!bBV0 t3t?: \dׂY7CP#d'8I\8Oyo``͛7S,Yx18p΍AkphwwFd;ChlM;[z>:`N^2P=eәҨ(ўm"ݾSRԛ5 X4l2U@E0: Rpabu@xacbbp& < lDT,Z ~@krqRAy>Aِ( )32*]o%RP,..R(:bLBQAb C hcPW׬dþ!xz5p7pU{S$*_㐵X1-]2'c[s0ei>٣:PJؖә".^Rꤔ/dB!B!B!&_\X =Fn`??\iw=/ncױN\Tmmg\^沬 ܰO@|ろP[9Ǟ'YNL "v%Kf+EdB!B!B!ca|+4* >>JhFY2u7QSNIfUz'up ʙg9ϯϓut撉״ry:8N?9 h@b/SB!B!B!_ ,# jmu%qH}RkBR`AK>{|vvo+M O ɄB!B!B"5bY7l&3R 5#QpLEe#\uu5)ҥn,QEU)h˶B!B!B!.8v8p(P S`Ve'#ІHi1 {?9‹KamV< <} -%&6R;,#|lM cP!x7EB!B!B!xR(w\9 h,@MI{lT-SOпixOvRn5Dɯsk92J֞IE:B!B!B!Op H-(\yѸV>^nic mD V\ieL]H[5NnB!B!B!xGUr)FT#qNp? -.K+!B!B!BiWe6i 9N#rۥ5dGoI@!B!B!BmW.if ܷ=fjp.s&[sא4-%SZ/!J+XB!B!B!Ѹ @U5)| mJ!B!B!xq8D J) F(PıC;g-TR~9PT!B!B!x7J9!|0VT =0_7a NR?c`JRTJ*!B!B!N\R(;3F#7muO{Z51`d hWwP ߿_wvwx_cGq4FgMJS$oO@˻T!B!B!ĄJN +Pc@ǟE/bB7ΠlHzO GWaTJB!Xqg˦|4ULy'!B!B!boLIUFxa(-,W^]肨HTi}1̈́B!B!B ˅?om𻼝'?Y9E)(1\䈭BG9\c[A}U L2,Qlp(8vMiWW/c{{;V7V@!8Afk!RRm%B!B!b"r1 wq6&tLvR`t2H́d㎠P81Q4Z{_c@hPѿWuKfE%8C>d=-Fġ%>~)+וk])3<mPPӯ[ZuLQ4*hPG!Qdq*8l2>xgj.7.ap5UxaU%;_(B!B!B"#&8-pE ʀ TCUC1A6:6&0Ъ }yLkϱi㹙Og`@`vx bKhީkcVc @4]_[H&3j C9鰮@Rx^"uz 2_p5s@欢/#褄TO !B!B!CR\>)96hXr|pbXd^(Da0ĶܲOIyT6^cÛ=2:Nm< qD><?)䊄gdR)7$'Rȁ!Uh?k mEK16)c"0ƪ$ H) !apʠ=Wew8GQL'UőC"Go:Au+o'oo`w>^4X=O9~e3ְ͋pXP]^8<ٷ%kgaǷ[}<.q'#|t*.fnkaMfG~r_E~\8\}2ڳGwp}LJ*2dI^:4X!B!B!xwJti+Rjt2Bai"N`_yw<=1&&>MocﮫƋXX~u|omh7p,VĶ>fSJ.q=2@;7komqFYqVvuq]7p_9+,?ۿw|qpj3+Pbȹ\E)7n\”X=~]5FfVqbH1_\%r wQL z0w1-6,R,:I Xg.sod. j</<cax{B!B!׊#i71 >W\aT.6h/3[^V64L/37Μ PE۲֒f{Ytk{xx6<Wb G7+ePhzf +_ ZU(/ $M֟]92>~:W^s8ph&) lEFZUHy)R#RRh~)p i#*B!B!J?zwU}2U=S\\S(^|`Kcċ2tɾ~x-RL!B!B!;K{f~+;m. Τm|\bܹ,WO@f2uGi0Ҹ3XN̶ITdbP$Ev>KW0es VNHEE*+AgTڴPSAs |4 )}FWO"K#a(0SgPQH$Wq\(p16Fig7qS/ ~&KZ:EŠ qcLR7:;_y!= ?'4USf\05ɱͯlʼnAW<{ V㴖 "iv}vol捝w$fƂY<#CN"*[b0JaWejerr,ҩIݶ:LNMԗ={I| D4#>lڹpaics|WpiwCx9Pmb#4E?]o>~>s/]MsX~-||Y U|!V \~7ymo\e+ +c7Yӳd,I9B!B!BOR+%= .hGy詗yys)_s GY,TZy$}9[Uo44͎؍XBX$a٠Ŗ-ckƶ\#XF6m5jYgS߲>dg :S{Vk|6vmsO㡻{>gEv^_wŀ$i}tz3{rZdi++Yhum_[OUa0tɟ5x_qM;tU->7`{0I)yE7 C):6" !PG ?º۾My'.?/Xqsѯ{R,]RT_`m79r0QGwgs>7{?x8-d{~qx /,|UW!7?m_?WrG2@]~Wˋx޴POvkyL[ΫB-oe׆`,2=k}Z,*qd>%Tϼ- o94Z4Vw_=^SlNpd'^ً/ӨM09^ =tvN:;tuV(*T*e*f){Zax{d Ou^ș_|HN(ty!}w~Vu?YϽ۠ 'O1ucz'tE%9sO]n6?o=/]U9en@8b.u%X}[q;ԏaݓ/JE .#Ϻ߱!,˦\}TN ڐ$S-S< ~?+ԥ,ﴘ$&qYtpUQ15]OBu;nnd IDATعkI& bO=0;;SGǩ'21V:`\N:NzֳnSWW=w:k~u8d`G`;/= zgrY's21 y&ǟc4?rUљ͋ h6WD},y'XHDg`1.@- rI0"nj_FKYP0dfos)gy;7Ijgv&n2~|V,0 A)"rd 1'l6+@7[^wb!OCQ/,XȒq6z6yFVr}Ʊ͡L;휛ٲsٷhͼOl4^̊&$+/e0pY=v + Z bL.|L6ǹ1Az .0>luA5} z |o'{=o@A*&Qh#{G 3<ӣ1Wp2oa˝ }*{ ~Î ,‡7q70y,^q >ml/N0glQJ0 {j υE_鋋l>džy1$vc{Ȓɘ'f2.vt24 (C;9T2kpU۵tZ:]?TC65 ̋A uUF)VFSs 5fp149 ;⑝ ;j;`:wR * N]ebttj9 ̅R;fa&kst$ Z9 Z#""""""""o5>,L>jπS g\G{wQ؞ZJl'~[Y [rUnPӱXpU\!򅆣BX ,acbؕ, }[ȷ7+bc. WcVs>*E|d]:xL#-RThLm0W(}S`$qW젫YC0RST'b&&ժL y;R @BBg))Ʃshߛ1 slJZJ+[S(A8 SOa W7xl0 | y toAL:xy_nmDLҲ 㶷fݰ(h4h#_:dL ,蝖?PfIaٻ9GjOx<SK-Q<8N;:UF}M.s0+b £%3k_ɽgsR `Lvڮ#Xᷗ͒c xTu؉9\yjn{P8/HPk'+XSB "fxGWQ۾N'LIe<^w.g5r):Eb6zy ٭Tk5w 3%^t[jSo٩|K8B H]j-Bb69 #abd:i#4!7H]H(HO E:qROZ8qaQdo;SXXP$ L097= 졾iR,qQpaZNO#h4NZI0 1}l'YT`WNmkU|f4ՌԬS cS4ԇ1~j_:ٱ2-faqU?l/-f;fOov˼ʓ5 # !@f =ߺml6Jγ9]U]U2 p\Eӷ:_tg}2ΚnG}wvK[OpiG>*WZ,J*C51p)~uA0Im3<bc|n0fM3^)'4N~. nVoE_ɇa^Nw;qiuB`ӈc[^.i6 a6m]B+͛<1I (( A`]Sf)ıP|DXn?oI055EZ%MMӖow4,=ih4V, R`'`0F>ʷUç5ҴN7]Ðg RhOW$Hasٛds$Ih1=Y9Xy $I~x#ϻ ,4h4b\Fc1AD(,ͳ48HHRaPI4) bxc1">g  vh_FLlHx bb!C6㔆 bpYIFF0L< "dC^Ϝ8 <~Q:_f߬WāHoӠ:U#gN*SSF%*0%Ž2`jd.iȚ;MR9T[ b1ԧ]e)=1.29LJgBsh,ߊcڵ$Iǹ!UE8رc۷o' C,Y‚ DZ y[5k=TXE4xꀵOT@,xP(X0wql9*p NXO(uT &Zslsչpl\% bӦM_n?4h|LPP.Pf2{8%Y`R1? (R_v}'6$,u6",F^m B|v} O[͡ꐐ03!NO]lq&"+9cX ώn՝19>畨Sl߽ѱ)$## ̝әOtQ衿mC cۧdCF- =(Lt-MoʎR8 39<ĮuGuxfkpU.)37hRZ288Htvv5kmi)04r-A@`*{&uC5ʎz y4;JT,tCԙǬP(P,Vo { }d}C+s[k{o).C;,d#y I0aI&F&ݽtw(z|O0X7xb/@4S/κ#{x|=e ܽvX',e`%KXq7ۇvHVO\i`K3ٱE ;X {=ocptxQncEU XqXxgN/%:=`3jj%nJD#DDDDDDDDV͢V>H$>Mz\DrWgsU &Ј 9Ј h4{^DD ]N9)2RRtfyGXAFe. _CmF F^l^9UM+N0&TN7h+#hӻ|5kZ۹',eEesVwcOa7G˚%`)K:۞{7ؙdgSynr eGqJ 0>p1f"""""""""of]&BL~C)6}k>4[r!2`}7Dڃvg,"b*]tuwAGք@Ȧs?mds)'i=,G'/[)Oµgp" *Kx ৷q߭kcǕ7>~[|gB/z.p%IڗX̏W|׹kX V_r.'LEgiO=JǷ,'}e_[nk?Ǧy3DD|`hj҇۩6cD|-1}z|U߲2;#dw5KUxo/*5jE@ O>w`'xѿDg% [ɫ :`K9tO|njx臭t'/>~=.~ٜQ!n 8?Wt7ZGpѼci۸?䮝Gr+Yo)ﻜc?o0^Uz=n^?KY$z"Qs| p]n۾?xu)˯K_J%0i 0ą,b~Ws2Rү|^CTN8c(1R0s1'^-Ұǿ|%]Fa \{\+1g&68:߸?Rjz*~g޵d8 >rDDDDDDDDDDDPMZ gr>FIZ頰AORgwm1E-a{Ur.:u\ C!{"k=~gaރ<"Yue~,""""""""o}7xMi1qH}6*PBfGqL#6Yۨ}4iL7B;iJd͛ٴiAj*,Yskb"""""""":9hV!vSC >m5MBa>dZS?-_90xh>t_s>*>cW?>,Fkىj"o! Tic.5ؠ@R8y@\Ȧۋǧ[Mx\p> >{aYȃKH0A((l RGbC,^'QPX.㾧;37C6f>%$I+CqBbO$!I~zĕ!aў]XqB7FDQ@0kVI8u8mDb,D7Y_dQh%""""""""""r;76b CBUYȧ=61Fbb`teΜNC8f=xoA%160# :(wanzKas90LDaRMeJ]}ϡ㰲Q`uavatALTO__7sYӏ\9=ib] >|#oCʗ}k?Q\ i"W: w▻GKW\NaAa|*z~|ІA#L*V|1}2`΁fcgx[QXx…qyGqj֯s1@ |[0ɎZ姾w=|,+'\\1zl` UlƖ{qw݄ X4J}jغEGr|H h@Cvplo<XǬYg'X2Lo!k $u|X/?ȳY>tWu|լ 06ٯr7_]LyUP̶l;n拟w.k?'/?S{F=7sP/ }G@cc}o~J:>}8k g—j/(C1wgڃ_s,#^ ;(CC1y9)jC9p)aT7v[79ϮW^cvɗn=j09$6!}Ӭ/_kO!9ΑA_Ɵ:.[Rat }4}|?\@^a|=|';ˆgx;=/|^0P)`9gr.?uw&ְ}ӟ(Xl%{r1& ϕ%"""""""""""dDV<{D:@ Wqͧ##ʍqlp.?YW.. XNǙ ܿ)v>}?dGμj.9*=bt;ī6n'`YǣQ?"ιR.[\$;GuX[mO-&'-u, lWy-l{^Y{*.(v+kla+mr\!cXx-3w*V>"N0Q$䩕|@s+w̧gp@b]T-`^yF`@}۷;cDdctpymۇzTZ7odS6o`"t51slch;'*Λ@' nl<t%cxIƧ [!{ǥˮ'""""""""FT2z}޲j:@""Wm- pSL֡Aβ%&l aGF0B Iwi ;5nG0c#ueJ=tul2KDww'] 0<>4PLR顯;4}tuB 39`68cRg/@YHgCOBuQl ǥ엥JDDDDDDD DshCmmH g/6d,ьwӁLhZPQw$LRW1`#((G ARcIT)/P)f !kĵz\IN Br1f@Lh(RH::E4=bpZ%*kԦ1LgsfZ[.""""""""of1.z[d6;E5Vvgee>|@-Wb(4ǵ~ei-A`gts`k>MHާ${CYbЂu >u$8gm υ%AƹyS&謖&Ś ӌ#In81ʪ<Z4`Xk_(-9ZFe"c0͚,E- d-Xh>v72&?KoydQu?ꐐ%U}l,x1=ٙZO,?[&߷;{8C]o,֘3+c>{;}p/!w&I0[9(90i=Z c!IS """"""""ocpx,uCjҔd}U^|[Ɛ)In ~::Bwu 8&j8wzF}d0dgyݰYjz>]}=,\6e Kkk foPQCҨH2D`i0UyCZkTk8,9lT$$:: YfLz]RTDiTcSB jTR+P`MO{Wlܸ)H@94%om Pp%"""""""b&e eNQr`5o,q388EjnØ\y[Y\' guqdeQkq1::]/1Fx,4<*wp)cccl[Dj ڞZ9Mg7G4y]I0^:CxRIqc+rs,E}t)j15 Bl &l A O1:}Б&S4;c#LN]n:::&'=$8qFJP.,ۗ(P(P,ǰ%⽧ZRV1ER c .?+K4G\aLȄXcgu0(E/h)dD5$>A=CMė0 Ð8 CBˈ+ S5d l E9Ekd}s̺wUwhZBH2 ]-K^;Dllxbc;b"6&f,[-cY7$#q !Y7Wu-싓Y]t#*$NKOfwϓ?Gx1 65!a MS8(&T#8}~>P߼F kظ0qp/y@:aP}}r&k_7Z60zٵy@$&@{9v ֍aQlWvtQ5>>“0r*˒zNY vS߻>i%S;o-C;yӍWqףq?[d路Y7sU^|;W<.n?l;ja&/gM_oWʪN)O8;UU{{$I$I΀B`UCsڽv!/: \m:~5Hէ"u`psJ"!FHIv+_';`~v{|K>{k<2H-r[g q{?W՝_q6qNٽO_s3j޳*+mG;r8~ ~$.ft-pq6qnz`ϟǃ_Gys N>Oe|] `Ig+[$!+kٶf}Gv~_5a OtYSUx$I$I::A@Tcx^TBǛ_<޲=WTWUq)~BXVIU~}_ :$Y/ۯ3"F(KHiR0O&)L@"Nrq_sd,–\xQ(9 aW_!y?ѿb.׮\J 'D(c7pݿ]Eݭpw6\>nȯsA(RHÚkyY]WMlFk_śWDzF z=7n9_~>}ieq>{wv ALN4F/Dԙѓ$I$IRJ=bnXZ|Oy-jS6->\TV/lt!>K: zN I`xvݲz"P䳳`$<헜SU[Xإ7up;w SA}x=;-玳^rbm}[yG}G9JIֲug7W]TC%aP? .}:.{7>@l2q /@5F U~6Hz5\u3<(t`5\s7y  Օ.$I$I$i39ո!DʢA>^}>^xQVUD( lc\2.].9e*B eQgp\b.Z)U@+" eNAd6[.?fC B4,\&%H[cj8@Y;:$I$I$i91YUK2_ #_JҮUZcW ɺƉaRaRNXvB$=@򂡋_tuI$I$I,\19ۤ*(Cƃj(H$cBH2j:Z5l!bAj 3^Jը3c@lhZe@XضvaH̛Z9lo5jYNh5smY$I$I$-[W=-@QQ_/!$~ꋟE$$ZtV@ԳA#{)Ǖ$I$I$I ^$I$I$IJ$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=J$I$I$I=![@$I$IRX.^B:7Idp%I$I$@p:+2$$I$It\J$nW$I$I1"bz<`ŮuNF`a_)ZˠL$+I$I$[9 g`)( a (![}[!$Izy1$I$Iâ( L|ZA:UV8@SdjgK!yvW$|y6$I$Is|O! \% (BlBHa@h$IZ $I$IbjxXTV<<\u lΒ$i3$I$IyB?$-@ZOШ %I\I$I$I/K ɄLʪƢk$I2$I$I[Gg+PC1ʮe$ $I$IEBu ξb$'3($I$I$Id $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I $I$I$I ĂX fzz$s򼠌H!@XɼXyAQFbBmk%ee¶iF?縒$I$I$i92ZBBH2Z$9~f@$APBfd!G $ I£@%$1c@HhN|~q%I$I$Irdp"E_|LȘGBVBeQP ' IDATIwe+4%Im"PF$$T"-2 $Hj֬a/#@$@Z# NCa&7{#xnF-w 87,!I, IU#Φ)Sɯ z~?ʑ̴29L_= o1z }9=>z"jIwp?>0B6Mkf~Ǿ'rv^5!))D4$I$I$i2Zib$P41e_!ZpN?V5"P$_Y kxgEnm~=۹̽'q9 5ɻ[|[q˯>v Wm෸ogyF<"1Z}?o\Ε#^U0W>sE4$I$I$IZ VX@dY7ֳW_EeaLw<ĝ.ο7nasGٹ0;]]e@3{\E;~7ow8J<^nwn~0}n>76wŵgزm޾פ{~ss|!>x o}\Q'6gO[^kGoG#(?|hrMg`03_]_+~w@N a!~,I$I^ -pؗԻ7M8JOоA7\0VfN?4Gנ/ $!@G~fR[/伱Hkͬt62 }`ӏ辌.<h%Z%u9c)ɮGylv4{O09{PE-M n=aSq8PH, $I$I$IP+M*"PNO33jֱn`ca)9/#Z3a6m`9AZ42jk#û!f8c`f!嬵0@lbXpsN8=QH3 i$0: :SSGlohQ%i$# bU#G8xx TXB Mh:!B$BAbg$I$IZd)$i $BMI: /`YD*m^-$IV,^=u[[iVSEB.|\:~4MIJ: V_s͂ˁ>=j~˥W>t=WmEEGKJ P]+iF kҚI>3G sC{PRU\7 fh6sfJ`fVYWQp^FHHBZ-?9D]ZI$I2!{wu㝆cTMrme Vș9g9}=ܜ!Ylcs?ᱟ[ï]s礁2or YUxtd $eN,JĒXe KҪ ʧ-ߤ,(HQ!%dꬮM+e@(aUqd3;;EQWXu(˒ZFY>|C $8GJ ;|1F,czz~@IgJ320Mq v=>mÏ؝o?}?bD;OZdPOIJ$$TvZX*p!! ziB IPcǑIh녺#Gc133C__:wNTVVEq> !K$ItD:UO5g#bIkq+dXE@lrAx#@A VUyyC r&XsZ0$,{.ldby% ,L04`?qjv<*1." _c$MS& jIjǣ;oGk[8{f]۠rNq {yy\Xj !/Z̑PPUf-ied}  5%GɛsA9@5` К+ } SR`Z-^ќi1= r邲7WM9ٜ௒,VEeWWQoH$IZA<>"UyunIZu:OkX>:G5DF*g)m©.TYnu \v]ݺV,1ZaBT'ѿ~`{ qyokzOy'y:碁Q֬iP3LLN2=ݤ 2ԉH䑣LMI` Rf,'8 G`!E4Lfj*010@ r&Fr"E eԏ0;u]Eޯ(Bjpp͛7jý ,08p4Mfݺu5K$ITb$ LA5V b2 (!Đs]mIHʌ0t yVP5IIY`Yc E 1cE ĸaZQ\'YHYݷVm;V'ʲ染tf\@J 굄,e m0Ԝ57Yg *=S UG&p|y70qa^vZ$U}}r&k_7Z60zٵy@$&@{9v ֍aK΃ -[,& ҥ&:!Xdhi/7:wJ!*B@x [Kɡ=7VYi{lZu%AW+FEi}k?{0C %U5⛏p`޲}@6F7qgƽw]׮k3Vˀ=mk&,?~Nk_- N< R{-$I$I+@_u,^~Ԣ(i: W Tϫ~߭^.Y?_KZ#@ .8ϱ֯O}= ml}_7lPjP52j5ptٍ׾74 ӷznݔs}zeDEvxC J$I5۷߱.89M⢦6/4C߭~A/\,( TC99f@fh&6nyW1_Y5kXE}[yG}G9JIֲug7c$P}IS~\u]>n}set6_ͣUO%  Wd;g] ?d+%g9܍lD!D"I$I$IJ`pDR)@2W,^,(rHj!&%sƋhf)[d)I)Te{8o6λ eN2&%H[c()@Y;:$I$I$i91ZiқINtGC0q,9IZU`-i>?Jz91$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO0$I$I$IRO/$I$IM\ H$IKJ$Ie@I$I+$I$IY!t!Vda_IBk$I $I$IZVX@fֳ#PKg!A%I%ap%I$IҲH|&~ jy,  [ cl=$K$IZW$I$-+a 4C!c $XVB! %Igp%I$IҲFjht*J+ NFuٚ*>%Igp%I$IrU@3?ہK ٧$I $I$IZbY gەVs\P%kA5T$]Ɇ^cp%I$IҲu*w~V'I$I+I$IV%I= F(%~+Vt)#I: $I$I$- = ]INi$-g$I$I, *IZINe$I$IV*f`nRb{lA(%:$0$I$ItbgPVw|- IDAT< Cp~yd%F`Q$B; K++I$I$I',!mSÏ|Ws3 Kѩ2hUՎ 4TV1VXx%I˒$I$I%ҮvjVUW@WLA. jB^x?TYuL$i93$I$I:4Z*je0Iq+$I=J$I$I 0 Z甗,u׀IV͛w)I=W$I$IVUUj%L*j_y^#(I+$I$IBQuKK$IJ$IteSy {XLIRjX'2ubKIcY$G3#̬HVųd&{Zs9VJJ- AZ QzWA/a4FB B`w5ӽ}b$+"ӃGDFEFqdf+dfT3>3sEQREQEQEQ`'3+^QEQ!tCsJb y8\ꊢ(c+EQEQEQEQEG(y Tɉ`ְ#BT-šXF(;CW((( m|ϠWQuHH ߁hA8(+C-%Ǔ!m^$;;6(.+EQEQEQ%L98W`Gp901:ʎT݆p@r W}A4EQ@ e139vV(2 \)(((Z@~@2>v.5\x`nC(W]]v̎y"k0pg?Gu `qku9FFQA:smWfy_! "!b#hŠ!=jE(Gm{zHZH?83L+a006VZ(GWXl:6c-hJQEQEQEQH=fVնEߊ+c18ӉYކUW t0gcB5\8@ H/qTE RB!Id]7?- x'x,qNbn((2 <5ɠ 6a+!S3 ,A  ~9STe$"Pak8(G'.ƒ +B|PށsI&B2M/ ֖iui{k~VuPE)Ra@ËZHP,;]h{I4r7B@KʯN (5F;}eh7&T;-_ ?& ij=>@R GyF=7 cX~vJw@VnY[s`ZC'w\j zV Ӝg[]9XQEQx0g |}' ׸ڎWw~[X=(RGQEQ}_XK>SHNY?i/CH r_g+AV*ۢk}6yIe/.O-r$a%VNJW"C%YXW9/'QEQ-+eOF6OwO?yx!9Ң|Oo|V +( gt+uq!xU܀r4$.S ~-lGXꇲ% w);FVc*UXEk@ y*m]~KT?3xͰ\YgLzTxH `z/ok|vy&TjcóR qDL{m LZi󽳟sA{x ."2^V2E~ꊢ(ʌp&C@Oŷگ䏾<2~3?1'yH!ϡ(2a&t)ځ ?Z{c$!`eWaϧ"66[IO e*c`-ǦQلf]q* Z?drxyZjb98XC5†88&$em&Ώ5Co,ZLE!ղn( 2l\Vų=~r?/oSxI"q_o_ucӘۥ(<0rx:$'<'I j%zm-LolxMUrw MiUOx@j݄w ){mj%=4 ę(+E<&0mtZ[ 0b6PkA44vMzj` އjʦTϺ2*bj1Rc`%6ԋn>N(ʃ]EBjO&?}sγW'Vvw[O?k<09~6}$h)Vpj5QaT6˿Sܟ2Ɏ*?oaR!gۄ!41P@K0DG Rel_XT, om$21/Rţ0x "!@sOɅr'\n? SN elܡOay<(h9LSl|Ǵ-̔/m?XCgVXj5og[][ҁ&AtEQe{hJE<`$@rpcɡ'8z H$8U.qZ(npU! q{GD͜j58纟9c( lhn?b?)MTTBwi; h59ƆoE<0#%&2Ȯ_՝Nك` DH2B9NJR0 }į Nй z\ ˻ w|Hކ\=N0Vjmغh'KU2B3ĉie@b|Jxll'HvOR1<9j8a8"zǴKwzQ5>*HBѧV;ŁI"g^BFyOB(7(LI؅E ӑ !Zpix64rKS#QF1$A@8ɴ"Bd-pgZqzuR䘤NB+gZXLU~L# > DJ7'UD}%F| t3{<ʇMJϮށw=_zXuzb 6E۔!GD¹F$E6ʗ}B9s]eٛ ¤!/ j ;b 66e^*c0xcI#,.N Nqq4mϋcpER4Yx}+/|%M 2B[- c{>N.,>o,Xxؐ˾p&hA2ϲƪUM|8ƒ溓g'c!*{hJEB|ZwXZZa9i/rpHbQ9benݹK+fp6S#OI$ Ci:p5]yZ&&{LG lHys 1JuGaumH9zTo_ lNJR7;A hKh_ 7oɷ%`I`wYR(=)joIzo3XF$<4'"%6N È`܀+Bk0A(xB&ԮmAF-<~W'|-`րUդ>xTj*Wq"E {P/b3 u=p"g`~*ZR_c' kw 5P1v`nd,:{`tSoP|ŏNr硹:0;cM^ 5 ٌYŁIQ ZʺgM3~O>&/4(mBր`<#n48u7x8LYycj%Q( yB) eIHi_h $`j1$5BړFgđ\uМ+iЬ{c.qJ 6$Dh \Y ]lQ;*bXZuu~-q:Ъ^U9NR:;7tqcc /S򯏡]j ZU`'XfJˤ';QGiF YC8P6Υ(+iC]%:D!AN-D@Qjc]x_M<WKVE=&*+̑Eu4Rj A~blX^k\ni?+`N((V!P(qo=A~-m>׽B߇Ag-l%Df_X܄]8 &fQVNQ S0nB'R `-wIO߅ţa.kpTOo`ޏ-(M>rmrVtEָ@|XZ? {{00VUoo/Ɛڂ3³T9/mkRZU& zE0ɁQ?;g?Y%alvEA}~/|] EWt;@1e ᗀq\NPٖ 2|8])C{V[$"T=]d 8[n-G3!-D1`Dkg{(*ܥK q˯yyaY;π_!3m`ejR5X+6O{ZC[ntxcNHc &},s]Xa S]2%\]3`OnG6j\*U\i]|!=6~`C 8|FqknqsMDc- \"C7D|C'┨JO( 67;PY:9Gx[nMD+Oc*E&`ސr9PRO?W/]QI㈬oEI5jIO>JacQc'FE$}T@~p6|G-ӫsؕ-&+ :@3;@ist <]}c`sۙ@3%M"~ƍ  㘖j`|ba.n9 B"?V232r"$- vtybu~vJ; IB3֕+9?8  2-Jb,Q׎9k >,4qR`  u׊pO[m)ZmfvANሬ|׾1NٱVb 8 ri{V b;A$4$Vւw!xxja wO7bҪb񭃸IP`9Aк#;7o|w_R]|Y5a Wt_ Ț a^`bii>5"V7_|_|H\8|'d9]idx<T ئ&oE``&IvJjPǍ0:nˑum ,6>Vd!M=q8KXw̷l0qDy2I  ]+'%s=&s 2/R˱q&]|*n 8&1,܇ IDAT!he ҨWןb&m1=E\-#ɇ"{2cñެ`U]i_G5 z!:NwD VVVXYYADg^m9{ IO #B$I= &0"88=DŒzfVNUDZFZ /BM7i,B,DWHx}Z1$>o2T+dPdLYD< ތ|V,˘cnnnQqZc dW:= _4RM E=7F^pqE6Z~a;<ϱ6<`XeaĄ!|SEp]&D%ܓxA `{O\ ݼyK.Qǎ㡇"Iгn0rc%c\ڄqX6 T V^)d]%gKuEQ̥KX^^fqq'O277GA%Vb&77-8;iFTI8jqenݺEԩS,..REWӍPMC(BGS&juG11nUZݛ7npUD'OrqE #esU"B`Hhac]b4UYc6n߾˗ɲ'N#tϚ>w"ϑ~ƦȂB I!1&l7/2ưʕ+W{.Vt0&Lk ~CYG2-! Y;`> Vvk׮qMOfaaNJyo;9x l'EPJCYƖZ_SVEQp._ӧOsC2.R7p5(cE:0@ !=ȑu.^µ[avXm:WŲ!?~GN.ФYq?Efsm 8)Z(b~~Gv5Їrmn{\eYbXipȑu39~3+=3˭{ïy21v"B>|Fѝ6lb^{:V4 nݺeqqrV.=/i_}=WZsu?СC@)=<~f4ݛE v(nhpȑ ,UmrFnA^[,~$֭[xI#G"/uŴ3/Z>СCMbѽA^[Ъc(u 8"Fi5aʫEf{LKKK\v =f yN$pd jU!қ۷qΑi׿;Ѫ5U!~G!I1#>(!\5eVڬoRehJEBGٜPѳ|Ot ԁYVh@:OKg:ja8T7WDEu\6:TٜAJnfukjTioc{ٯUzP׻rivb_o?uf3JTz}VE?f00cfhFYgŽpmȠVpo',ژ~a jGg +12_3`sk4}Qm jYZ͖ʶh,™elWMTew Xk/_~ځy.d&󼗼γ/# tUgOT7S"atVV\ݿ™Z{ߝfDϢfejg6Vi'gD?`zUZU6\j(A;Srqԧ6bVjV͊͵ںvJU=ZU j?Xއ#YރդYWg&:yX}fgUzVU_A cV jU![qU0*S2EmAϞ ] ^APQAWb$y0kW~g?_g_|?#{wտ^. LN4'v;v`o7nZ `P=j,Reg2aȃxUG)ǼD/gA}DYemKQv#:V$_YA=^ ILAgT9=(GvDfIĘ0I}u(njaaQv~ n㘅jhZvpaaA=FN`nn{Qv>kuuVE^gqqQ=5VWWn_[NeAQuKuFE_xﻳtMVj[{mV"Vh>@EV{g* .MI:EQ; (ʞE@Qzycwsa1f-es#baN[6)s~vhƈ{AJymH 6f! NX/v7`* ~aUC ]9RkRu.طuM{C6C^A~G ݁uoTex?ӥlm٭!; ` 9 ;?CH?!ZINj IR lzRCc#CO`z2›}iVfЧhT[^۾ѐZ]6A5P>ɛ!~E?#M33mn|e 3׽_l/ `;bsfi[i1PL@ l|<~{&pKQ3acF 0xl-aw \Aal\fKChÆ~-lta؂V'}2 1[i݇ βt igl6'for>"\ŹAk9нQl!WS?x2LF^o =[W˾r5@YױT˴0}Klx9C8a+seX"['QP0Ž1L2d* Pwv* '(XLo>MQ]q(W@\u|;FxO_̩6BdL8+ѻϿ6-S~Q~e<$/<E9{IgOVN|Wʫd fafsaVq|wWyU^x) 6^@ti-GrAKοa\ 8g@d XϝOŵUV\JpO~^=×Oͳb#|fX6|tӠq' /|-Mfޯ76c ?ⅷyO*EBra=ϝ2/=d (|'~wzrށh/4?əu^tƻӳK\Zv#>Ͼ=(W^* Mvc>ɷx|_ &BlD\ML<ۯhÔIP|?ۢu ˼tj9@ )7)<ƚPfWt-Ο.vbp<⫝̸y'R0{pk%Qؤ&6 ͷ~;sWOpalh9LTӺ?]i;2,O-@">%X6ٺͳwYhg sG9l"@}H˴/[o҉/C1^اd(s1Mnxwz t?S/ gNq2[ci6.s݋wՉ 3//&tZ KTwя>\QN}y0>ٴl=~oś~"6rgyWxw_AjVOӫ8oK .!Lo\8{qk8zy^˜9=A fe8{WV_?ʑ'^乗^',F@!e@l}ε~ʏ~/* G牗^מoFd_?2/Oqë\YLSz%^z C_yIhpw߼ϖ|Ko\wϾ.qvFxWyK9QRn^8|zM޹Sgxŗ;aE&i?|\XfWyN&uO\6w̹%n))N~e^s|P"8!\~:1]ݎEj9<⋜y`ăh_\gϾ;ƚ Ͻ+/K_[HSV;)DF7;_ɍ5' ?ͣϽ™K).v}s>a4:ɧ+)jһ|^Y4ik\]9/S/{3 IDAT/>̣Ͷ3ˬ]<;jb'8ԫqVn "> ҁxͳ\բ%58^x%<>JֲDvo۴$%]|c]3|'wxUוrz*`b `ww8dRf&LqqOql D!t)ǹKyxkZ{)6Ƈr۪Nr9FLK!)~0|H*{zzዏm)"bw}j{.sFT[4W@i}d?'T3Q<ŶED(S1TJ#O{[N> KTDM=aFNzEeHn$HZd}/Hmةg,lY[1[,KD$(m{_"?ĕf8(#[l㌜a`BȘ$a)lh!Q2w{uq{ēW G_%Wy@DZ wl"bH_o㊥<+~<ֻ ^M[WSe'ԝ%f>NjTIzŭ{$Q(ycoGߞstEEDE?5D[uf@PEG%Z\Y( KDl1%VF>{fR)L-@d +xQxFZ"2n~V*+d]@Ww}seO=DbFن-ekɷg$!y裣Ro"EGf#SdFId'/#\&3!;KX3DJS[gXȔT=O)ɷ͏DDL5+Pb4n 7ZfO&ksF:Ŕroˏ#dH%>_xR $--r",%KeҌcEDHSsX|}pLı*Q ŻU%oJ~TeKo _-𦼰/,-qKl[֏ Oc|9=l\7]L\[ΠA$~\o eZIr%KJ`{e{cZp_xؖN MVY:Tu۟.eedᔳE^)},DH;?+Ee}ZĒH-rϬr)J->͔?#Z{Ro?"{.cK @ _' }yuow3-Ycݲo7R$?NOR%"bFE,CYzy?NwVo!%'\'/Ogĩ韖HwLɥْsݟ#Ed-?V(a_OK?+ x$8vŏ;%lbWSD$Ih ";!-۟~cK R\xEwJzp =KN-Odۓw~ɒ뎮 %SY'kL ϕ}>HW[ϙ3Kڳ3."VD_?ZG${%s'X*s(("N1bI5ɽsIOz["K~R^ KkܹޖMm9?uIWZ(׎+tR$wRYͪN %"1 !5ߒ'ŝWMAT|8q!GN8cX\nvV>)H"O [끐1.*z;TH]H 䏻Qmys_#+˱NW2h+H~t,I>igLaէ>m=pAvC_h,SP5ASM[/yսlQ4e3g7:b 8JcD+NXP:^v;{;bͤ:ڎfYpx fW'z0DÍ@t+}_>'6ɹt>7v;]{<}6,b9ZNĥ:h 61ο}۲PU E0wo]$Vq&'j24 x~ޫ]vFdd<;8U\R' p+1:g>hd&ԏ}pEneXa$te?qQCTgģ+8ޯx5u8@˹tA!E&{ؾ}6r1qba( ػE{i7 H5 9) ZGy/V6r71Wca//;8^~ɓ]߹E><A3'f*6$;1l8|^1i\@'-'S;3oA>1lbk Gm~x&g{PŪx/a/V\f΢$S!t[SnRp K :l~4ǎh1'l eo1d< J&2֡ 7fƏX5-ߥ\E`cFi0+eǒM!a*hAƕ3)/麉 h zc#ӑM,L pvdmWY8f1O6V#3޶ xEy['u;G5n-&i+6;7o/C_Y|%z"a)ѳ[{7#lFi?q2QCdgso_/ c幭ur#")i"srIlU6UluRɸ%j8уQKDF"o H_ȏꖰ­ҶEyce#ze;5SDH 4$5w\Hll7d#d,oUQ9q//، H4K~P~<j}%i/ía EeZ dSǥ;sl93y RHflhT-JW8,PHB,ӌؖgC5rqe].|myhPN[%t##ɵ2x惲|UDDNd%~ApLE쬏Htv5X$,PHBDN%\C:Q޼{L/&e#.-́ߖ}pXt(v6E:$RTCߔ]/= ] JղrE:˜.]-8HDYp^ƩS#Y[$Cɒ iR0j }hlop޴D-azI^2GFfK.[yLjÖDMxR^k Tҥ`䇻bRy$ !oʷ^+;tIgS:j? ?-Wu rя6alF""mru(IG aoȩYx6EĐb/ryyARN9̊|I_"]# q2:1B*\gMNshu?oGɒſZuT%no*,~U&tm;E;ydra :Kv+c˷'tڝ-"i_-o=^%wWKECtNu痍3e58m:"b%ܰ]=5/:2RHg+ٵC?4J.OW O"Ht)e>iO5ppr\Kx"%ʸr`8*"i_!//(}A܃O>I8xi)қd_N9OYssNU/aNKæGwKĝ- 㺳#%F,$Pt)pǤ#*.-7 "d{TNNS:x 8'[2Kl55A:-Mޖ׿>Y.R.W=-?ZݒQW>&]tF﬒OwQDɞ_]"DM'WP-EI#*5 G?EDI˂Nnڍ8BS"Dɣ؛j.ꏿkvS}ˇSf9#m)4‡l'l8%mrn& 1eg3I :fl@T41E'o꣼3x\ne9{N#es=n؎J0?k;Dm;cMEZNѰm3'(%s}snj\rl0">_e T~^"FeйU%,\?*f OJ\9qFwD?8v`/>F^gxru`|1sѽ9#B v%P|x<ݽV DwT\^>}}#;[)X~[H dNd7\|!q~ƕ5t|EhοE,cd 2 yf39Όrr #;wP[w2Xt:‹'!jdoJ qeұq ^|h&d2fC愺p;1haV~o6^#;y۩wG`xj66Pƌۗsx`d1oY޸OdZiKS0MO⌭ys=~Jڈ uP:*wS}"k3McAFQp"lŶǨwh. U0b"W5pt#קj#K_gֳis5[z۝qDf c{#oԹ(v >ПxM+Ϣ,_:9S$5ְsQ.SH*޽7 ֈp("XrR/2gcROHp9dY(zmpr~t3r\48gxAjRCNoXzp߽ޤC<):ci9S[ml";Y: D<6Nkcxl߇}Ԏ4du\{׸"/ő0x3ߕ\|c#'짾0;R?~ C t@2ϐ 7|n~zj":[zt=+vAt(DZPqlVok**v[PJa!v*\R&9"x,1H^ϝ:!{$%GUCG8!ׂϞdk7qx_μﲳz-TPtLG/e7q˃/h0uv IDAT'8%߿ V@BPSImM4z ˖fvD uE9Z.o9HeU#Yx=*ݸʦ\3qWr$@%h=~!t@JMEM#Ggrۃ|̊OT})DG0`,!Vޱ-'y6#n~y4\ x \MC?}ML{{`} !XfrnoAO1w^WPe# +i'hE;rpKq5͎c9:zU`Ӣx @lp]aO& $<k+sXq$EGA(̓79H]%@fP'8Kdܸr.[$̽C9 d<>n/.`[xoO&ًqw!َcd$̜ȈJt2 rz衇ezz 8w`r u܃00 6`H V>ar=ap#aV (q+71&ae1]Gfa}SIiSR1 9.=lı ^<c#<2,MySV-$/$$jQܺM]N{>>ٗ[?v+7d)Tο^hsxQ $M1u8XئE?AT<^-&΂LxPڟ);m wD|P^.;N¹x3Q^AzEp[',8Uui.gN+⡩Lrxr;Wz_Y;D[hd[ DL2āv=@QT<.[ǫs}#l7s'1ҽ3qePkN4tKxr^4(eZ 1!pu!F\n\Jb+E [3~5̛'}f9&8k*`.ew?y,g3DL•QFYIoR8LGG9e.x֫khS>Zn6 `\AVi&iapvRADsCh:|\c&0d@k'_CH/Č9z;S33 eL[6l&O>&cjKqYzSFc'D ZDLnŦ6'.2$?.3tZ;%+Vi&ʈczf<7%*+43[hjs6FBj_INdF0 &3uR1ϛ{Q}l$&;Gܫ[^lVgseet`0!Čk$b%Oiq:yX-5E1垙Y}oWaD㠀K VNOǬi 1ĸ -{Ftr>^´ 2n HJ{{_Ĵ]-TqEěc[?w*TpxTvK1 |n9L*Ev7"%"eR؏~^R\L[Jt\yedNsgnAsζup:;Rd)أ2}A9c*ȰNTJF1X(fUsܸ.܊%*qhH&nYXvBdc56bkχ[Q..7v1}e69fkiixZ2s7Fma2:3;^{8'O~xKJ(F' O¦DC=ӳpC_t=dv&`,@I-rٰ'I*EVF_S$$,~T LKA]xv]!|n/8l=ՍrT'ϘqxS+ Ջ$r  ʼnvxÜλ]$:_}gۭwTF&9_6:Mt MSAI,\%\|L20Ln!i(nAgCǟJ 4HCjv Yݜ#0MafЦ$3O/p"N?eyG[pjQ4%JL tӍGwv:lnX m0 Aqً@zJuA,T݉ #%RƔh=\MGLH%%;=lT"qL3F4+A mX"ض(> FPUpj Ѧ5pr[:ga׳4a 3pa*P,t w  Otr%,řHR3 =q`lA=ϚmhfGT2MZ!tu#݉`@,m:ִ3sK!^OQAQQP=hdFYQUw& ύV;j٥"? gh>ZGGAj~L<zeTa:BÙ&:H& >~[:Ƒ==kyIsnv`[z}KW**P3&JcG+݃+3܄DPUc/D(wVvZ>? 30l }`;mk8($?$0Ņq9 2ruUNO];4\yy$ ݭ ~^Edej8q`hk4LfZ4sL;gRN"5=̜H3Nr.$ gp u/2B+H]:Ϧ) jLȚr-IrTl{4թn,۱n xhOBްr ZAkMSp2$YG`|鉯 c>v5Q'P~@'9 ʃT^L*.ßw|RӳJ'wBdo+~>_M~ȟʸ0S*s *6ogˑ0ƈl sp `Ȑ%1ȶ :n ,P5^BG8QA0q=V}vmDf/q6i8t /o*t' s%ޫDd&y5_#c7o3Wy ~;OGh&XFͿEssY#L4B|:Yqz,W]s)بLrnyFQUATUEAyמw;1Pul ȡ}E84)e(AML+/^+/g}=Z5QqkpΔɅdGQtԯROB(=w,Ph?CA:\VD[s6( h8uhtYя|  +2>@lř9q4#v Dg rM+]ЕĄcBšV WR8 :]X9PJC7%Vq&&5T{*Kׇ2~%((8[Ib jw-4Eћ[xd!u 4͡0@:i~]!%`ضe=CuE)< #($ʪg?bkc1}oY2`m 4͜4mp4\nم\LBivVx#F|;uFs;M-Da뇳``/M\)"k>d&yrR&$(c*إȘF''׮WTrsoiRi\X w|t<ٽxHOo ";=o`s @e" k=G.* }qfZt'8G6uty7^"O×;1*w b)tN0ѽ~ϡx| _}W}ʺTC3yT@\MxtgPUyll[TTMK,;NpT~$i-Ls$ PT| T,T\`YfTք(WDf8~w.MNAgouthe,n>s>WCMzAy2gh.*@w`ӊ l_6k'c~qdnN%I XH &ѓtֿ5E9>N}Rˬn|`躎XhM8 AU,tUP'r!^NQA}qzm9`7rTq7Ys"fc$`JL bjjҫ ukyeCl 'S8j>9uy($gtFa62prÏXL,TVTϮ<'hm%?#Fun0 )=鋮bd`D"Dq,/g9 G0l՟GQ*$9o`mDǻ+Vf1  (mmF9sFCCEVg'SOmV^$fװ`t Pp ꡇ.d.88]D T3v+>aN:먫ϥ s…\;ؕq$DխqT[%K‡ZźUXSEM2dlFq3@koD?O%GQ\L;DJx'NL趹\R%4!~c[ۈ_d/* l尣QhT!9]Asp s+F,VQ49$&=@k 䡹 Jo&]B}[!-0 O t%k|;]AU4}EPLRP.t1Pl$9NKSvwUU]k+WAEV JFmmnܹμ;Ʊm܊ mͨ JD$H**W:icyoŮS]^ϳ{>Zɻ,BG0nbw\,Ez߇)8S)dt0% qp8GoŨS_ԛbt1N}>Ne-$Q$A6P76zh#B+_G#ZM!v]zӽ(8cz0}$Jib(94 ,q6rF}åОiaaR "5AoxGUE4;C{;t<da`J_Ӧ) Fg\a x"EHDs2M ~J%c(3 `xHO)gz;kaF2p|?ϳh1{n(c4S4mU/3_4xO$LDqH4 9P4g|:5&HH0$<ȊLDK3-xlh/^UY5ѓfpkO#B`~” 4aDT&@wś?ɡ޹+qztżs~ϴOǑv@$QP6+Vn s2\$M1esᦓ477'"biUt?@L4L$HI4@@HR-)l#hn4z!B-44($ Dz>,''cQD5Wp#>)?΁cuz9G/@:9Tl ,$)ЃqO\r<+DiV 7̝=ʰAr=bM -ORBV6,Oܜ8qx6(ABMB,E*9iO Za@*0y-;?XrѣF3bz.^x1N6 YضTa'\H8q'MmnDEd&ܐEv(M4Ȗ7rdo'uGFkJY 5{G[рXUM?W@hRADp6*3~tzT8¶Sine3:E ;aBէ/3n) CY-A8LվM|h-iЍ?Ll?Q(aa`IO'\͒7?ӪBNeD>:62BY {6TG2d t -h+@ kik<]"ۓ-4er=mtY?hsjozg_^Y͇wq@=-#nˮ{;DKiW0+nqZHHݫ?d ;&թ]T]ZzCʩm10"E50CAF궾æ>̞INA; Ϡ2JȓA,*LY)V{}NAv)ޗ~ѷM6B `bC$+qh۬_CQ**Kȟ3?fjn(E]} ;Na-Q*ClT}%5 7|D.% ˾І6osІ6| &² 66,zg@RWE.YWeu K8@Heϛ,xk3a%LhC<0C9.>M"ck`"-AHhE+'fQHig(=|2g+_ {ss;l\gxL;GygjŨNNxVӶT0*Qqw]/J hdS -- KGx/Xʠg2{B{ N@Y>J6ef]W L຀g74Z1 PEWxyH1gք2g2NAIi3㠴L@ƶ p3Aָ_3d"o֕\:;yB:NwspVçt1Gk|"-QI)2{#3{#JaopgXESčc˸EkcGhuQH'8D`FfOd'ws~/3lr;ѳ<|pl(+"'[`i };9r&~aib)y|c'rc-\{}v9o?׌,hO3 !1λ=Tq̓4bcxcA,&u:@;`Xu')n4BT" F:Q#JH9GPewFbsu lšCTlRR)Li`Z~֠dfߙ/h7)ss@I{u- o,4 ) 9~6"+$lB F^+1E "o.xo3zOYJcH"4fY VWA v&2khPHF\8]汷?奥%Q/ALz3׌Ƭ(I$M|,BwW_:"}[`4pGyΡ AV.=˯%eQqO ;k_wY3<<ɩSh+1߾J  XmyoG6i0}R!"M22 ftAUSSґ0#Crںx׾uWy05!CSp]-杕1>mE*^7e9ݒ TG*5xaNf4z6VN;JGqjxf􋐕r4lߢUngۢx~E6|:ϔW2}l/%@ۙ3A<1kH׮eUz<9;FR5u4=!+Lҙ጖ <YkC6wtp^Aa3| :$qs'|,EsՍĮ1&!i@h\{(S_gEL\;#=%$ MP@^s=iL;D%гGhZc}|.W&~fI*M:L Fjp.1q+}jf>U,NL`7ս $APg㊓030Pxfعï=]?Q7eQ n[DFv,%~#W0s 7 Td,FM|C䁣4?p;O`hM*NjAyg`\WE'ك uxx秬 ./@R?Ĩ]Ew:X@468O$pgo:u9u+>-jhVWJ"ҧMϝùsW6#xq %7]]ʰ\p2|(kpΉЙ_AM܊Qk~h)I+SA* ^:ZF?+0$D .]¥S` M5%I47ې=?$@4}ŜtDz%Z+8忧n7PzO/i`=/^@c=q%(,<)D]&/?O{uU\UVH6n`Ǫ7y\د/}*^~c#eH"6wzg̻t%m ˀMl[+~,M`}C)P`/2h By(4yK{PbеȠyYі @@I̿/e:t9}ՎvL@"mV-z7@S9\5j= r'8[>b˛' I)6j;k6kk -qI߂ֆ6|qvІ6 gH!dh8cnȅ88*b'Oؓze Mȝۃ rb b"=V<0-Ƣٌ{. 6 çRt :Q3nDSIJlܹ]FW@ZvuA̻f^i# |"  )קZ0 mYo:υ0 WOkX47ýgR F]K_ 㫆0 W=wԗQ]ř @haNf‡y,曆H Fuæ\޿=Y'3yƕuCȅ[O^Z2z "?  $:v_9]U9B.̩XqlP(;5Koe3ٝ.`,c&0~F@,WKgcUoJ'}Jd"W_?Y_Z/z`Z#o<͂GƱt^czd:1:q|M8=Q&i`(iwoO i~B} [c<{,<ԇ➻f2_f\# /g;ΊN'?xvTO-[֐>ϗSsij]ȂOlo]#("N X0M&up3Y)ΝaOE(L <"(8?a;8&]u7?X;~9)ɵDH^Ao+,~~s0HbՓ<ϯy=%ӘO8>/Z7j :dM+cȕw7uT'NA$ߍ.}wiZX'#2Yh0$d2Ne;_xbKjX9_G"59{o m _<ˇHTavNJNfϙϖ-'֍~(Ηt->JFjV o^>ĆL;C P̳ZP ZW= t`ogKI˧&"ل!s)h.,]MU@''NcƦMm?{qs0y ܓo ѽ* a;ߗu%A1]~on|?B@@%Op>~$:QLϋ1|Qʷhs) D=.˘p0F̧N._w巿[K;{l)Cv$g,;E7c0Mf M#~l+>C}Y8x,=K$_)82%N=5ױy\mPM?"0GB㦌az(ZN4i&㧮`Wy>h$/eksyps7WHz%+y_?ki~\@B(hHÁ%lYz͍wAxs#d &1q~%# y3 Dh;RA{ a=Qܓʯ~DS~tX&gE" 3>ua^ B&mQ ^>y6}gAL+EdF3C XtNEOk%h;cd҉fgzܑnǯ6$Ҳ~Edt }Eɣ{WDF Ӿ`Ck{{$uCo2?JlZ+/)|A¡F*I: zNJp5mPΖ@F r0=o?c2W󩯒1`@ռR6.x\Fv<{HoIVy)1hr3Ġsʟ$;GO_O{{NRi\tK;67+?åUZLR?̑4?U -` toHk~?^#KLe̥La:ÚmoEhH~+(^êCO}JcynϘB< -34L.*6 >J ?+ 4Ҷ $,(H^n6Efo k)EFOH@>Rԧ စWxo2^]> ?yk9#wr%gq]8]";WʵzfG ,%)̫G2?=}h[iXH""$"w;&y-#]vq0FY&I?u\~xnoi@z9xɃltUAB^&*S$0Rd&a `dyt,&;*j*vc;|rk|\gH7عQv=ܶ mfG[X>xcF 0$%X\&7$ )+B.MU8iwtJ`A,CcHAڳ91wH6TqW8u?nBv4JmH"hL`ݚ}G^/>%\2ր{#-pCKgWݞSJ&9#j dn>Fn!Qe#B:xZjjqt`ub mhyolCe5uXS kcn*) uȑ=jxma2zo{Y}[wzm 2 Ms@^s DaD8dWm@c0#XDF[z0r^2^cg\8J~7oAs5'%=7-R0+X/yݬeȏn8{i8v 4D3W e`IœHHq7uFN8ĉXv Ũ=ñ2N}O?į͹3zyh&rARu(BϿ((7DHӽw_eUTWw@v.<1NtKFl,XWH H+\٭z4 B?y[8ABy4dl#tʪ85@/AjCf7YKIN!,Ӗ;^~<Gp&a4 _F`f4>9OaN6vZjxВt JcQfE 9:QD3~׭$owXR +^Ne}nl4=LߟĔ@@sRjEK]Kӯ;5>|יlD)-а5 9~q^kY5PéĦ'H/)eڝ0gE튈On6B Q,Oc*\du=19dS/ƶ{wܒ[J{Q^GM:.eŒt:;Fҫ]kHV͚tK#q<\ <q$ ,iiri%PJ @rn>=g@ ($h(ߏ s*Dӟ5 dkNcP':ƃT'č.כ#balGa^⢌n%1a Ce|Կ;̻1$q_;1M L G~$tp Zv0 "Hz>&$ϊ mkiJ; RJatWYv(>Uԑ.?S^-+{H$A2@ȥ0uӵ- 9> wXj,6O[:c(@@XӲsֻvp7:Ľ Y!"t*Ӭ12 IDAT*@5ݧ8('h %A+:7Ȯ~Lb$= HLo$ZJF9u:fd dM;^?6+I4T8Deug53O%])UdA h/aƚJN.Lat|I*UJɥ< A ϖfNafH ٩ ˜[+oZ)4~Op!zArYXR+=oVˍw3)Ik"lxN]P}BûS.`BB:eCk")hA;Rdc_uM)OӽJdtR"Ǵp$JJLC#3c/ ̾B0RMg^@f&ABq7r;Q>bqN'!9@'$] Q@i#iG\r"&AA|VO#< DZ7LNn69a!Z1\(SR2Iӹdd$01,0 >@(D](.mƟG塍6$b M`8!@H2» mhyUmD}t nve)\T-5-.܀ XƎ/c{\mrgiY[ f2~Ab8v$ 0S!J ̺ͨ<Isw.Wëɺ?Z8޵/+ﳱYS0?"d[V21?>B`[$Rt=ncΏX1-]WGU 8Xwҙ70:]3&KO =)X`˩q<<.=2h[3!'7'38Q+]a؜Yea#}~HZ]>\3oRz>\W]OJ+R74se|7$z J]NxQ@Y3v:i,Wnz61?L c(3`P:}d/)y?{MA yy*"g0F(!(v 3&`˒uyq^(Ϗf {?>4P9e,Uh'.3G*>YRbb@L7qj"^~fo7 ;NbqYdg'X1,ۆ{m_Lo\~"7댫xF9dCVxU^|t<;CRֽs ̛RG ]B-+WP=SO~4ӎQqX) T)եL>.hȻwF@ 0Ԁ}% Gξ决M|f 7GqF7Q<ŎY!6QOdOd,{%jɉx썣lL) 0a8C;^.ɭ`w7ׂRjlX Cg2 pM6+XDa࠲T[ ϗ"h+ uԍ83>|*:ɉ` b".fٸ,.Uȏb]}Q\)k1Lv8S,\ȇY3:%v;Ɇly_y[ٞq'͙̐8`EFXGyusZeSb}ΑOdM)}{,˲P4YʚEGm$Gc b%Dk36_ÚY? QšKycQeetMEרZ.@ݵ| =AG7N?!'\(>yW巙? %@wz3ᄊ9͡~ ؇HjNʵ{(>i侞7|\6aLV{V3&HP [ԏ͸Mxi+T˦04~ć __4[F aE{QvW˳3^Yij2F_cx,ѷO X~ /wTpuh dyopJµٴ%]~#S~sRʣm*6.=O)߿g;8Y^|5{`oF 7-bu,A4nV@Vо=ųoa; 7+r/ֲ8ceqsHJ^׏(D}~{vp^)ܺ1?6[җ^e BXNĬ叱h,yYw\τ2S]g_cc2s`z[@2:eph1h['_ǁ706~#:s"F(|䔕R3tb*SĪ'xVNMbJ\J{oȂ 7a0Em :&} Gm cye Bgṕ+#]lpvlUѿ6L@w7 (P58o•휬OfbEQ(qSveO3'<򽝴n'1[,eII>3W"#,.SLǫycqNHL zE}2 P~+ßc|ޞ̆Oeî9d?me gF1r'1q|xj,9xsKݧyyf6=cFeQYdכKYF%obPf Yh<XXN&0Z)KY`zAc6*ٿ_S99mxʗt==n˼<vp3(CNihj1Jc×4vv3K)?IdSo21ȼK2ǷgS<{K2qH &<>%BXY_U@+mxC:666x @VL6b#ùatf6<͒nFFUp% Y356L°)D>zՇ頵zDa.c,WMӹkn=5@{ &^#fr-}۬{o7srBǶg<J'3wXf $\YXQRWAppL}g>]+ul$j36Mx/k\?7f`)<}mcϱ$4id&N,Kpt/S璧 fNӲ{#~#<Ջ^᙭٨3ku x.־oL8wV?I461c0t\2 {`U0Ѧ-a(sogێFKq^mGq'+_fYS孍r10꣜LZg~ĴrjGٵi^]1[D̚ˌVn1SÍlgIP2 sr'_ŋ>a$n8Xx&϶}Yֿ [3%;ѭoSYyi2ޡT G M9M8\lE5I XX Z7{qsi9a=36G YZKӘ2sJmy;^SjwِlgFm&f855eTge<קZѱ\r\LTViNeL߰WW??~-<ȉKY:8QC39y05Ty_L˴Oxb2;p<#t{=K4ż]Gu<0 ?j1i}pO.-$MdO^ŧVfr^T(jRzo.'<</9kk-d1ܡ=:.KᆬT-${$'RH>X`| aD Md&! ,f{;oC<ȳ_W;U-@HIy&PQ"D3-jMf@A2n$/'@Xxi~'XFM1`63÷ gXh !eClH$b3ϜyG]}$ 0cI;͓x])=>N$ɠ!;[F9ϖ?c|埝䔓(T߇ir}s{d4A` e:0ʡ#B~I8?{Q/Lb2Q(G-pA #.A53y;uEN0` ZpR4Hd*c}h1?9ǚ8>A&6X;ػE"^ݰ&q\Tk)ﻇoE}F /Dr|q\NhZ"9ĵG6C{7ɼqKH88A󧯳x浏~<p;yV%L8uxo/|g_p#&Syٵ Sz$ Ϲ+"7 ҎUjG)cAT?xpt@ᇫ1^"ְj>u#X# 4y-$sq~?XBc2.xG_ q ۆV p0ﻙ3S*xh}[zq^{$&sH&o3{1{hy_xg}92zmXO"oU7q=(ImdxyDA"E%T)j4Ӿm~)[w41NB$ w2[{|%U1C`(sy,\}IOA!(?߸{oE$ :ݰ~ f_b"QtK;l67&<%axiB3K Gq *0|pcz?(w6bV(JI3yL%SogܡwLҁD  zgmT]KnaXٖBz T@QNq5cpp,g Ohm2Hӕv@o3l"%WSqT XXx*4A ȱÙZ~v/F}|p*֦vl$p]F`4/֬* VYvO9};d?8ŵT]7ӦsRzq<ƥfQqm4khJ`4enho,Gy+ÊBP.Xeo8nnG1zL&àLPษΎ6WBekY!4[XT̄ٳq]IIl'\;l c+'o0p>z}5>OuG:iFM@"VPIeMY f2QdmAi<+BAE9yVxEPNF-}p7&:<\;A^'B "/*-cbgRTٛF@UC}, lԮIί8h-t9䓓דUai (I3=w+t\@ NLEvcؠT L{>&[^Hq\٣x:P;72V1 cTۄ+eaLYXypÍ`@Ac( T"󣸎 eU4s ^Foώq=Sԏ>2LVZt>+*,Ġwp_ܥrD%U@TE{bm|vFEPR?na*p0(e]G`ㄯSA;mi_|mNX_~b%T֮-פ095T Ĵf2ut9Mx. "UsB+jyeGldXq?x3SoQ Rgi758dSLI%6NRP;bQ /W|Xʀ ;]#j*睏stvI?k6Ӯ/6 $: X<+jjoĩ!kH ;`7bho̡g %_=bkvhSC Stϧ @( 1w2#lJo!Fc{XxsݰR * *{גp\9869Y2$1D^Ve0<i#V7.&Vyo s(M9c[>'%5D#xtf=MA*zʇ{s"PX5Ag0iI+pӹ2rXr#vpO٣?ƌYz]y(k}^T*_T:-Q֠9Q%޳?om9ܬIV~t&Nόa9b3Vorwv}H8) + rc0x; WCe4|ŲyEe@)<,ܲ10?Bvy-m`KF~Lq#FK;noҞT,{aϱVZL 7'=a[67Cs!ɩJ|h"D{QocnoM qq0 D)˨^_UNYь=i7c`|g!aJ+LG< tx,,q]"NדLz1FQi N$B$QW^P5{I'`常sde4I7n3dOJ >hL ;]J^ hm 㹟8QY[L%=rr>+!H&}_hJ(q OyI_BYaY8tVC X0>^r#}N<?|Kea9a:q+YO I|`(c_|Q+z%qq.Yy2yH<]$I/,tvSg\u~vW^"RmE—RhĹy ijI]*H:\ i4sӄ`c.XO3݁|$ɄO jF4(7:aqVh/g4N 0̭:Hry4K=o:,{2O] gۥ>V4 |?@TZ=w~ 9\jĉD"VxgDk?$XDF.?3wkjgׇ\\ƀSeOS}$r\7Y\{|}7?p7cRMy?[c$ɤLk{6D*?}f '=~~sJq+!(c4~`a_R6qTg:;_`_c@8ʟs_;Whfot\ _qA6ƾ^3vJܗ CxRvV>u22t@v[p-RW^4: \m+,Ƶ&ZbQ_o{R~}Faa0~wTt/MxhPCb\ Μ0~'kh1N2qvׅrL@-`<}.yhPEe*̙>pE l+= t1n@XXZn_/HhN_sis-c>r/q<@[aLzkwgaVU?H6Me_">5gPՙ|ť'>:PV/l_<. e]f+Rvr,Af±.V~U@(,?].[K NiOӿh0q[U{㠬ntlѠ˽D1`UΤo?sc<mYXIL0&],u&lu¾D2ksN7:r.qNYo_ !,2p%ĕc*L; *h0gC]p̙Fw>g) rYisyvvmK6EȠpuoaWW0 uq"a\u8̈́˲N;E9)"̃^@8ŹLkTYe W.^hzjV2YsD JWu^xRVN:; 2>0.JeԱ~YFצ޿ntp#tFcpS7m|,u6ngIyኼT~.mMh# Ǝ8]{^KXs g{~^mgMX]B*|_٥!]6w\umdTV]еh:˸F"I,g~j5b%Oi 񂰽.Ynjn~2\iӃtMm0XeuRzbGts*4둠3>8\7|ZcT!nżE&Uz4 oqps0 xYS q{9at|qnv0#Zyt.Rt۽k2Ƥ5:U:ad c}KJzwq%:քU!oIu$98*:;,eHIY(K`Tv< _l dX@m FJWJZmcP0>1 aӿM*p˜(| FzxJ#uQv0BʪNgʪӲU*ϡ@>̩0λ_!qu 3ugKuL(s&U5;0k>p Jnp2Q,tL)T9o(5t cmWl NwJ5:/BYIlXN-@YvXT}qgY֗~eSvg LS6Vg?lceU8+t}t<:8J AjaYs\aRJg^R u2'S-/$,l`۠0=]+r o ԙ¿tm+d,,Gt\qxV`8{@݅tD•E(&H&aMaY]&t XC*n,pTKgF군Tv*tI, ':nX>]7μ)uIǤ,. ˶Q¨0_$ ew} (Yg^C*oa{n sүa8;e"z_ߨ_DB!B!B!1WG!B!B!B\dJ!B!B!Bt 2p%B!B!B!B!B!B!݂ \ !B!B!BnAB!B!B!D WB!B!B![+!B!B!B-B!B!B!dJ!B!B!Bt 2p%B!B!B!B!B!B!݂ \ !B!B!BnAB!B!B!D WB!B!B![+!B!B!B-B!B!B!dJ!B!B!Bt 2p%B!B!B!B!B!B!݂ \ !B!B!BnAB!B!B!D WB!B!B![+!B!B!B-B!B!B!dJ!B!B!Bt 2p%B!B!B!B!B!B!݂ \ !B!B!Bn9B!Bqy&5eXB{B!BkWB!BB!B_2#B!4<<4:`,,v\\Vg B!B!~-2p%B!ĵ 3V)4I::|kO<#4s<)ωoP~;v(c~o)W7|~=Q(7^`3ﲵOr]i4uu>ḅs~M k&k&2./4@18$QX!@!Ģ7ܜ#VH6OqDm>IPvXN!e8 Z !B!UKB!fh"%سU~77X8D ߏV1`:<˓WOc~rKO䑷В%il_eO- [ym;{*[}1O/~M_4[ `rϜA ʱP([NB!B \ !Bq B)IIʶ"eC|s6 4ċƝڴũ?FdVQ;h$Z:2|$yٶr9ѹb4|%o #=ɩ* -ϱ.>:e6lJ!B!.2p%B!5 p{w-eKaAyYEĀ:(Ƶ-ZʊʰiRTYC]H,C; A*bP2v%B!WB!Z(!Rw#UQlsZi=? /55Tا8 蠭:d+A㗜I^g?7;71ov4'ؽ:cG>xE l/p)[qljJM[ 5B!Bq5g̭LCZA)JkIQ1ƒO&F1>4, E)A-*/ 8Mv9|8TMNfZ{ǝ׺AKej.zn2MgbH8oݿeqEk8&[S t}tWcy$nmCG+bH $I$i;O$I-Z#x]? IHjR-*2@/ .c^ҩq&L(UN pdO?tߺ om7]>z*rbEDpBby~O~#N_%I$I$IfP"BV//c{hl挹t$#gO?W Ob|҂Nmn?s.@@WGY__S|6ڜ.V=Fxk [^ͥA=ȉmgzk=ls2@WdY>P$I4c$I"큥-{p '-C{]O#rx鉝<9w3W $ck&ϝ߽;u\0I>*H3;iJUON9S}O^ͼsplu^eʧVnR%I$I3J$I5RBz~X|PX0>"/Y,Ky 2네le\pٹ\xlXЂz#cD^/vWcT3r-|(C,LQˑEs/Š3K<~~yǍ.(*'şӟ8Tdf%I$I3J$IeB)@0+bkO>4g0qU% iF*(ZH!jzjz*b2*bK*^iFը9q%I$I‡Q$I,|Y DH##Lb B )ho/BB|`b+B )iL?l%I$IW$I$I$II$I$I$IJ$I$I$Ip%I$I$I`$I$I$IRG0\I$I$I$#$I$I$I W$I$I$I+I$I$I$uÕ$I$I$I:J$I$I$Ip%I$I$I`$I$I$IRG0\I$I$I$#$I$I$I W$I$I$I+I$I$I$uÕ$I$I$I:J$I$I$Ip%I$I$I`$I$I$IRG0\I$I$I$#$I$I$I W$I$I$I+I$I$I$uÕ$I$I$I:J$I$I$I)zꕩIENDB`hamming_rs-0.2.25/assets/hamming_rs_vs_strsim.png000064400000000000000000001043561046102023000203140ustar 00000000000000PNG  IHDR'[*sRGBgAMA aPLTEDqDrDrDrDsErErEsHuIuIuJvKvLwMxMyNyOzOzPyP{R{S|T|U~VW~XXYYY[[[\]^^^_``abccccfgggiiiiikkklllmnnnnppqqssssssvxxxxxyz{|}~~~~ׁփׅͅهчׇوЉي΋یЍێΐܑђړϓӓݔޘЛߜМܜ՟ߠѡᢢ֢ޢ⤮ѧߧ㨾㪹Ҭح导ӰٲԶ跺׷Թ黻۽վ꿿 )atRNSH`xwrܖ pHYs22(dZIDATx^݋\i0L`!h*p 6E@I qtpe`qR@/b4bcsVZL]{sEu}|fQ\zTyt?#+PWe?WI  f{IѓT'FOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5zj$Iѓ=jfrxSdHO^<ߪ?nĬ'1Y3ғ{m֎#\QbГɺ}@5$&kFzr-w#\QbГZ˃FB5$&kO.]G Jz5#=yl4\4<QbГYII`Г,zrГ;$&1$=ɢ'g =COb=yhV]Mx~u\OǾ"|ח}}\n4欹-z}]ٓ|e#@Ob:=|-ŭ謃jfq{e5[S珗oW./K.ހߒ rp[/w99.گܿp٦{h,nv՚RGo_#-w[e `ILV'Y,~c9; {7a)kN8+%ڴmU[{ _3Wo{2[Zؙf^:w[e `ILVXja[~}[u##,g - BMGt.ugTo oo\Wϼ?Sgͺp.k8e+vݖG//z嗚-9Ckb^hr{r 7AE wF~3| Tl%jFc[pSxꁝUH{y yqmOQ^ƋdŤ8<Br;Agu7ϮG{qi%.fk˳~[d^]~-h߭o5׊o|kfǦOk)nxmv5wn~β;lr߻_0^$&/w{a9>0K\`}O:;?^d -p*ߵ[ |k,~.گٟV ;ǿ\.sm~roqWdn*xѓb]):aϗuWXpf0#{ɕRx0 w^1 +?Rr6R̵b'fWཽƕϳ_mE}2'1Ya14zl[^ ʝ/vk -½]#|_s[#a@i+6z|gRޓ=(eEObbAxlznC;@sbʍkR{oхm߳h-Lw_?+'~"[}mx]+W=~'{|]Ƌddnn[gAʖn[m{+r?*ڵf8^׈!nuoY=sfk\<Ҟv//z%KMͪ>l9[xQX)۫wv*f^_繯dk]xѓx1gUrdQN-hc][J^jkv>4>ޖJ^•Eeuп~׸y %=g|s//zU ܵBڭNq&7]*tbM)nk簞^_ynvqf{v=AObJnV'OvA-Z^[sWV-h J^8ՓeUovǝר~COVB(zӃd,&ݬ|Otrv^ùG(m4zPI xk7' `Fܜ^zGiГ$&d1fzbqwϭ<=huvU+Zw2W֮{α=Q=߷w=J;'1Y%I78~_._9{o)y7݃Op|(p'lͮ]㓊Tn%lГ$&d1f=m6]k9{orq%/,^ͮ՗5: sQ9$=*YLY]swrt}+ݙ,},{S]y w;4{^_-Qw=J;'1Y%I78n\kK\k9{oݵr[=ll+yl!½ _,sc5z{Z]{ݣsILzUtڍ;Zyk-g-]u8`,yد\zXF5z~zs߻g|CObzГŤ_Ƈchg\k9{o3K;Xmѱ֓: 1z}+[߻CObzГŤi֒[>*Z^[kwi^w.qj\Ym9%vԫpZ~Õؽ^_絮#hCs{ݣsILzUtrkfۅ윻mzZ^[kWCM_ݬ蔼cjqk~_v:r=J;'1Yg@YlpД[v4)%/6 י7XovzoT!o\/y}A|]Zpw\uk\ ֕˱w=n `Ĭ {E~ <-pjcڑW5zuta[`I`U؞= VZ/Oz:wzxвcg^w+';(wgJ`ѓA#؝,L?z>V8BM8'LzyV{AuLzEw gSFYӶwWc|-g$0eIȲg#V/-巴ڭ?'^HH(zr=Y7ܕp 醞T xE""Q$ɱ3Ǯ6Υwl=LvCO*"(Qؙ2ldNnM󁟼Xub+"EO]^Íe[]ГH$B$D=9v=dLOꮙjwe'/ eo,'^HH(zr|9֜|O^tVN¼IŀW$!E"P}ރ0;cvDw.vWvғH$B$D=9fϛ\zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR mq<&̙Q,#DHDѓ 'հ[$O¼"0B$D=zR g:]?XFD'BOpۺ2_(m~euS7 "Q$ɄГ*?_m?\UVWn?=xjW/7ކ"Q$ɄГ ̺Pq5]Or=:[XFD'BO'пqA|t?&?0sXFD'BO}ţjC"0B$D=zu丶¾af (QdBICw> جa!E"L=yyg]izߞx{ys;Id5a!E"Lȼgwn+/S>پ]8lBWJ,#DHDѓ |q$?տ/_l^0R"EO&dnzGa>-;f/<->^,#DHDѓ AOqNIx^8> $6Nyi=XFD'2:ze"%'pL煦dwS"EO&d=Y8|pXRpa ']wz}c"0B$D=![_OAILCgmW"Q$ɩpz& NJVjO K1\Sg}ߕzs /"0B$D=9n'AvN+Q93vJ,0{ou-v=$kL߫Sw"Q$hL5#|֡af fO>3KI= _.|xfK4>əĀNxDϦ)"0B$D=9VGn1ߓu7#hW{Xw_] ' ,,|wzӪ>ə̀?sRgT`!E"-S{vE1דYmPY7çĬt.6.fRÿu2Hg9M<Nhx:],#DHDѓsn8n{r}?YE{ۧw}]}Vl+7yLNpu.7.4R"EOQՏ//=aS30{ݓۺj:wН)Pf>)Zd!E"kM7o>%dˬ['+6aɳGz`&#=rǸ=䀯id"EO]UO^57enzm<=d_~[ȍջ_t@&d;eE`H(zr*{,tֱʞz`ӒgJCopʎ:D|:S'\O]o}^8aW)o]Ȥb!E"0 Gr=Y~i[ks]+wpnɁuŰ1J9雈"EO]yOZA{ڰm?h07pkEosO%oW_Bw0s2$iB$D05i#0=ye´@'خLO YNWm?g^7WJɟoޏ B~JW0ðSޓg WZՊO.Eמ-aQ]6m??G;g_.D~ 3ܓkYع)ySlͫ<ү: On!?iߔwWS#|pW_r[Oj?f%2-D2&m;'/U8n GqȩYwveAܓ;2?f5MS9p{ܗc!E"{G;:g?ߤԴ©ax"EON^yk';2S`jͶ>])YFD'Rɒ;2[l:wWoq+(QdB =Y6ud!E"LH's:~G扛zC9 ,#DHDѓ 䓰Uc#΀/l{;rN(QdBr=.,r&qG zE7|,#DHDѓ 声'j|zj+(QdB=pJ<95?|~OƧ#U"EO&$ߓ,,p\nܶl"g!E"LH'?+rGr37^yC"0B$D=|O~iߑ ¶\E`H(z2!'߿oJ:dRߑ,7ola"0B$D=ߓh\n&;{V (QdBlO?nN\n6gYFD'bz_G7sE24uwBc!E"L˗d#T3ޔE`H(z2!/_ld՞r; >"EO& ֢ 2;fy~}oJ"0B$D=?kr5suwSJ"Q$ɄnDKZlh 릔,#DHDѓ 2; ϟYh i+(QdB~M <#lع0p"EO&,L6., 2Oq,#DHDѓ:,Nc\g= D"0B$D=ai'gm ׾ (QdB~uXFFtoƀ:55"EO&ׇeinϟDܶ["EO&_ Ru7|}$3^ya!E"Ly!_ϟt|OE`H(z2!/ jJi?Q"EO&[BTO1G$6_u٠c!E"L˗$,Fwu]B{5]wafXFD''n!jwJaw;|q.6s{,(QdBLO67}bLKn~w(QdBlO^֧nKEz5>2v,#DHDѓ q=yyp`ֽ"EO&$d8t[ˏ/{(QdBBOҖ}n3`!E"LH~ f͹TwlwWJ"Q$Ʉ{dۏo,#DHDѓ =n7Ú~u"Q$Ʉ|뗝y-o̮XFD'{/:IorR|= "Q$Ʉ|ᗜγMy5"Q$Ʉ|旛y-.wWa!E"Lpm?o%??Jp3DXFD'{2,9vZms0̟!,#DHDѓ =NkZ0;CE`H(z2!'E6U n|e!E"Lp9}!"0B$D=ߓaA7f?͝!r*%(QdB|Oۅ rπϟ!r㊽,#DHDѓ =B:ir;(QdB|O%% j>M('gu_p1Bv ϓCHD:Duy'o*̚s xãU~HE"*ǻϷovN.캰Py6=y+̚s x]l6G!Q$\m66y UasD!Q$rSzGON3ۓܦ9I~tC6O?[ n6|Qܦa]>zfDn?tQ}^wSO4ӓ/][DQ~/̘yp%%n,zZȣa|CRNxZqVWa:9o͘ypfza(zf5>$*DޙLJoƼ9Ga֜cxr`>$t 1q>]Òs>uY<K@e {dVgvy‡D|"؍s`έaDU}|FymZxf9&a9?DnoY-Gn>0:k>z)ٺ3U=yU Z?8(|6Kg^CZxf9'M |HԌ%xOW۽W(ܑ޽.̟AԓY5xqN¬؞ 'aဿ)I/{ښrE},o޲>kڣ+/7s2izl)+fvg{2LO:,U. )o~>ײC3oܩ[umiu?ǗFYSғ'Ş1_ɍdr=91z,U! 7q^5MɇDMW"o?߾;esnV_]7S5jSғYd*Г,Mo&==vf)$j|}bαu<ȜГcW,[K濥3{`{2;$⡯ה|HDGOW?~9}'ǮГY&//̗Kg}nw"P&EԳu5D[wE=9v\.4_5-ك?khOw""g$|J>$j, ޏa|=9v4¤am3*:g @U6!Q#Md~a]-8ГcIhϓ ҙ]<{A\E`D)n _H5DǏVn~83ɱ=2WˮKgv} xI,ՕhS~lNC?q(ɱdKgvSW_B%7Nk_I5Dg o''~g«L Saj~),G`z{2^uܪū!+~'|x_L Ѓ?? ~*ðSړgQ%/μZ]SiS.ODZ˞I t敞[ad{}/I8=%gk]_ _JW"gӟׅOJgx)g#LMwOqO.I{ҙW*^3GC4Tռ;˝LS"s]`Ǝ1),{&wKg^|Z jί"P7ۺiCLdBOndYͲ%ҙW2òͮ ɮE#ϊ[XYCJy;BO]'̣7aeKg^Yyu;|>MJ>$ȗO;#~l'ǮГ%ߘiwgҙWy>1zE`A;*o}+(ȠL[ɱ+.s~ekn|U*ڛPT'JOR\!pjw}{7݇$ t`fsNy3i||v@5P"TdCb}sAnt?ГcYsC}ҙWx>nbLG7~8CVE?ГsnW;ZSÌ3 <{Dd'IdW|~H9:_BOq345Ixά(|;e:IuD~/1Cb7>Z-OŭջO[4|Ns~=^"Vέf|y般|z/JD|>Ձ:EOk'}Y71U!yʞ~M}dѓ؝k_cF"o?+٭u=6xAαG~oГxU\xx3zR )"Ɲgy.ׇ_ vqcuu{ա,Qd:>MJ}c%i ?-! 匛03l=?_wY5j|]aoL9ǫm?;,kaɄ|`{WCNv\nޝM!V=Wޕ̰QdB^0c0>~#{޿o;&'ތ|HU쎞~d(z2!/0&c0Hi|ϞZ֪qk=cG3l=<\dƗOw=8y(#Оpz+뱍aɄ ^7oxVz;8axqv$_mvrqcuxQdB^z?fa#ŀWOxOB$_MWcC{ձcFѓ yQ65jB}zA ߝ$YiGİQd2޿lfCO0y}d7]f;Gb=;hOžƢO~_`6Ld5j>l=oB9u|$]%ڃoac,qsu=*g:w0l=I_kJ1t$ţX2k6 “<_)S??ra(z2 הb)J}Z;\Teb(z2הb)K 3kIz} EO`R x5e< V5[UykuumqǪFѓ kM)DޅkΨ:8Mǩ Fѓou-^M["[_cO EwS{(kIc(zr=3CyR x5m|QvQ/LY+_&WԾ]u$D=9̒_)bDrW~5)>$D=9˗biLp1_J"EOμa'j:9bw#ŇD'g_2gZY#WSȗ0=^|H(zrU]fc+"EOξk _c xE""Q$Wu/^HH(z2W^k1DD' ^HH(z2׺WD"DHDѓI^HH(z2 הb+"EO&bR xE""Q$dվ% \kJ1DD'$1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$Ʉ HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"Lɛ1"EO&G1"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!'? HH(z2!'W#0c$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=ߓw#0c$!E"fy' DD'R&T xE""Q$?%CO*"(QBA=_zR1DD'uQwݸ\o4E`^IŀW$!E"Ԯ-ƭb<N=D"DHDѓZ1#yar- indOga/IŀW$!E"iŝ05ʕ0ُv< ./V]cO,=D"DHDѓ:5&#fV0t{ғH$B$D=9s`? kocyfV1k;G̞7ғH$B$D=9ZexdbZϤ-JBcsۘ'^HH(zrPInd.LF<2h,/M7uT xE""Q$A†Sn}@i6>{f+Y&'^HH(zr`:yyFLMYX [c'^HH(zr`<5c- ;Y>˝ͮ'|O> HH(zrp= r3L7MmCLfoqs DD'uW7^ثO./kYp)'+ؽ{a zR1DD'վNzxRmGaw{ 7~2|vEO*"(Q\UOŮY4VZ{!rn#zr@ xE""Q$A6/&Uۓ#wɟE}/I8$!E"G_ IOH{-l_7?* 9? 0>=yizp l{2+Г9jfҮQKuGu^O$"e#LMwOqOε=^s^xdcrE""Q$u5k'ZۄK%m.|O~#(Qd/.`J\sY&=,<>F""Q$A^sYM v]/jѓ xE""Q$A^xKY&ݵ^kiNٕ0DD'eb\0غ)MI5뙙lO+zR1DD'un ,fٽ>c]K{Cow澙[k]hWz2ƀW$!E"r=^6W˨kUnG^nIŀW$!E"ӥSpйzs=pmtsH7b+"EOQ-zxPwk_^=gfnKT xE""Q$lГH$B$D=9F""Q$a90{L=D"DHDѓ: {ГH$B$D=9::wzR1DD'Ur IŀW$!E"T>GT xE""Q$A6 zG(ѓH$B$D=zR1DD'BO*"(Qd*޿w¿M|D"DHDѓxu˭LZ7y`+"EO&БާyǀW$!E"L[2mﺩ\ a+"EOy8YƒzjW n _o xE""Q$4B!VWqɇŹƀW$!E"OOWW^HH(z?' ֦)0x1֚ͳq[]˖WH$B$D=9uSb<^ʲ0=^L/M^HH(zr`;fmD"DHDѓ2ka90knݓPnN˲?5!b+"EOaj,[SBO*"(Q6Z[Y=yfOM=D"DHDѓZ2YjdГH$B$D=9,[Sb+"EO"N"(QֲM{uSBO*"(Qdk7,SBO*"(QlNz^w`MM =D"DHDѓ:_β7fye˓tѓH$B$D=9#SZ n, '^HH(zrp{~ʉ'^HH(zެtw'٢'^HH(zZVggwi'c xE""Q$k:o4ɗAO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z򺎛q0zR1DD'R8ڵv_uIŀW$!E"P~?1b+"EO|-dسKžhG='^HH(zrPu׍ufu6Ͳ>RIŀW$!E"Ԯmb<esQ,\4UcIŀW$!E"ԊņA1߷l655ܱ$b+"EON JÉY\4캪qڹ쎞T xE""Q$*ݑ 3+Lפ]WA+b+"EO =iIo|d/]d:3LvCO*"(Qj.dbVZ3BAk=D"DHDѓڌOY]6dF^{]ГYm?ɲ0>U\W82=y_pH$B$D05i#q<F;vE=syaAǣ8 AHH)3->ĞbW:7gXr=1DD''ˮBzPn=s-=D"DHDѓe>uY2>aNzl_ݱwb+"EOdwauםeps3WwdV( ӝK~fIŀW$!E"Y_=ز-i,xMFxf/{cjĞ]^HH(zrPlOo//cgͲ5wyVL_=D"DHDѓ2%T]7e V=طkfy ʲ0b+"EO}9{;q4ӧs{ { w7+un=D"DHDѓ:˲5?eV#knΤГH$B$D=9VO]>5&T xE""Q$A-}],BO*"(QɎ'YVSBO*"(QVl4u&T xE""Q$Aًx˯ xГH$B$D=9w,[W97 GT xE""Q$ujV'{hГH$B$D=yg]B09!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(zrZ4'a*8i=o='^HH(zr:ֲ,GފaԏŒГH$B$D=96\)^=D"DHDѓS፯vOښ\n4._]ѓH$B$D=9 .ֲl+דz]3z@O*"(Q4˲\7x'͗^wQғH$B$D=9jY,דf򍟼X̲0 =D"DHDѓS`3v/s=ȲZsj&'^HH(zrl"ߓ+YVSW=D"DHDѓid-~82a zR1DD''=ГfjMYQgГH$B$D=9iKYӓ07ZJb+"EONN8ӓf*< ]ГH$B$D=9aǵlɝ*fԓW'^HH(zres71E}/I8$!E"G_ |ek~ꪞMڕIcðSړKUd+ѓI{a0I{kO y%ӓ0 D"DHDS6ۓ?=[pE""Q$>lz{ruc`JZaHwH7b+"EONTf1[ܭ='fv솞T xE""Q$i?iWp׫ѓH$B$D=9-r=yܹOFdWb+"EON|O>6k7͔='b+"EON|O۝r^3܊zR1DD'E'/O;>`WT xE""Q$iq'i\칦=֓=D"DHDѓѓH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ɄГH$B$D=zR1DD'BO*"(QdBIŀW$!E"L=D"DHDѓ '^HH(z2!b+"EO&T xE""Q$ip< SyY =D"DHDѓbf,?(bs]*IŀW$!E"5[~wyy83sa^wb+"EONؒZݭv s*a zR1DD'#YO '^HH(zr=0= Hχ|O% =dK]/>d H=bw= ӗ'QO0I:Lv. ӌ#wgY-L0 3֓ `zr׬B_:70|֓veB[Y9Q\7+W{.厛`Df'1=3'`$`4f'/+%kX ~hr`f'zj$IѓT'FOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5zjsғ7͋`Μ4}< ZJg& SY`yLys$ 53f~xیY:3!'π:W7?>s6ߓN\l77ԍsi)j*,VO-OkJ3dWB띇 df^ƒ)%ǩ GvTd\<6c`|3a)<10>?9/+v51kbh %[:3USzr.`W%tfNMdr~ؘ)G#¬Cz(3s3Zgt}pz9In ccnGXl,0. m3e(7텡YkW Jg,[̰YnM ҙ zc~VB;n_KM3Ѫ33Stlf+fPIhiA{9,I\nMXҙ2/mҭa)`, N 3lڛUm'Lk82Ӯ ͠0Jgm5-)[P_D3gT=i?板czDjze{k֓Hˮ(([ f1h~ГoVB;l$63Sd/ Kn9bo-BOڑ Yz9RI"v[˺;qflw6}3 YvOYaC&  ?lJg&i:m m8BOeC6O*Fao]/CiLIͯ?u~"Jg^R YQætfnǚp-qgvv+f&Гvtg]J3gU=iX[>ŴoXGN6tfL/5Rh S6ҙ)2?hR-w @qؘGvؔL]Pdp$b8tfr K">2>sVޓfu_zRwMȝV<>ŵEbf̟+ng~Гf!QTY:3EvɔW{a7 g}u3lJg&MH$׎h,B?raG̜Uғ3G̰ٿJ,${ߥd~Г7|dJgV^7KW ҙ0?q@ǵh><3c0xF3g=9L KayO7'3Sd~Ь56M}O̲!(ҙɱ?e'Uex爽a:./bfj#jra"Jg>nH[͟RfؔLݨ|owPfh(BOwR3é*,?LΓ7ܢЎb%("o%!עhZ:3E&+~u{l=tf;[O̔x]w*1Z:39,2`:3sVޓa0\k {aP{ۥ3d֛ۗh녃YMUUҙ)Z w2 ætf .Sl Kg&ГAŠG3gU=iYnX ̗E'qn i؞U:3=fQ/^cҙ)2t(G tf} w>ڥҙɱ0 YzO=+fEbku$'lZ2ҙ{.ٶG2LFSvt7{]ҙ *n\1 xX:w|yLN'*tǤRYzOKWR^UjxhS=P:3=ðRۿ ` ҮtfLt*2Rv#6n6ҙ *f[l>/tfj =iGY {9RI{F{ g֓]U5\ibk`EKga̠Zv3Sdwn0}ҙk쭽-ZmLntfj=ijt3gT=iaqg$s&y[2o?ʥ3f>k揩ZX;ҙ OY {Wγ'0&~tfL v#a׈Zs͟Mҙ)s e^'{9I"KQՒ]ڕ~%l'{\,[I3f~VO?]:vLiN<ۢ-ܰqY>3A/Nm$6ݳJ^:31Şd;rdhٔ~Oڳ"bnVžsfu;ۻWJg&ÖuYYlLЅ[W֎_ 6#JgǮC@[%ۛORwrT:3vBs6gΦ{`,wyw;uKDAҙ)3?hpaW!߽3StdNg[jg,v(SW{^ͭYǝgBѴZz9'/vܯky'ur'Ζvk 3ӵ-Vj-h/]bo`=q~j57_zJqqs4lD4r#hxحE/mϜEГqG]Yٸ.9/.%ѥ3St^(;yf6" S:3m gΚyIAOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5zj$IѓT'FOP= @5z@lO6'~*tes1@"Ie6잟e5?S:geo4zz}"LߵZu}~*taJF֬dR(ھz$ГHئ:]lzb)v4zsS4Yّ.ױeajzq&>zF&f9˖dM >{i0h`I`vޓdo6ٓfzih=iO(Yd+BOcl=iZu} P"!$0FMqdsS?646Agu[///Ƣ/r{E쟇ǝ#m/08(?ا־ȀF㹛3OГhLn^oփZb+_> 7vW)1`)|aq+ ޮgڳ ݐ9f~r?ݔycwÔl=L 'ȵ<5ovzlu~~iO]mr3|/ت谝Wk5ToS3O;H= F]dtNk ^Wzw_ Uړgv9'f ni^ܓu(?-6ϛ:sv5iZCMg/wy83Gɡ'44n砭ZsǦ[{=iaVj^ܿF]]l]ldxYGMgP"$0r8g}]k]WeYe D "0atwUQ=À@+~o鮮:T[>ޮ]:ַ0a"Q!D!B!>謵twwSPP_ş{^}GWW(((p]EB!]u:;;6ZA!BL_O.GEdc Zkـ0 9r$پ}#F`=Z!B\mvd$qER E !B8vee%]]瞥 ?'EtvvrqfϞzo[^!B:5_c̘1TTTS'B!"߾㎻Lww7ZJekm.DZ{y>u] B!U=] !BqXZ!B\.$~B!⿲+yJC!BTggu]D"!B!U/,HEB!juB!B!B!įK&B!B!BqEH,B!B!⊐Y!B!B!!B!B!B+Bg!B!B!WB!B!B! B!B!B\8 !B!B!"$pB!B!BqEH,B!B!⊐Y!B!B!!B!B!B+Bg!B!B!WB!B!B! B!B!B\8 !B!B!"$pB!B!BqEH,B!B!⊐Y!B!B!!B!B!B+Bg!B!B!WB!B!B! B!B!B\8 !B!B!"$pB!B!BqEH,B!B!⊐Y!B!B!!B!B!B+Bg!B!B!WB!B!B!;B! &uо8/&&$ dCQJRB!įMYkw !*f-@Bv+H !ⷌT8 !bB($ |`4Jiq]UR>XcQRѐ\1!~`}CZT-s2"Y1`8ZB[B*BkC.ImH.pꝜ{8CM-h8NB 8.=Pډ>E?I[j$2vGcAs~H,B Q!)Pup'8$*U%Wߌm["yZ,@D2 ]_/}B!v2BqՊ T8joNѴsuil:6Z;ҤCu|23dPFNډ+EVxLJ),l0GNwE7+_AK#'[8dh5yPN9Ɠ4uDd,)8y;֦N`Θ%'߾B! 8 !W+ (Q''{2V,]m ԝlLD_m.nDQLoEkP$DMnnhcZZ= 0J)h/e櫶Զ .-F`AHZF0"|r sQ<׶r/ 5a Xю&7on\=me rw=qC='qm/ZOnE}jPCd⧿4&s6F n:9r־=(Q@^?pU0'kR0!A{j.X?r~o{Pܜԑ}crZlXnG:DXP:>S\bY{6 P j;əO򎈺]at(dCH%.5Xc16~Bq_!W B!ku]Sc~jV8!>CK| zɶTc{du_]_/.OT Xא(.q}g.pryo!R(k&$ NS=q ܅7O}} 0늌 &R0FBa!Dl\DV=LnYFi.P"b6!Qhqp~?xx1рp1%#V(ͻ_RŁX \2o2~X\(MB7EQInQhf n* XZ͙D4vRt-" !26>ɑ;,a*_.)P`Jr!?[Uד(KT +**7\xJqcへ}[gĬOo^_+L r"M';'^/;v.:)B!H,B\L҉v} V4k+ẅ́(L(i?˙{iغϽs;X/pArM(tb>pxKB&Xu8\6`ÐH8~;DhHn]q,(>;XėK.12i2==3%C&=Y$+sQr<<ǻhY@b  ⡼$pt_ۿo8.sX,(sp.ڷx9 ~ӷK\F{xɋ,^F >ńYL*O8kMH͐ -I%=|e $pWvsq\H\=?n( Cs>,q\*aZRL@ H`$ NnVlH \|4 oQOմ2( |&"1JcSE$ԺvGrq]\tW*scuMW odGc: ұŖANRUHjډ]K'L'6c8x:&w*!"R'݇9y%k7lgÞ>AGVSM͸̽n>fD&<,غ~C'9՞&P5|,` 1kd2lL#c˷:CB9{Q‰ Q`S 8DeC||3 8| 0xrb<X8O~&;$ !2WV(p "v8?}FK-|3Kw0MV?*"$WݮNѶD}wԜ]#?X Z(E_ .b5`"yD#BDk7n[jĹBAF3z-)fgdu C̓vH:;_{EIkڇ/N0""MBlmV:!TFMuwĵ32rǥQwvCxtֿΪ7 i,LIL2o1Ed3&iY^޶bo~ K6",ӹ S8d#pIPFa3M۳U+6OqtAj0m7<9J)7EzQ~R;<'&-=ʖ1Puן;k}x_z d9MVC=FKWHWZѓ7k1͟u4$i]{q#?[w#iU;U8o +QDdɝ8odR=t.^ae=i oςUT@< a+ݲ5Gδq+$yJ1h$LY3XtM)O\_BA~{B!qqa#C6&*;IށhĦukXi?;S^ȍW8Њ\v9>͒^g:C  ZQx|o)1\_8v,esϳdiDDE*`ժ7Xe?>g#=k@AD\DM4oW_.y7u$H;(ܷVڨoDIpҚ(4@Z8^yu#8@5qgfS 8a+馭q-kI_0_YuiUн5#ϭewsDzَ6-t+X~[u]Kœ7;Ma=E/cok}~liPZcAؼaX?GIexX=T2C`GG,ϲ?LP_UdHמּ3$i=餻ikk7벇v{8NDTj[&>q96> :fNZg+JK`Q4&I._˸E{8kjxefZձ] DwD: # TE9=νκ%h~᧬{z[@B Y#i~{J&\k 8*}KYs,Yo35&w]ɊX>vXPèIpMv;P]p[x|JW܄q}hV _:־Ok5M7.QM@䗑Ws-{ӑxaW ~/Czg5SN-ÏNCϘx:i?^ǾOstaw2qhLYEml-,[@߷Y㜬G]}'`ў´'ùGA^ ࠺yd^xg^چZzCQ|K"U%y}| VS4 6ogx{-DAQ v7 6?r;wBM "B BJ.zS}f)yy ң];VNrà\B׸(*4*UH)q5\_[mؓ,"Xh'2;^f?gr-c c{ʳ+xeOy0=_Wneq$Xi['Lʬѥ'"L1N{M ص~?/ $$2~ij}I&'3e]3o,c+nzۺW-ewd NمYPILv?ź}A;Q9e1w:R$Ӹ{W[[I6`=0xl*(S *OWnJPg3,0lS:Eѐb˱'M3S|9JNrnr6x'Wk3E~U@XT.~'&4h7]lȏ_GSd0Y\?kK]&֭g-XC~~%I of 蓏z֖[P (EY< >C=n2wpps4oa~:Oxkܔ'o%4&kOm4Pz*QTX~K!V |{h,cӣ;hU Ō Jɜ=H7ظf~aߗ?cSqojgϪy~d%KP|{X]]J*)MQ4Sx]~~1v6Q;wlf lOtȑsBc :?pnoeٛqьLG7'pp:Ve߭c׮&ǗMTNHܡb 44Îu1,9 ">~7{[Y`>ʿ~ ~l6#Ne0vѰso{|}g~|xV%TEb {:83rn(溙)^BxOʡ4L:fJMgi?=kVa<}z~j1(h}~olFO>-\{/cܴD޿Տzzk>C3Rfȶ4plz־?gCߙ$ X\8|盏,f̵̻}> bptӼVqK!v4}|AX.BwA!Hksٰϰ1vX/T4‘8rCRq~2Ll(IPT &г]yYzQJp3Y,Tt[ /odؔ̾d*C~cz'Ts| 5TQ2XBڏ-d1O%c2Qɮ,|~Ë9D9;E (^v?Cm5qqtݫWSߑO>'09zZo`֪e,}i4dS 1v`#/#ՓOA28Wܲoi/I(E x.MH{+ *̓r<BA?kPl^at-1ZKD*'4O4ڧ=ө*He𼈎SwxOydk\:9|fV:8FNZĽ7>gZ{|tq]un\MM;plDC ͸ dwӴ {u~u{?NW IDAT2[8ʫvy\}lP_XHX0%60(| =l4!TˇW2"]wdw ֮yeY8.-&KްI VX W?G@j#6#ZQXb9|M+5{>bBE?$츓~B~ď~di# XYh^κ?^<^z̟PEV==Ҷo*3ʿ~VǖuO%R=O@@%(62ET<|9&("Q:h2tm[~+[z/}|)W9dm"/mKӤ$1@rQV|spnA~nY/f_ OQ |7grhZ>ߺO.e1^;*,*$5[BQ>v-E$F.{ )@i̞ՏXs?[gTS{8Ya/0o#GxWhTƍe]4;鬼şCth sI ATuy=e~ YLv9"K7鐐2Aގ^:被'KpK}=&p @V2lr{,q#8+8SG1s(ʋ,`덃iX 1gq[?!嚪=h_ϯ ;{l13+2L2 ز(M˘Zp6tHa#=βTcJe`(+yk?}_g+W)s15n!3ِ] C,Wb/v.h0rrSTf^yv[`|g1 AdXPCo<˚2m"?l?PGJ<j_{FP EP6h^{7#swè|Ґ9H'ymv7ZU/3&3uZ7К>g52OAh .3L>l&||Ws_p!˔Z u"|ٵv-/q3w~7'bU#kChQd^u_`䭟+D(zzJ)yw&M ߳c6if귾Ȋ9pI 72`5``tkD zbiP o?0PZUORF-ɦ[X;2?ǽÇhI|x8@'R:h$J_:#=w:psmGB!>$pB!J. q#;(ōlLΜ2($Bvcmare 7[;صH̺37Y ę9tv,zNoFLfwRqMHs[>A=)fGws$(Ƒmس05'2eR.̜:6D}G1GaDhaN^:f(͵uYr;^aa|AH`BABTxhPοW3xܰi8rG8y#u+ Ni33{23/`ʔԖGHdDklCŰTӐҫ<.i^@P=LS:ql 5mo1O*:N6Ih &`18ņٹqATp#'hU@LHp }LX*3FN?ȩNNF<~55o6pdYȱ$Ňe|x:@V)P  (,.!LrW) /Hi2R`!2"qPq78Cq1E>yNgwnjx\NV:8 = bPA1ʡH\\?lo+zRttMł%;=|E6l[{f7mf(fNbb "&'޶.)"ȣH:a‹]3$X 5kA%Ф< Y;:( P @o oyyG„hp]/1&W MoW+gZ2 p=KROĀLzx yMAXL %V_c ) `I`:g]δ֎J(**&W+7.ANT| F[̢0QAY /-Ӹ_ *V3xjLg ׳9\S3ɝB!@g!*S$6M:m s]\?E8Eg-[1wZ-5=/5иa ϭQXI8r8 'Q"96qC a̍ƢDC&] &̐7낟OYY:I&Q!5Fen*czizmqH8LB&$ۓ%O^a6sv`h/ dti-C#8uF|0׮})5p]|\{ 5&K\48yL5 2ds v}iZ "Bpl3d&Čq#qhVЀy'㠓."W*EahrpF'Yޯ.}͹LG/qa<6n]8m˅ۥp\}qwsɃ A΁HIYL"EIL%'znV햷vljmɒmɤD*39A9i&{owNE<"QLӹkO?aW_i Ss8" hk+8GoO˒-PJ^Cj&6A˖\'߻ }x V c̠0xかgy_]L[xݼ/eYp; +|up٣x*y#=YbR>TW9zr>~Y5i*%0 _9n3IsWq->;ȉ8;ְ7xs1vwx|XܜGcmr\B! B1HT ?*22Onsn[r`W/QS֑TЩs|8N2pq@@ Vtt:E] PS٬&UZAZ, ٬AU*TE=) g, (Ɉ'Ib^l'8@^O]gq&-.(R&֐lLf>:̵vv] oE_O1 #TB!ħB!ĥYKܹ-a ,(aӎ88q_ Fcȸ1 󡣗\G7eEX꡻|.CE!WHbm:T*k)0èb0H;Fˉ6#K7}Ȩ(JRաȓtVNWT0}jKCE|##HauTZR(F+ G_[;]]<Cl*Emwh-.IH4W)QDaHR R@\SMӫ:h褻ʮUٻ1Ld\3Pa:q{ T%(T ds'%ݳSXiTo':^RŔ6 #Mȣ%tY?*%* F]ma1h .vx)" #2I+ Sއ+@]-U5U@NJY0P8pJr**+*hn,O*]3pSN9zPsl$U&G5y":b w';9XHQQa+8*8E1PF1~554QtpdU/=q1)BI=0W0_U(*mȔ+-y-am"F5B1` !Lg!R,(CaNdw^֢b=;8~- ~8  -{9Vq"82Ù0lޝ]D+Fb6i~/]z Uc1u"5ph7-7s4?J^Qz]ܽ#1n#GVRJa*ÌlbXe5 Gr@)ʀr4~lСlR1R见}0a*4Tqg qTsS @%%`mқ6Hټ֛ȤitYzT4f~i T6v*JodD쁣gw/,a0DqIy@-'sj75Qyɖq 1EF2i9MGN>6>ah8fW3Vѿt5M͍DG?ji]arxxdp|XE(:")CEDƥVgmp%ɤbU 9x0v\=MM_hJ'ߐ IDAT"+JndW1ar=Zd ;5Ѝɱ3>laQ_;Q#ʨ- OH?/K~A\#'0lf<^&0N@ԇSk^ ,z ĎE@>@,.=2O)lTnl۶(3'W391Z~@:UønW7AN3h[uwED:<}tv{TP 1uT7h?η~]ǡ*L,8 !vgA!Nż"*y7a O䮘!:wl /-ʛ@jL٤%r,"VsdZ>*2[8vOqdƖg0Ӥi9 R+xgֶb,&Qz8x^Ko57 6w1Q}([7:GBhB82K/ _ņBEq]4b$c8޳M{8I?Fؼumh@a QI-@l5Upvc(ٲ QJ+^<ʑsQJMt͉vle3'1rdd"DFI'0 6lWqb&ۗGQA~.[ζ{!;y?r8IWeQ̺bcǦYl3:N<2*Py8cjR >iWϟ~avv*<֡Tr,^HvɖByf;hKu4)u8p|+fU/,YǴQH7\L&W7p`-N8g6bKlj꘲p.^|qi/k/pE?<5yrGZXb{AE@%c), ]κymzcc?x]=YJGu͢vWڸGgHg2d)@{+ݹ<]Il.7e{{! 8lO8Y&2(U71q!"үvq d+;w6S`\7^b+(tT@Džҽ-O9_䡿xzdl6'7VsxA õ)݈1#*B!>Y!Dӳ)Kx;w/c6ѿ(oXY_MyY2MwQڎnמO]<2mWO1+!G.FWxubSψ 8Wؓ- 0bgf0: 6qx`R}Vtܹ#ʩOEؾՏ ?xs%Wc2@ &e*Snwj^w,A>>7 qޖwYQ2tYbpHgќ1,yn+wˋ?5+ ,lfbnu_}ʨJQV)=PǔqOgۻkXpXfWa~~_k U{@{ Ԅ8t?r;-O =}wqלLTdzNkŶc/oPr̙@٤E{_[|MOVwM?;+9Nڏnc]óGKΙ̝I\\dX)WZ~5ͽ)f1&3΀I)70?^Ҙ ڤHWRN9eA/ L$XwT2|BnoSW{ м&6$0Of̍sݬff&wɡ C w}NqA:0J'IUdj-0deNOQwI&/keYsUMέ/c8xfNlbLR}x>A24Y2~- ARk\˜ ƳW;c$Rh?c_c;xiXzOrd;20OƥSġD3xt/D9exS !Ig!⒒.` k[÷-l;K'S> ٔAE}=9~p7۷gρ6rE׹1L GMF!E9amOgv7.aRs;kolitM HѤp`W;V3l\#nr'w}ͻl#; F<7q((?^oaCkOE] ]Kykdž9\6gq^8ɡKlT*M,a3ou9ZFQ: xz0*Svm's=$g4a-hZfRtl}7u33T!Z7UoM!{ 2] jI P18j˃@[ x01԰OƏž+1j |є{ao'7t ^!+"lNT7Xy*o;w7yO[y̙2z±-ް7־Q/|?5=Cz w$ {h@hﱄH.[<_sIHaSoZ2yivmPbf|371XOw_Oj#c)yn%Z=o!vY2 q垇Et3\*swxgk6VnC9BpT|ᛝ~j W~m OVJU߸`Wm#NB[/.FZ7<zW}^"J7OWR>6n+|bdTy8B㓯ܚ*e 7{赓:?Gk 9~K$:h=MOKr.&KY?< VxċQRNŘ[;۸Zed,`*` ̾r'Gdҝ\ۀwrnp}Nrxz s. .vT' w%R{Y^OYU^᫼{80upr߃wqU͌+F@ a=]WwёKKqΗ v Y?ų6ٵGFD0ͷ&W0"E}8@g+}@KP(gpW,S?|Vڟ.gY+35_[v9{ng?_3kI3Wsm8p%?{eh3_<$|ԛ*<ˤgwXz$7r42~Nz^a:d% ?|t?W}V ~;,ߺ7X ;{%{ !SOg!⒤Q΢\Dx~$&ϸyle;xC-ʓKTRU?c1q|͙fMahN&p͌{_6E_@=G(idة\vgXr\V %cx8#*Hy&lmwm}qj ojf{Û|,[H[]qWHCD_kI0\L|4`\u|1y弾{'tR#w}fvgĵ@ʳ1ڹpϗ+>-n:t5[f|}{8ӘJ& lo$rM_Ww+XLp*GLcڜEt,WIp H:IK& O㏼yiWeփL5U#&]^D紹,tyHNC$.XffĸL| mޖ6N)Ty#Mә:g]?(Ij2͌ao7rjK3 6]ׂLq=ƚr*aڵqus`:#o3lOiӐ)dfe\qKۇ9T6`RsUUr}2l<'uxo!kTĄsXtb-hI"w&ʩwpgE=MS.gl}GOug4zꚦ0nb\2gR 8 US!d(>Z B!>MI-^F1qk_Ji16I5CІ4eq+[=ʟ?ܘ"kz8x)1xJc:1W9QgW(m0yxf =0EQL_4Zyvrڐ8 8v8pJO 0(FA+:>|4(D  R7?'qWy/p[U6tGAd7iw^ε(Iy\C(ic[^ ͇Dq6$̅b|?ij`-6ˆ(N4?& 9&ϲlDQ?a|.".ɇ} E큋aBaOJFp`CBH!g||'ζO:pqZ+^3ސsa1bB0Oޠ>gdar.D[H~gq% C("Ft{9?\2V!ɵҵ!6|+(. C{p2NqYJW.D:h_bXepOZ e[ Ni8:!gʇ~p1I_ް@* B TeaCK> Ck_("r 7} unPui>-ycB {>tK?dd"&N|/ N6H{z`KxÜqU&(,Nq%΂2 CzJClHUGIx!6gfkXP;ৃ\>f[Kh7 h <)٤- n(c~Oe{ &i[ur(16^CP.,+܆VaW<.?lBƓY!!B| Nk ʘKUI@g@iRh$]S((VLz&JIy`-N%Ğ1I~G~|JRe,<@8Vh0X\ҷ:+.Ǡ봱J] WtPpK٤: FRHб˥J%Uׁc XO?+j4/!ɐR@؅6T8+ *\1.J}E-q(1YF*Oq^ ʠf`7'O>W8J)@Q(qTJ%iL+}as Ihvw9JN >$Lq|mLST>,\=u!Eqeϼ/)^PcsׄBqɑY!E |dBs6N:R@@J*jJzPBiߎSK:gx4JM|7=ǏrsRPSi]M5gd7!B!.& B5q IDAT!B!B\zB!r`CBH!g7RUbB!B g!B!B!!B!B!($pB!B!BqQH,B!B!⢐Y!B!B!E!B!B!BBg!B!B!B!B!B!. B!B!B\8 !B!B!($pB!B!BqQH,B!B!⢐Y!B!B!E!B!B!BBg!B!B!B!B!B!. B!B!B\8 !B!B!($pB!B!BqQH,B!B!⢐Y!B!B!E!B!B!BBg!B!B!B!B!B!. B!B!B\8 !B!B!($pB!B!BqQxA|B9sB)RO0s8B!B!B| 8 3 Ek`Q0cu2/ H8 !B!B!(\R+>lS 8 Ɯ9.8 !B!B!"'@<^lpz1B!B!B\iIe#К)s/y᥍>˭43P6$V>` ?Il Fk?596˝ي8ŏ(tp`v;ٓ H<3yxfWrjl88 !B!B!>>i @۴%6DG lyHg(h3sV?(Mi >@ L&]@S%zC g=94Z!B!)PB|I‘I+Y o_`kO:΁+^|+N艆"K *TW38ũ@'gɔK _8gz!B!BOyR"'A 1AOXv6}[o/Q 7(Uy1QMwwD˲T d]%GMU|G0~B!B!>m$" 󱱏A܆ _kԢ9 b\G֏q.$_RA1TM!͙ <␸RT|_XkqΝ"yjM+B!Bq(e&Zk1Kοm6XWģzi{xt;DpXl m1EmpAkk+Zg PZk-O!B!B\RXkQJN504D߲੘o }'cXW)GLer%Ta hKo@S:0e"cA7dZTR&MGGZ1kK/!<,B!BiWI4662a49 ŧο51)"CY|N2Z; rt` tf2 è}= D 1륧Gar2Y:+]1A8GQD__Z,Tꜭ8B!B!>sxG:u ft4Ơ6 nue㻬g:尅QID@> ğ|0Fel}'N$/l)4~yu d4@YP \  ZEB!B!%GuTEyJTF&[ >be-dʹⷾO=YPUIs>Yq Mg*T: c6aCw#&r4`cR r>k-Q pJB!B!.L$ DKο-@W;ڇ1 &5.r 0v_V[?GZRj+'p_bՑw|9gjq\zDDKK !ήt=g> !B!DIA@R oRk,?c1tRԖ-p%-$ ]l/am7І_ًq"sbN[;ϯ=2cQ3c/h 5RJaL-ǀycPJ ^k1F4!Atn*]B!LJOK6".58"(P hQʠĀ2-q^,&XE>ï'VT5o~x5WM` z<^ ]qnO"jjB!B! '(54  Y&{4^war\y眪e6`fJ ; J"EJSYN,;7yItGDZs牝XeIvJDJY$E$H$H m:Q3@AfySU@ _j%#(ȁj_I>ҹkCgDBܷelo=HPfTg8PT0_.mƈ"""""""YDdFcl͎["#<yc200HolJ<Գ }{ gP,"2㬵DQ$@B$E8"w}&:8&I "c)h9gq Jq~ ־;Te)P*%"""""""GYDdc>9e9gX lp<E e{Qt ED{#arZJ &N"{{ 7^K3䝺țgV3 yNyr!4bXXLT%#p@8bTy#&Eˏ2YI#;DDDDDDDd)p9=Yl#lXdK@#& 67Bɐ@.`1ADDDDDDDfg 7F򔺏IYX PC@{c6ꡲz.]7es6Mx=`ZǴng>-1h 뛾ΦS ›~Ipc, lG뺎OGۖ##WYDdƵc|#1.ٿoCC㌥,@Dxݬ^C:M_"7n]Dw`ue~L0%6`mQ9|Xrxf`XXxq<>`,ؐ@-@ X5#,v )v| MpEw_z" =I 'Y4c!xs8k0q!L:-!"""""""Fq@`8 o;n|};::(-:yKvVK%.`CiJN őƆ:@d: 6mK"5=yN:IQ܁gqȳ-ZVHMDMbBNov^ϼe'jj s,Ƙu=K,&x|9q6zH+s96 EDf\kr2}_Z7EkX'0݉zD$tu;J7I'$g`m4pEtl5V%*DIȀ p=Jcl O3.| ןއc EiCԓШ8!N"b q N Ŗfbpz)= 6~xsa3+zײz*ty#lnkN01ļ@fnyf<޾fƩX0Q$6?ZNn"rB)q..Y `\D$qDdm$"L̪v9:""ǁG2{~r+ܴg>q~nv/PrYzF-e(w/&p-q#< w<Y@0/O_s+a}#<3R6ׯ?3޻?|[8+C Vkj=w/kxǻ7sgQMZg%"""""""GYD8`] aZcˬC}n?? zO_y0^#PĜ+pIFUxh$ EDDDDDD~gg(Dx^_tegZ>kٵ'cn~ֲ Ͼ7~z7߉p'=>wWyk׳,]i6~v. |/OXzj{=HWO|Og} t2jF)#[br(XҖWx,X;>vwsWO_|_gd-#T.qxg9?g~qY87Ͽ̷vArÿ?`9]w!{~]+8X|&޻ܰSqm}f_Ώn{Zf~20DDDDDDDDYDx8 HX>,jd)Dalx 1@u3+pU./]l}%v D<}1gQili̽][^`ߞ^e]Q=J.nlxQ"?4V,!' ,B M!`3U}%֢Ŕ0^L<}[pik|)J]gW^;Qg<^:iy[VG;/s<{2.^Yn.14^.{_ƾ=c+Cu(#P,"r 7;",5{q=mC01jh1~6$0cil]CFK 09uJyh8av1R zWr/~0>k!+I?RclYܾ 0*tF9;eܿk=.*/atNvMă<ǜ9aY$Lb|s/\%F`l+*fv˖t62yph|`6?/^Vvct#f:C}$@|"""""""GYDҠA)# "Xk0"xnt. %DGՑ-LDĀb-!cHrw?EO=UB}>@Yc#bR4TvWRrPP"&85kD1q f3{\ w۟];vRˈ^`Gyys.ˈr̚Ak""ba6?h۾Ҝcx;FΟ r90LNn;lٟa+{~s:<w)p9XK焨 ӿt^a.A:10$x֭#Rxp^ Z8"#1g0D1(`*CxM߬Q|/>{HۯsD Lab/,Q%lQ^bxfn3CyU澴Bľ~o_Oqc5.j qHSp^zlV}Sѿ{/k)*!wyog_'{ 8Wnbrgj~/[DDfT3>󮾐.vK|Ͼ0KB`E:P@XKR)' 3*r-؈QqsbO;PΝyrt&e+֊ IDAT6<[R ;a (S쩑 %=áp sE`>,aV"ʜΒ5gfv|5BZCd5gqʩ g3;7m;Px,@=<9Afc:m~y5pqjtb}oy'? __3pZor`tC,8RjV jv{gԍk@bC0rzWΥGx;|ϲdtcܹi'Cc1 Ffn̸g&Y,=k5˟{o4t?KZz& e:). |+w|A_kz,g/`ؿj%b,Qns5連Y`!lųe?/v^83vP] M+࢕_ +M700cwnP1POhgQ,"r<"ȌaL :N|kk{ߺ|㦃 %"N >TcrvŔ`\LAGs6?5?{Zu-bg0c-j8#c_y-WyonWܾN/~e1g Dqd 9+6y aEqE~ z1ozz*%0&PxRQY~1WNB6q_ﳈZݓTg,첝|{nT3 LVGԦ砞"""""""GYDd^1k,\ⷽ.XŲ ^qpS ..ѱ`^2a*.*gWXHS^N>.]\ttK!cɩt-Yͩ"*A-^)gTϮ K'K/=S[0ؽYiQ _1޿lk%uR0@9e.ߨ2 k_PߩE 8O- u\!vA,Qu+V~uٶde%/ϖR_t!.G\#3jEDDDDDD~g]zq,q|z׮䚵!' dPZgF b0xh8Cb\k/N(:35.Q0x&+&&$e֪\\MB}@ 0(:Y,,6*݀=m#!"E|i|[s |ÀcM !(/_yLi;G"/<&lc#{~;YDDDDDD(p94m!P"m67@N2Cv#mɁ`礓#M60FOOh3sXl-"""""""GYDdƵF48GQK3,)N2h(NHJ(j#`qd>΀1!Vxq%&vBOǨ9i^׸!񮄋_}@#G69>QI37W*S#b2(iI8&Ƥdd14`J1B lMb Ep^Xlz=%#=MGzu\s9[\Qkh'"""""""YDPioxx(r144BFGLQ."""""""-8@ qLDQD+pIsGq XT$YDDDDDDd:""3(,]@ZhldFe4d~̚h{ҤjgP,"2C2Sl.~9:" f XbVXw{+xT(pRBi\q)J8p$#8)Rm{EKQ,"x2?>SqXkɲLaqYfMŋַurYT(""""""rS,"+N>WӘ3gvy!`Q,""""""Ҡ̐.QDDDDDD*EDf=ZzNE7c9GT:Z]mPDDDDDDD8(k-rY-ބZf"""""""""3RDDDDDDDN,""""""""""mYDDDDDDDDDDBgi """""""""" EDDDDDDDDD-8H[(pP,""""""""""mYDDDDDDDDDDBgi """""""""" EDDDDDDDDD-8H[(p? ǁ} 0XkB LXp0} BȀ EPlX@9>C8B눌X\DDDDDDDDD5P<4k}N_`OlV~p&zn?&/?6\ɵ^s1POá[?oe<(1ٗеBְi'gym88`f{/rwꆲIm͛xxf_U+˸5zo㝀s\JuD: NOap !LVB+pBLx9_nǵsKOe]w04Fo? J,qz%C~|cbl7>A^-'!DsX~  EDDDDDDDD-8ϰp{|o/cևk"7pC/='e>AQ:(/匷]uWe EDDDDDDDD-8Ϙqbr'⽧oSErǹw l9B A904(5`#2<'@<'y>yP=<""""""""'P9k-yo)rb;Q^g uؼN shh;o77l|\ٜ%*'Db>(8c,8&bꢥ/bωduseI3V6"'Ǔl$Q;~6'3OV}:{ņ l>P)%|춭<gsUq\ɀB8{Xkxr|Mj""""""""'fDZg9(p>7*IɇqpN^ٙ@GOr4ŗJEr2r`09| 件#ئgټWq*=zacccNh֒e$MSB P*ysN4DDDDDDj`-`ifLZ̼6^c+΃Mi$LLL0>>~̅}"ov 'x; @*]5{80Ȟy'VOG^ eW0D|9,yE[sXPM|ͷ~o|#ݾH>}1Wv#SqOV&ٳ۷'ɞ̭tWs^ZݻfLqr37_"hf)Y1<$o$u|]CT(fj__n5 !LmGdxgL1B΄Jk|{6=ܱ׹tM;{^v&mrB>cl833na#_䯞͏KH|o4m8V<@c344ݻ1ϼydYFE:ȉ)K!UB!)a ;,aHG^s Sm'~,Z[j燇JDuJ͊@ 3sk٫_EUG9\ ! >1c;b<Pg9s<Ѿ!ǘvqm-? ;;;V:fᜦ)9[ iZ\;g Nb_491V\>_ݽ4_#T7 -5$!Isd8Ϙ"RHJ.^~|[y;?3QQ*%sFe >Ã;+,06d[")pgka=JQa [5l&7ZkxiKph_F#|~Ma?zN~?>^e-<J pM<(ʽh=鞈]?ħ?VWDqx1>?{SXl ؈|Z[jy䥩YDDDDDDͯjz| {YŲV}Qk?+wuZg`=WYTtk@sh Bi|[S?_ۆy]T#g8a‘G; C#EEDDDDDDkLeq/ޜņu?ACh+Gff ^|XQ~5 e}f /lwč,Opv1x#e:OaEO=O9*SFvnGс,yׇ{ʅ7?wD7+7nii ٶ:j T: xEt;5+pص~D nX[qxMYl·w`ɇZj9(pi6@,~R~{Эa~PYTf ?u@,?ɵ=]?~/2ǜegr'>n[ǒƁ8b!90y< gN굵¹Y"Ξ&M/_,"""""""S|nhm.ݸRjӯi"rLPH^c=HNg1Q6VDDDDDDDDDةxbl񋳐Գ,XfQ$mD!4~BV3cqQD$$oDDDDDDDDDuxd"\)Rt6DHZy#UDDDDDDDDDDBgi """""""""" EDDDDDDDDD-8H[Di+!K!K^.*.L_""""""""""GEDD""""""3P,"""3F""""""~xG!>-F]UB@*EDD EDDDDDtƎT;9ϧ*żÇ0E\Q,"":Q,""""""zax~3ly:+EEs;j6Ao'u95/R,""""""/Rj ] tExq\[Kfy)p_͍6 1oyͫS,""""""vy Y֨pZ*TM1b=NrbWaLDn9(p7)Z]L(qaj=4oSfbmc#9ͯxyCYDDDDDD^g *4~s nvC02b1>֍qm:W#\KS\m5BhTBț/Hkfx^ص|x -L|V\/@X_`YDdYDDDDDD,,=/o\XS̗E|i7֜q""rRQ,""""""O-5!s >/*HƊ[DDNZ EDDDDDDN$"6ha,΍mˀ4V>}D80Z_kgkΘ gBvUPțgF(]x_\By]obfAsCDDNFզ8P-Zjwo|any3S,""""""""""mYDDDDDDDDDDBgi """""""""" EDDDDDDDDD-8H[(pP,""""""""""mYDDDDDDDDDDBgi """""""""" EDDDDDDDDD-8H[(pP,""""""""""mYDDDDDDDDDDBgi """"""""""DDDDDDN !qǴ~=oօ""""' """""r ʛYDDDNH EDDDDc Iq)ރUC97""""""3A"""rR(r:RLkjYDDDDDNvm4^sv>9xKE\-Q,"""'"""""rA=R_ gI{|&Ƌ9M""""'v^DDDDDDDDDDNrp>ed'c0EwԯY :\9o쉈E; [XS0vk֘ǴEDDD? GbzlZ}ZO>`lW}ky5=yu=OB^]K㈜=s}sfjݲzB3o XȏS<ȁC թ+T5q!1oaIC ԩgN% ;Ϳ'"r־ IxiV/v/g===3_O?ylcmp1n/`,@`v Y $v^u׌sCDޛuU.u=*eXN<')&`-lc"dY$I$I81 cO%7[*^q&6ĊwH@쿕/4}{ow[&w)w>zG6%O$ j.>XԮ]uF̾oqM{σ~E\%"_N$I$I8jDsKo_FOO\2 ?yo1./SwsMwÇD\㟾2^|vO~V. & ¡%I$I$} X5,~Շu\/e[<>_W/ ']ns}; Oŏ{i8Wq?Ͼ ϡKjq %I$I$}/h&^o@ڷ_E{UgC;pի^µgUO|K7s79p7TztzOpk/E]|3߀A:P'] I$i#[e.|40Rh=Z;t׭U7Zr=VPXyeF/mtp^3MCSt(o ?=YN m3;3+;PL `(}<8ӽ .6d3wNaᓝX'}Mrer.gs83u^vr k"ۘڶ3$G㱇m}&ݟC!c$@eTUE]פڮfu]S$IҚIV2J:..kJ*.U Uyb!dY]H2"KiMeeԁIX7~,'u:$wJTr~5A զﲂ,iKVGu]SS; ֖mYCUIu{)Vx:-I)cQb" ׁhjNĢOQ#z9f~.;(?^[8|d~Чu66vY4nĖMÇ9zhٔvMvyN%@^ӽV$IZUT?tĻ+$oS4;<`k^}WAVd>tݳm}nw;Kei?C!DmN$NUcb[ae8nm9@`bhmDB[ދʊvrH9Y״gĄN+:Tw&H?/Ys~_+w}*g/DabOD ooyOѩ)o 'h=<$IҺW\<}I \a7,)M>y6O>X)NdErr[yA>ږ) K7HFȢne˳60$cgde,?Iy'-,,͚cW!8 uh B Td7Iq 6?0[f¹)4oeG{#wE,i56Ґ!C#슑P4uRj-hCU<~}=J#g)!e9)/v7f4m/&XI9+8z﹗QmKbt:\<;\ ד Мh㟽?1;DZG}/_|/^ʵ; bd`=Y)d,#o1`s=tO&c=O<NK$Ik*& bE,:f9 FBЕL ˘Pl?!ԝ ) ynA>(%ݬy/V4!(Gx;2wd~d6$,!#)˨;=Ӈػ?ÐDgCeYrAzB9ԝДy^U%8Δ*함*uU裏=Л9D0G՛hs^{,'/IYlA6ϵs^p34iz!)@"DNޖ#sss޽Y2t쾄 v@5x]Kv솫8. NX1;@UC]3(>EG}:\jG{$ٳ=*kw`.p^ }gcǎŋ Y$IF]AKv[фuMXK@LMMqpUې=2B9nCt{[ae!)&];^r 3Y RszIBSE3bL= {7.M6vٳK/ڵÙ[!4epmHФyN;Ͽ~i\K_255XJv[)BJlݶ /싏mh|;6dG=mTEw//yoܰ3'kg"̳p(3F8Qslz26ldpvhΝ;ٹs'cq1sa֭'$I֏ؾ bۃ V,h!uᅰ[.X>Ysιbq gV d-w a˧ܘvn@|5Wtl۽m\ I%7@HmLZ{9=zlmT^M[B nh!KLm9.9rG5diaDY4#T$<_'?}3w:tr("@`0n,3qvq9[ؖcG?;`[B-8r`<n޳v={c$ZqI$Iư`0oNHPfЄU{n#@9ԎZa0e#?@Uq\U*>/+spfVht#K`ulUӾn,zk .!xKx?>ncv>'^"eD91Ao`b]vN}/N@j0Ma<3u\r$ _`,Ƹ@c$@ Ԑa#c*0I>rnfϻ+mfi\O1o9/.PlyEg? nzyT=(??-nϿ]4N><'yt$IKoC6|B o6`lETyeMyz#*1e נCh{.y36z~˹hoaYVlXF+oQIn~gy~{NS}$f#:loit:EI8_¥\ύ$ȇkSo]KBv[|S~|}x՛ x/mo>ȧ?M~2^rV|O_H>y.fU]Pt8YgA%ItJI2gN#7ZMqJKA[n Wa5>gk+)C{- ?Zi=\0+ynNi&~ o<\||/?~;>s&08̣} y9=vSx(?}Vÿe7;~3j/&N+%I$I$I:K=.b~wgsֹ/󵹚Ŗ媷o~[y#)aʟ|| qGR.Gw\y(%ItY`^z4:jXҩyh͙}~xI$d,I$ EB7x\3m/jh{S1I$i s$I$$I:58K$I$IY$I$I4Β$I$I0p$I$I$$I$I$i, %I$I$Ica,I$I$I gI$I$IX8K$I$IY$I$I4Β$I$I0p$I$I$$I$I$i, %I$I$Ica,I$I$I gI$I$IX:)Eb@2,# _L_DJe2<'g!I$I$I (@XWTu$%H!#r򐑟0)NTH" r@yI$I$I8')BtNo4YH$)ENLTCI`OgI$I$IcLI2BIuI9(8w(:`9@*b0cӷyy d~͒$I$Iy=HB Cwq?G?>{ǣ<|,ROapuMoz1/ܝJwЧ?|4 UBe/xۍ* +N0|$I$I1p^b 2:pv{qQ˙֐o*n9x׏\ ȋ,ѿO<l:gq& Yc]؀y)-6p$I$I0p^ki@ʺD nu~?.}ӯ΃!2'K{9*bg kh(W]@Pt %I$I$K%_(u7/i?'v(ks/}|kW笜uUŠ|WrH8K$I$IlZ]15o qX͑".~;xϾ9H%\{ J#;rG癙a+?pم %FC$I:BZa4dIz*p^cY ly[yӿy^v5SB 6&R9| `@YB*&sz@kRUb$ dyN$I;*iS`C*_a0R?FK y_++D"UyGÇcm[s brٜ L'?y%uIyBX|lN$IZ+~ӓ6Z/ lx`;jf1XZ밒Uu{M:ևVѼ|Dg9j% ;5 P YiPP _u{gx[9pd@sp' nd vh9c$@e O NeK&ζ$I JdYb!k ˗ np7˗mUsB־y)Omne#uU-}]aYo2syӖnJybqy! Km[Oqzےe|a{cXlN4m1!4â.@x2f"ybw};W~&<K۾/f Lf9eDۯ\Oݜ9Y2x6OG IDATev3/MSAZ: gffyүqiBuѣG)˒sssTUUUQœ^/Itz i5 iIn1j(樎07<0TM/U 40XզfafGԟ^SS2 HD:rz49=2MjÍpeM2OQ/Щ-i|%7mbT Ӥm0s b lK\3@7%q1hFav4 ōQ0?G Җ-3|{eE93C˧?9sKx2@a<''DQuBP:4/,9= Hq$IZ!P v}kO)@191yfv}<‘{!'@FzߞFBPWK1}qF/&Y`vv4E&vM0s0KMRnΎyY gX*㐃!u!S^;A~v<8$@hJ|JHo280M>? 1Ά C]'8+%7ulJmKHCYW<ЃփtXm9|M6-f)qyUF(rz$|¯WW_ψ@|գC7Dleӕ7rp V+ܺ- n|ۭ}:w̼|]bڳ-,Kbmi%INw)$FeE]ǓUYR%YY5瑰+4f hCT%w3ʊ+b !oWuVRJnfVCXGlzMR"W]j5!RPUuXn =t$RKˊkbj?AjƬ1UjX4,U]3(PeI-dUI,۷T)挠]iKHUUG3 ׃TCH >*o|/Qnx^6z),}',ogjv)ؑYct&hl#c}޽{aeeYrxb\py Z--I!@9KM=e" =pg+Es(zfi j[REa$IzjhSP,;pp^In|زyeq &'h O %n;7oಞXuҘa8aB@gri7޵6oXh` SՌ۸i)7ɦn{dͲ2[6&0c_D4geDSl[} Nf"Jb.mWy/w?kJ`M&ͷz}'>~>/x;?' (:ͯ}ܗqٔT`7pd UU1??x<[؋J$D`nʲ홶JȾeZXXZjaԖyvfw3#inӔuUAAʺBQe~xeZ^,eIqf7: ے,oivzJoS$ :l7=Ccݴ+mh=J%|b͢i~aYjP4e0Eќu37.f47״ٰS%u]Syy\KflxNj@y()'vPBFUtSЁ^7Ms'l2ȭ||.yŋxK63Y" B:yc=z@؞ eb<4?<}$d,It"16 jD7Ky4 ԒFydS3p2?Nм2ej44ERsqH9U}WL[ò^mK9m;<~k9˚פnŶx _Kmp;'O0VN}#eڻQYD XYt:87> ;{O/pG?c~M(Is.K_{fܴ^\w/rgO_27y[ŜЋͯsiO$p1q s=Ӈ(bqI$-4@\c-!˚dЎM'6~\>jٞ)8EF=ȳ5K!k5Ư<_qYu{5{1lڒݶq17",ߖfؖy7b[2f6Fڒ"I>o,$ri3p^3ͷCC3#+? =2_*?Z6:=(eW<Ϋq.h3WNn罋??e>/Gf)>Y'/x>/y37^sEgElF[ޛ_$IȾRb)x\me?=mdפ2-5YU0]k{XGoۗ.t)>JZ}ɕn Ùu) XZ8g~|JH S Հ0Kx lc}{G3Obj7Ͽ_|{6vA3V7W\$INK+4,IOy4Ao^@J33ɞV"".Źs'1do$I$I60YN3O33T$I$I{8.K%5Wc¶=P.@wV^;...{a;J$I4nFȊiCqg??u;_q,0Iy|bw]ȥ\+^{=/,Ο$b3gI18ry\zM|xj}KDK$IZN9#ȋW§wRq&n0YRZ`~]e"!dه?g!L}OMPqJkPd€< zr3W\u%מgDFTcp]S)Gg(ѹuEK YNK$I$icT-TuBÉ!1^|1Pk^Ym̀~7Ώpն7'ٽuee)eIH5RJͰ!,k^{ U"@3B:S; H,o!cׄvOZD5N,ojRl\n_< u,7λYnbY Ppvn};^aOLv)$R]R;&So+lYHĺ#y< ?pJ(>y7O̗ル/TZ!+nNrr7ng.nTLgI$I$mDð6 :&p<(Uf\ғǘ M]^sؾܴ`B;3LvLtB;rDEYf D7/H GCȻM"ulg!/(BN|e XH2x瑋zf@"K5u!%RUR֑68;Y`d,UݖaF;t:<4!zdىGx `b;~>zOw*kNNћ -{g7 a{"!CN֟~Sft:.5:w>G{7qM܎*yZq:g_I9a0*vm?YƓWf3σ=̏6ą.f,=._o?e^ʐgi`EP 5-?{{̩S8vygG_w+owϟx*ȦYYq<.;s3 :Q^O6X ϽM_fMG~kXų}_p A'h@ ~xOieEF SPq& WÕYzh)+&ffILiJ)4hti@?\HÛo`s~^*Ji qZ~ ֬yiYl! wS<|u+/oY6fC/UFs/p]gqf2 ȳ7 [:8)>C/}G|d@iSGt3k<l2mpt @@x}75@Sv O#v[_ ?̕q&0wL|$#s(~w.Zp6C6)>\(%}-ai@vicNZpr+8U&p8p8cq6LMY46ef_>{4aGƃ&݋Nᬋ>Wk5Ys7~(v4}VL f?_nZǛ .hgAc-'g?G_o~( Uhg֒i͋wK4B垯sw7׿g-~?YI-x#߼v~ڵ?vX 3gʔ_PxAޚ3͗ Jf-==wkO菟츥?[~6dK IDAT書,\eB!h.=f *2c Z_;XNV^a=np̜3*ӽͷ}nx[/\o\y"+73s<hXPGDҩ+{gE 1h!݄^f:>bĊ8O@/s$bB& OI:A)dM p8p8CcF~0#@c6[4R$/g,fe;I,`Ӽ+[lǒVφΏ]Χ*O/bN}sUZ'=W,Ƞ^\HVfǎ9S.S~ϟZ..8G~!gt `S/:˟%7zިϲGl.K9pefr\YEUp/qj2sVs8p:KxC;x#%hjDSFb @)c^iDZX,fEC\{xՍy#/gZ+nz}wMpkחᰨ@Knf- ~{l0XU 3!j(S2sR>zL{PZ#<Ϟ{>6SF9><Q IoB%2"Vr#+gB`@*$"衷j"A\"YQ|p8p8q4:2#zQNCBYԄi<j5O;"(GUD.?æ1=MWt' :RgppHrDiJHisX,JO[f1{> lgNv.y]^W vy>M)@gC|n<&2P1# ~3`k(edN\Oa}c=g4h;^ة$J&~x^!MFarYps&:F+( ~zCp;\tU !mlgp8p8p|@jDG hh1͡E%I<J\@H Gn;姏+[z=R  QpfR8HA,M"]N1Bg@6 ɠ&#ĠY$1(/ EN*vLL@&B QR1&%1:C.mFO&IH5{ z]n'3tcPJ4wxtu b C\Gari zڏM!j2mJ+gk7KfLoh=g6x"k叾nzgL#u/^^]e~.yR&T߸5?߾%Q2]y;\{|Mp8p8p8#b`PkJE$$N V$I0YT@cpo}[|Ù{teDUĺ[[[#2xR!T0h'H)`|IB]mU]Ȁ' r2C I$@h$PgQhE$A0@E]ћ5JU0M rTDIB{P", 3jTJb_A9ٚN#\DTF?`y5F 3D!v{.# ;{""@Q`cOW@d'sT>c+,νj_E|"ig?ow]vJŠdp8ޝ4@|3p8ʻiCiTבG>4 @)X%gnᡛnOu|Gi>s\'S6qf__7@.Y6rfFH{ +'gYXhH(cFS"(-q"PXtB*$VC)5= F=$)JX2FL|р@&C.+actwC@pn@G0ՄjDA(_E=?}Wa-d21B=(0Aemz^s[_\{r6<@1 :W<3ݫ='ǔh7~7<^¼_+d:4meYg{n֜q'urOE$ظ*pFC:^n-p8ph ц$15F[M^m."^SB+:gWu^t ~b'Sz"cKt;=/hqV\&-#m|m/7`ͅ'esxxɜpd}ێHSp8DGH1٘Es8FDqy ө@3~!G͋u"1rFOJG>SUS IlF13>~4H`#Hu=eXGkO=lv=ѧsLa7 FO30q{ezLZ Ph+6c]5.ގ*Aml؋t1:w}Zhjŵ#iFَa#jlA@S#qi@,ضR_C qp<a4i57~Fn5!uO^|,VD>OA1˹:UQ)E(2Y;NHl($^gSY_¼|]G57YBuQ5(0pcNBmzٿ:p8 %D% I1nMbD†5qua=PRڞԩ M:"B1@ N W_ڵT? XAyxqssfwܩ@4|4LcTAܿ77nr]9xoAT޵]6E6Q:z;yc1Ⱦfd8 2vV,\MHo|x0怛=a1EGJV>L' +!"~N<:8FsXcz;`alb\}*rdW?{32)\{]c_GkmnP xY2rN֐io~RzLlexysL7#2 ShД'ڹLb| 2H)L_ǎ<r5,YbJ}u#7>Se/6އd -gyM@5h a Z3 4$,+=C8fs+p0Βmi)5ԝ[D)&~!J؃'{"Bؕ7 R{p8IZW  w2@QBԺE=FH@TOy uvsTF>Xļ־6sKR!S;ցVrZju jC烄=XZ=Id=ےq*bѿu˧wdސNobZ98.m -UBX{k.>e6oAjx#~BY>o@%ɰ g3XfJ12ӡ!2NieCb4;& v{ΖۛŒN`Ց{XsC _͝ƪ2uombcXtT7NO-\̃pR6W1$X{j1GΝ 0{.tSEzؽs;SJF!!.ѿs;ۇY#¡z[f(NU tݳ5PpwPNlx%zvkX[I{ߵ-%ҥn 3Wp'r«ŷCEGsMo11,/IfmeGOe; *BlhjL5I˔.f{d f!@H[ab(`vɏ/e,XF U h\.޶*mQ~lVJ|~y/p8,bp6,?2^K, $`"LFFkX;xn|MYLDO]%/ɌfhcGT_M}aWBG1Wq6$$,AɯPmLQ( IUM,T)Tଡ׶-7ijJS2>|檣\=Y,1TJPrdl D`*RW%L3$LZ",DqdfH*a.TZZ-& ˔R%; Ie 1q}#rDTƋjVJ2Pې@ a)U E" s v?W7gɷ̥0,:|览~J}CQoxx`o T:ݿ߽ynyf3pI v%[\06i4xYDBSS@ V4_:HWAcϋـSKLK')[y_k?Ks/s'h%57QA$u<* jav60Z+qqcVqyp8{62de mQ(BҐ@`HvX$&D&"J%+~`ܩ0JPǺ?^1(JvcA9!!6lK&(QQgt:Bx;IB\Iou ҡHH"{ȾzP2%ۺ 9e-֣dT :&vQD\*cJvۆuv0%RA.(PaȉcYԺY qJVWNN†|xao0;THQ =gkK%P>P@KFS* cr]ږh rL㮻5^ )M̜4CcZP\x.aQ9:|,d͇yuVAX{ڎb<ך,zU^:DɟBqY(O\wݟxuL]#-3벴 /aѲ, E.v;r/+9.fdW0?gU_TZihkՕ\gX8L-Td ӯ嚡^~4޾8j1K/2SGrǵԒr:/WrɜEf()Mg5qr'  E| '3$NX6!*(byyg6newa)sᔾ׸IP/3PW(6~Ro!_aڧxyA[PJ$xHa #!`2-4ǧ2D[K}{!]oHxDyG ro_\U(0ZUJjhcZl۶$IPJՅ暀\\.V(8+:i>v:O2 Id0 #DTPgbv)1^0yRAWVI1&@HI! !Iޱd`jtB! "0Y]h)N:8#?U(؁!%&HT3B ^ZK @1maR! l$drM DVKIBoIL + c[cf.>G :Ci`("mkƎ:# 2s'!-Q" i]\m,$i_Pտ YFgQ$ZO'MG1Dz-A\a`nR`@=2>|ߧZR.W .OpQ}%`An(+ )?B#+8IZۘ1vmE>\0#1aFYYrN|c[VE1Ca*8 𴟇CZ[bj" Vڒu AE3{7A_"Ae%0"8Wb0%51cv'as* 2k@M\m c$SC 5m/8`5RL_?̡*àOD"~8+m)LcUT[v 6  ѳ{7@/Z"Ʉ`]V0#4>MDcXSjO . C({1&.j[FX+{GTս1v-1PG]~bm1C=;L}КDMP OFge`F왞w{s- 1dHo]üuǟ 1MhD:M-$4 sLŢEfb\D4غ0 d;(,:cyvrQLkL:#ohfhkIWL&Vj(q#}A?o}x/MK~:%|` C"Ez[r~ X#IW 5$  10(VAjucDWWZz8k)#P(ںp8;0} f IDAT6Bc} jvBL&CkK Q{Rp<"-$VL&O>0D6vi@HA>Ǵ`,<9gd+}rtTcQlY -8+ϐdl#s_+>EvCB(&>*Tzk $2xG jH ئ@ &&Fĉ@|_Z3S*Q,6P Wl-[=GgN&"♷0 䲣X1xq'W̞=cl( 'NvChXz)tRڧS9m$Dy fewhaw6->qݙ],%@S&ao AfZ /oFp̙1OAS#m *9s`Ӗ$IRGT#B9`Dԭ/ϑs&-lQW-=}azg !l+!MڗsU?nZϞ;R$6r+Yr\lu+ HR1Z}a)q2W H|xe^{EފOᰮL*@7KL2iߞgJ[; 0f6XC>hM*O m:/l{|Gon_sX'ra(#c\1;շֳy8Je8moe,9!v{#gFQ:2 RJm%>;Ci ʎ`".R?dBBm1߳rٸF` \H S@zk2A9ҖxH̿Vke(/m\sSw!4͊k'[<x_DN'L&mB;6~ڒv>;(EM@_qk~6}Y`ϣBN{ʸ,04Ca+.23ͪonAd(v-fl:]i"I .G}O! GQUtRl.мi [`7f׾4os4g|;u'&mJ߶ p_)~4qkNrvUV hZu:nY}yShoZC T/|ݣq;R(5(qP1"JE޶bl7 N0*<ڐk&,V",`S !zռš' 0$!"D& Sg6}Vg^~Uʢ֔mc҈ahcH"L"Z‘}_'.j6۔C)!dTn1B7mYkwɆL{%QsЛn Gd@Jۖ(Ia4kl6 !&7޽-Zya$6DqP† :h)^B#tR f *Z 6PF dڧ2yέG]gOcb(cʛK9eV| c 4g/#<|}<183E!l1@Lgɒi7\q=)~t=D8nFDӷ73N\IϷ]aBؙ;}JnKD?DzNS$}] 65sAs:Ј:yIFƤK2Ql.DJIM\n Q˷84 A8+O2=F~OF|Vu e 4i"Q6Nt~bm'ODm,c!gp38Ma75bak}l<8*R4}|mKL1`$m_7Һ'tLT81$_Pf3+( 0˹3[1Go5!7Ar),K\~ 9 6# 'FX^iYfnc<)B-F'l2N4MӈY}4@Ƨ 9q-gy> rWpg/S, kP`ޘUn/p8yz3N}ͨÎ9 ,`Cq2au`ݸ6MUʌkYzLf0y20|il{kOeL lc,30.!=~ySiGVWxWKU2&6;.:-t104D)\33oJ-]ʅm)hlyO0ZSHa$1&ugfhH\&gpƯeWiB5M}|̟άbi!b_8p8p8c YZAMY̼3>*s* vNkg3 CĨ7& R1cZhB#.$hݏNHL|RZ{fŠ<8p8p8xL|5'#}ox'yvp fe\Vu&mo= B $acAO00oszw|CC Rvp8p8pJ:og;fBrU;qĻ|+\v;\sr0^2DUX5Iu1d ud֬ Ђ_, 8 P=TidblҔ)ׄ3i ݃!Ggs8p8p8>IJ3(lL./؇ƕ:LixrDT{ftJ)>SVp1m5( BAW\f0a(DH4_i ́p8p88c>x,1 M3q m`Mŷyuޗϟ… ia ēK'$A{$A)5j(a.~T:<4vsYq|L{o: a'ͼ=3üYyÇ8p8p8ID-c8&N4q#R"B)%AI<ǮWd ,V Lc"J (?󤍔7I4IB ={Q5p kxш/Z< CX.#P 8$Cz(O+0:!bƊ}~!d6WuLt,[΢;]ߎ.}|?cn~\ GBkt8p8p8Ɩ}( PT+/t ZG!/\/=N @䑾,*1h |$BF o<4}0ʯK4bΗh.1g2JI OG5r~T< &gsilg8p%~#?!o;ȯɛTyz[' sN6h4HF)zeO=ic {muxop4}6f' \ȬE%+TQ}KK-+97~.:U! C,eDDDDDDDDD6 w|@!f,L>7pY{'Znؿ*5DDv{{kDppՇ;yl(w3O0dJ{x%e>eho=˗B0>8ÌLT&mHP젣%KZiwb@Z|`#x KzZ*Y] Ut;8@% (CO_7}-ع}e}DPhv:cp;'}bk ckLk-$xf;/##x ȷgϵʭO1QZV]]]< sAItկr͵WS5oV8g8J@x֝y<j#טpEJ-1!݁kiŢZ۳,\68z{JӀKPc[>~uٳE\u3O|m+<~|>aȎQ&>w<˖Éi-{w#خ')mcb G~>dzRѬ_:ןlk䷯^ō`[ﶄ'Ƕk' f֧xJ3+khE=/cs'~s`U.5%ԁm5M,KIBޔZ)ZR0/6dVP;yc>tfG,>gQ1^[_s6ٹ{ϗWB7z" U.v3| nv;._"xb X}cv'{'sWs;5%{OSRw>I1A c o'xgƺ`ٜq1lM`xa[N u` ޘ{EDDDDDDDD`uI,}{JVl:(e]TnZb0qќ_-zʹg{yx{R]^~=aѴ>fKl6QL$DŚzP ҨāSygs9 Heqη;gW癬>,lh98>۶ Xo5( ^[OS,lII mvv:l'%%EkqJQ6Wc|DjXP^w>ǟS e0ŖZX™cY 9ʭDYFϖ1*C5F&"{Zs<6 pcO x7ھAvN~ڶ񃿿mn }JFrUY:Vnٴm?])PNоRS(>fp&%ånڽ?Mf,,yFt3c;-EZZJ]cd`O=QXN@6SDDDDDDDDﲋ_}gisfC?ƛ'䓍@;t3OfC0:T ,lXLdAσpx}z/>9XPDM~<$fx4L6٘сv@AHCĊk( [M60ƦHs: 0֭︣|67V]%z{i[jɢ۹[_ߝ`7+ٴ:Ze_,;m2lvd9C `?Ƌ?$Ο||Q-P<_-e*(@`q*CSf<g#BR@1y0\m{ܸe C(ΧxxroHҽս(h)%ZJh2W?JJ%Q@T[#35G}&0&щtnz+WoGGy, ?u[~|Wx2~\0I_LKBZ ]Ae8Mc T+sBv{c1ltd~QϸgyxMK *oˎ5y~-X666~+.< 8fWٶ}~/d]k;е'xsȱ=tSa;x= s3GtO8)t1\U&foj~d w{heF Wj{)~Gx7O-,u̢pYǝ VHj1s3dA?6 m]bũX{VvwoOZjD{JV~5W\s=vf+zl ) \ ۷~o4zIbyDZ%&ǔ !.L ߸[nzOSB;Ŷ=jy梍lj8[)B0ZZh)4p,0.Q" =MDŽDJvf&Ls pc ~wqeO1+ T(<A/]sigrʙrFCi*׀G2O@,cXZ;uXJGǛE 'wr! ZhYŪOe)'qb^=o/=vլ=h.@2'Uy( Kww3ylgQ+a~ʶc- >vzgqq|VG4į>kL~El9+<4@:.KvjN!6$dQY7>h?5q${Q?a=kZOv.%hWPDD_av,;"""""rěM,zNKNK&&[d ^~,})淟f7s /0"??}iq}cw=޼ӎ Kq;Mϐ}M_U kxa:0yO_Cϫ9!3bk^X׆uiwJV"~9,;Bm;;o{vuCs`đEן︞,.>DHO0uH7㝉,e'ERdWMdmLWVQ.?Qc(&#bkXceϫ .P,FRLTe#LW\Zb0&.D5iuj-P [R&IVRK &.vqo">!}|[xyF:8(Z\Z6_'w4 a1wlyLcB;kgD"""""GؘՇDXlT)|DDg" k,AA ƒ -W_&vXH\Ipq7XA\…cF˔ I2]<;_r>7B_!fɾy\{a30>&1jgJ-8 ѐ-p4C"n᝜~_ i9}ns8kG稘NO-$ɾ"""sS`?<|;3 X&Ly68a2t™ò5Swho!0*URص,9*$pQ#")dCfK8nj?_d_s1bQf gp)*P,Θzxaϕ2,xv/xDDDDDDD)tбkD{ WVe|6o)`Ck " zVDy-""F4| c gy?smr4|, ?p¬SX\>gMl\J: Lvrt|6Co Y<#UCg^ii-Ϣ}>,~x۹l9I]o\ygaD'˅{73Ft$Γmeɽ;ֹ [9mdSj/ekdYDD䈓ll~6co;y~R6y//~v}-V8cp{zyTzO}'aP>m_N׼:38R`@Jg=g^^ҼEDDDDDDf"Q6 >{? J*]>?`˶SjL-X!jmK)uAs\,7 i<ḱlLo<b6:^qǽ[)$XPI=qQ< !t,;GGP""""""""""o"Lgʝk=u-:s/@ig`s@aX#5<6qԊ%6&<;Ke&VI^e.cCG$1SC DQDj( ٲ(g=yHvWrYߊ;yয/͖ Uy`WD*֞v̙E8'8o3'|ul[ x|x\tMKw=ʽ? ]ƒͿڡM-ňXp0+Z{W۟<αo?\[OpLM_q ?pN|Ew$'_kw/oϋܳuk6,ey/?0>=x""""""""""n>;R.'uѵ x)iNYh$ Q TDDDDDDDDDDfM{b@!tHA?,;WcWaP\Qŕk.K?""""""""""2~l Hz{^CuNj{Q^|CmTY?^yr-dɲ"@=YDDDDDDDDDdօ3XpX,9/}~I<ɶ=6r}@v}#孛$`C~.""""""""",5zO=p4m'_uWȅͷs}ىHʌ=^zn'[Wc8KW@'jYDDDDDDDDDd-΀cqG@q*a9e3ܽO,<iי7P컚7$O1!"""""""""2E#CX$ȆK7H93K̜ZDDDDDDDDDDfs6̂g\g`z.Kd1Ϧ6(YUq4y9lb* EDDDDDDDDDd,D11Nw.#իYDDDDDDDDD0YfgFɬ """"""""""2+8Ȭh1jTp6$"̜ lZs?s{06$*DQ0uEYy!y`l#BDX9LLHDDDDDDDDDD `${pjCvS7,vw<|q M vԳ򗿼RPP0cG}?ϗk"jUGRDEX%r_} l"""""""""F(p^|6  }n&nOxZvgg)8 B^yE+q[[Kˆ/vu8{ 2QDɢfTijB;ēqL>\^9K]uؾ{[7c>6YwCgk?G󰝓m(oc~O^=>>zZz.:^o?-V籼ےiJٖ66.{>c.yrϛWlGff%"N|wr @؊h{J&a?aF)WjD4f%`-Z#dsYm\=p4M'?V_aQo =hMJEHSOJ<o,[ϼ:{0~Cc;O;|mBEʘ\vvxwk^/+vSm,X;O]?MԖC cBn0YMߖ@ls1C{g|Vy}%)4gggݓ^2oAujYےtF[?x9 ^WF)p^H xW:4&@T,,LkRv*JKxw2+c{zi^ʵ9je; <5jk- j8k-98֯4Bazg; &+j=z B@>ͤ~QvPuaKola\7&k1Q<>J}gnےi|V(0_f+bqzOK#Yy7[6j<*zx7J=d & >+Ðءʿ- Cmϔ׾SGw8 l39IP4;  qd¿Z3$::F͏Qxg~Ys<^FQ9_~;B6YعnS$"M9Ncɫ5سi2fnjYyy˨w@Ҝ]m Y/e4ͦ=\ޞLˮO==jBmt =mK!h¶$M懜1Us݌%ԾVYq ׭L%Tuu;m6rZ[rMw⟑,G Y2i~>Oe ?s:IkԆwx ~•´a4tMj刺=փdc 9FGG)cسgJZ6m^""M% %|QܹZC֢{(#wSb*Y,?l;&I8%KVnnV}>ca֭$}vG1YKbS#Jtg=2'bx1 MRclV|\:o&@R DvmIޖ2SMɮ'&y_z _jÔDz邠yڒoࣘ`d?CCt-&)_-b,2/LpL %L=[[pMoFdMCIzS|ez'oM|>kK0QvFqhKsDQDZedd0 )O Cg00YO蠄t*.<.ݼU y||az8HI0}uVsaHOHzI0 RAӉ,z@.">i?pR,k`T޻Vxkωd3LӲ?J`tjl@\f߾}T>0jDB##MsQfXBRGؿo.*t ǫ-*`@q`36F1I 2j!#-T&6K\3\ ak-i` jFŤ i|sP -b:- IDATHk 3MLZYy74%Yg`` 嬱7W( 32B1I$ c1w b^13k򶤡6IFFLsU?Lfҿg~iqyK>j8W60@{Jqsc(9?QG ?-!IP.ioo(/fy1SR3v xG6~+j%^z,X,e]vvżkyqfO&΍ ^KK }}}=atc콧R022H4M `y""^KF:)؆wnveھu^\[!$c0I q@Tʊڻ9nKxOEtwwSZ0L^qc11|֎άnYSarYR.^O|9[ZBO[[a8u?0 !-j}؉"9|MajlKsJKk[V *6iKGG'f`E\5knS $^Bq(矿S(% {8}+NY4+ |>ڵGv[Ovaؘg +z`Ԝ 1>RFæ79]WM C|4===gsQ֒$ Z⽧UVQ.'{=RiV[ }Rs; khcmvVv ]Q ,e;s3djV,_d"B6fb30w+{-}SBp؀.ڗ/J_?k0&kK 'ho# |p귟jr,b\c4A|!Q8֘ z.p_oK( ,]YpUl4&R+1( v{r¹(1fumkkt)~ʆ4Y-%$" ; 0 here0ގqi|9;ٖL}aHBё׹yCVgd9CgW+%ƌ[ڲv{N_(Z[K cl3ZJ%%Kp+g>;9( LLLLMDh'gܘ  >%Hې(  "kyxb fFNkZbH҇ZNg-=EDNg$';#xP܁4%(')fT9/:a,oAJR);hNAG]sBDT*A=pχ0C"DYs&%^7d& 2/=k-B!Q*AZkvcBLbNx- $,4up곱Xꓝ= )(",ǐ~3~VyZRB6tJ/M皉)2y2Bޖ6f؃ $(<'_E0R̜D)5a4!IqV#%$&!IjԨcV a Kt珸".pLgKC!&&ػ.:)yCZ3{̼-"ReM۴yŚw4Mn6S˟՘s 8/9 fnK|nﭙhl7ܛVqqчrtf#E~q -ohmkVCk寞P{&d$~m .?\'i ZC6yVPc6C-1k-i✣>ѡ#OFDivx~?uֳhl4`P L!<:<=>:C3WkKku۹ז#`5̨;y̼lZz;?k8&kKc ~2&G&%iй\uzy|\6kpjP0n;}&~a.lT~Ic&\D$ w *ye;1ںcJ5Ξ~Cuž"}koiR7ꤷr3/|2cL^X3> |t\4KEC晽mOXMz ?qEg4kfFj;c`fy2x3gi5nOCv&+>d7)qVn#z|칏M ㎿3~e˹o :W.0,}|J2:PwrWmR Q!3C䙷_>氀۷fk{2 @,Um afCi58m.sir66q[2 sm{asL&L5vS>"G IR6~Aw-G;'HFIGӲb%%軔޳+װ;Cxh!\Qy︖+z&g-5 ć:3]X~^z6 ڙ Q rj=h"^&.\(/UivM\'ɯϫ#Nކz!?gq!GE [O󬿘>OpcBԒ&ZX ٩ġػc>x㕄)uCWl}Ƽ""""""""""3)poICUjD$U0^Jt9].bKd']jگEDDDDDDDD0R| N Yi0Or{0c5XD180=XAZlx6P༐xOjRO(x٘?cClh M6F(ޥ$iJziasHZ !"""""""""sBBbClRy`(f>$"GoL8rBDDDDDDHYD5sEDDDDDDdS,"Ҭ+ 76/"""""""G""X4j> ED{X~R=6WC8{QZ h"""""""G""{HkGnb Ԫ:ԅϖ'`pհ|T=JH3I.Od;d8@0ƿ$_EDDDDDDDDD2J88!PCawpkذ`---ܭ """""""""FhJ .Ǯ%3EDDDDDDDDD(p>HBg<O\;U|={Z;(JH<8b'U.|ӟɗsm';|z#S ?SoGgHaa:hhXK\+}ϼz֡#&}W±$D(|>Mv>/_M~> BVl>Ÿ"$? xx3_$O~7ퟺ:?n>pObht:,"""""""""os( I6>!~S~|qy{VxE>(8CK0kK_#|׏Cӿ͟S~x잇F""""""""""_>ͦ0w w_t2&.%CYB('?'>Yf0[Uv؏z...+) ûx@%ЏC゚Ǐ{2+@QCX8D}?qX2|}|;͛}` Nw!ޱrO=ş? $ euùxhyq\Df$|>7۽Nm_g<}o+ٞs*c~[Yו[bɜʹ[iOUNǭ=u:P}=fX2'{76ei,oAهܮk{70Nwp/QʏQ)5.Sez%p_F?Ҕ,x=a[ę#6!A;T]~׮S,nI5 ۓvB9,czo,RAUd9\ 3gBc !_mQ* {fPh&(KU]Xy v뻌+|kK]jp=CU, ~fvݒ9 %sU, 3M.c%i{wvB%Io sx+ݚje3x1fH .?K0>Ͷ;R]߱}Җm1%(cws?ke, %%>ƒXʽo.O,K~39*p S2% ~p6)NsesQ\ :@ێu/\ff8nyO"2aW̪~l;cFSyqYI.D#P?%? X9fj}>kQngWm}7_6RfooF{ov68% ߬VmF֚Xvbsx`,Na}vܨOs8VcIݾѾG$3QSn ֱU>mҒ$`IJy74w.>UEhQ1ٹINBFe$ٮ9[7ٸ3,,,/_]oYZ,>#^L6NC]zxt:{-"S.w:ծm㓫:M盁Kb|=˪Pwaxq:<2 pf^Uq[-.BMܸgb-4=i(F,YsU}Oy_XeFnYךR3`Rvzd>\.tq f<3\,5m-~/ύ\'#Y\}jƒ0vňxUW޶]y.P+gctο;Jϵi2RCW]זT~aa,{!N->R.VîmULsENp R_kp6I ʏȑS;\*9$K,&$ Q,?)7t"*]]yٳܒ8;/{ʲ+wgϞeggGSj̊Ppΐ'NW|_Vy[|Z;FG%tZsYOeTs gumR>xv5;ʞ3_,J;0=Uq|}G%wtnF8a$tR:SxWtɨQ@euݜ~jJvy()5=d>KMN;W{ױIیs)5܍+td,_YXR猦Pq[:%y7wLR؞Xn[D . T5>:}$k㬟걔mҕ+ܸ t+\-Uɛ5bt3`/--T6.\,KVVVt:a<ؿ]@oɲ @,7i5*8ƛ$dsb"*tȎߜ׸a[V'0nSܜfd.mƹ{aܶi۷ Y%zǏy57h4$YqJ; W{qI S'iZ|V7j^g;/ֱdKGУGTqnU|j>I..]_:_7s.MY; wc-,/dia#f j bYC k{%z=n='r@(|XQ=6aWTdzw{=ɩ"\ MkX7 [W/O;t=@^/:u.^M ajȌT#bLM`ܩv@0,KE_k.Yj4,ȇa5¹=NCPm$`ZlO %6B/7=Q}iK<3dE1Or"U}@`8ĕu}O;VX>mS"XMfZ kG]CMӋ/X22GD5G%*Ivv1},p=b#ɫ؍8wC<~dl6v=DzB5MtMU;NJupNt4Qcf 8,KJ$`8r`ai{] <)>wrepY~~Xcy$sH8W߬N4qm{oYg(Vw +Dͥv%%#_:~ޛ'9*p>`|⻽Y VY͖Y^F[$:k?<į8ybӧ~ϭ޻!zn _`/(fWzUѢn3 zpbαk6[glu:MܮQ=7Npʴ9]̜kbs.׮YU<}7Ws[r>~k2ͱݞWmk{u})t9u 6o8@%m֫Q^D%- ppqsYy5? ~eaUs%oy'_̱%87oSOow{SΥO: w.o_?Va|||#~|#?"o{9$igNAG:wRy\L c3҅ta{^KXYRZBv]:{ߊQx|f""""""""""A Őaa ; F8$i,MFb$!Ű p㓌,KH2,"""""""""ӡAİ3jz"7n|WS ;Py|)9pfP qx74'y[͉!J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8D(,""""""""""L""""""""""2J8\DDDDDDDdҽ/d30vJ/?L""S杛nθ'EDDDDDDD4H[8Σ""""""""""Sde343CY:1ל\%ED&,\L/o r~7wf 9By %~8`g\L F=T) VR9ü$ct8u;dYO"2qe09.\~/8H= $!:!?E>A^%eEDDDDDDdpn.%Y T.{? a;@Z .xGi232@QBQRB|lk28 \7Z;̒·VLH\9ǹ_ \րz]f !F/L.)4Tyf[V͂Bn$E<hje&ن5Zd# s*cOps[mKm{Ufb΅:k wTte*gy=z1En9yu\pvi)|Y5=s0 [bqc/ϼ|Ϝ {MwJ pK";F7ךCxrt8|Beg˭VB_;&6h?] }bac0.YlcY׳uho:rV5wjۄU;vs.ֵ\զ,̸UW kK;iG,m.b7aVwd7mBlfUFkxxձ\sU1s^ݻwamwu@1Fbng, dNm%!Ɠ:cr"![r'"m!m1?Ó3?~?ݧC ?ƙ.Q#}bP~+q+v͟"V=ץ.sસ0 ;b\s:Ǽts]v!gKmOZWlGmYq.h%?{ߢюFuǏypn4al;ugvWGvhCl۸xj`CJXٱ2:w4mkultTE76q2*ϨʟG/a\Gy|%ꪼ(K_e\?'wǃeN~x{'iCū0_`:$4MlUs}uŒ}`WO l8M}:k7@X޺40bz}Vk)scf*۴gWnI]7cT]3*A5R׵;dm7ߺX d={a>td|~ƒ4bn5ݰ{kK}C窎KYݶg\ƸߝTu%bsnIT#E ^zG8Xc …OYO2z~?x7t gdׯ_ڵkQR~s C._pHY$Ird$jK.Rݪ ,~˄8H yP->4Uu!aiFE鄀wꟋӿtܠ%Uª u,G3xoz̪-m6^}$W^籬 gSݾ[c'KׯԵoz(˒k*Y6*Y׎qK3#=w7(n p\#Ý^a+2n0یs"Dz.U66Ytw}}N؎;;<|nsvq-lazKX)r]4*F]alon?l\H16c.\@uzyNUO+)I}<@ޣs'/:هW7p(>3)e 68FW.\Ě,( /@sK;w%(αS$qas]#!K, zc,XSyz\B\~:teNȺ$euNepɆ^ \$>̤Mcv\x67Vu55.8O280 i6ЫogtsX z~)Ը2\zKO>Iuߧq9IJvY2g.]pH:5# 3Ɠ^՗_ⓔEa?M +.$}{^e={۳O?ÍaqeI'@<& å5N IGX]վ \5ʕ+ .߈oخ_#Itszt7p9duӉ2(N C.\bp:`gdռ-Qo!w^8RؾJRNo._xY:WIw^b$,IVpL lo-cTTډaUCv79;tזI:__|Gȋ]`\a5M}oeeg㧦iZ%΃ ;2eY"GwA^zlj. &5]wbg?^ne RVVIO1<*e"'tzXtcnwWUwD9.HNļ'i pKsNC3zu1'N ?q, XiItIv)V K˱nAxV 'N: q{) F& [,.cN&W',XYYN ,,w%I{bIvK; B|}{1#:_{txY J9&t)gUzDsԸj뱾~|x;1=#RͨU&_2$aiiǏ3<~dҬ=Ī9$)S KF!g*tզs*i}-$%_?y<ʎb]`t ;y|=f !eyy`Ж}A5(|% XIa>%K trbLxn#'K]1n ;3;svΝ;SO=EY<8qb[D"@ZFta΃LC{sI"j9,.- me|v$&-iG>au}Շu)na 1( -oLh~b'o:]lLws [w]DF;F9,˸7qCi%xS['Vcv&c.Cu,z%B2p | O͊a7.]PF|砌qӜz[]{"K_b|ݪuOgΞcұ=SBU.+OE7;U+XyCݧӐ@cf3FvsXY&NATMO1&@c}}G~,K`sssWYgij+l(7?0|=v{v7k)8S|#~]>,K)@O:=,ց0p4f B_KTWHg{''K4P+C\FI#@gX nIZѦXFb }4X0 \c-d0`KݻzߟcW-ʮϩW?V׵[Y/von[R9nLynhPggO9srͫ}->g}Yv,lGm[]לg]x[75\H)|XUr{yԙxCoIWMo:u @[׼R׼˪*R F>T{7|ZD#&=60ϚGŝSZa&{Y2WAkgͩxV-mM\ݾǶ+wo ط*Su@[bw w޵̪~wAUJ8v>6V}w J\@oyY[ůt,$A]ȡaWRN;ڝ{X)ēqk\8uWeMHmrX7@2J@Oe""""""J8svƴ5N '=b1gW)9[Мr+""""""sJ,\ʶ+ٜ^hDj&q*yKpg 3mtlgJ"""""r8(*ddIFW""2aʶyjh4eg;-nzs3>!x&zJIzmupI\[6H"""rLpABRx2O>ǟ<+YN^ĤUdEͅ5{>xR2UIp(,""5%߆yɕ>o39baqJHSYrszh3 F@Q>g֗Xu> evrb¹Pl QYDDZ#XiT墄$F]TI)/~_k[,.d$ޑ!;`~E.n۲(9pqRũ%I,13B5uƋn"ϝ\![oΝ:.g26xO( s՜-n"""""SYDDZ,&&a,.[Ͻp_xk//$~4$Fqz(w/_䉍>&q.dPx%'>f0>u'q%mADDDDDI g9;?c0~\LWsW7vXbn Hsf\ElW橚N9C@v$N16ۖ)hx=ᆈ),""w u 9Ą"'tzX|y uLwt-sNa!uHgxT]06H=K }kz_f!{(ʀf?a `% """""Ze0̌4eo|͟<ͅk[Xl8z WrLݽ 6g ioo|5ޓ$WڄAfU(eEDDDDD%EDjT gĿ/sZTb4L>Ljc=Cpqifg[`X2E EI^ఢp](e;-3c;P9\I/BDDDDDZM g9$s^kDŽ?IAp/oTs:Gz\:od7A;*I#P""""""rYP%4ù9N밴39Tp,%ƕa,"""""ocf<9ȔpyH<${!"üd?dk{Xje~԰^DDDd>&/~jf^cqUJ9$p-e<(e1}5YJIMqjLn_bwaB/"GL3697X%r4Xj>vL}4lY3+QRDD2% eL,'!L VOCo7?ǎ"QԹN޾%i2rX t0'+CLOl&覺y+/NBCxANת*oy}MCQWx3Tz3` >J( u$)Cwپ_;b,)W'o(J8bV%v|M:L(0x8lKyJ# Ӗd~I'S}1HO'op2|[2) vf:YB'Q]H67t6#9kIq,IA43ZA-F,=;'"2җ.w\jyVdҒ"%[eMlڰ`aɆ C ٦ ,4eڴ)Z4%j]^LjwܹOOtOwWwUeFs>?̨uwdvwTOUVVD's⋓"8/]+y~ugۻ䬁?Vp67\OViW+<I.j?c1`+/l _ 1%<+QUTB@&R4?!|O'H2h5!G@ tMQ\^ZYbkbnB;9?4<2iP? 5糙tcQVp6Ϸrg 0E{#pN {p oCcy}̭=bJ7}""1\A+^>_y+m٢5i#w,:J WZ]ow?pQ q GQFL7.1"Ÿ$ʘw`DN4tӋ> qNu6vw3!e꧄[ne{γot^rM%ngKq g>!$] _&;oW6%!*÷$2LH%^k+&\ZФĘ(^1YE^PFDJͻیJ:5o%wJ[p*>yqW;|))j{w ioOj}tr;&|oXg]uD>Xߡy!5rW/ᕋVryk\pz6fD8pn:/΀UůioQߟ|&ՐV+ pg<&?hBNMK( hM~ hPrr(pO~l\d`pM 48&WJ.15 c1(JJJL$"Ĥ SQoyIHNa+9.hW2Ծ|$~J8 Ck߉|!ߪڻy)^ * !]1 ּ(ɷHqNyF(]>}f5$eDR}cS Ƙ OP4f6&5d~<1ƘE))uԁTυzP7]Qu"0. mҳWG!Jf~uLsvQ=ݣ`gO@[ <6ElqOqBU-=Enrr(QSPA}ۗH!r Wf'h%\&BoLʴ!4o{B-Zbv)ycegcruomᬇ:LvsaxH"yE?e&c\pN@{E2<1h+(޴sĔh[j HDrnh|ä_˩Ջ ;sa^ݮNu z:!& NДz  8&{;cy ~XBYA1c Ƙ|+p3[0Z`qÝOvf^sn1ƘG1++yyz6<ق͑3+'m;l y3I+H 1 ƘI) T{y6IܱLci !]/-k]c19+8cV}c3>eVpêc1c1fgcy6#hseA4.]c1c1fc1c1cyYc1c1c l1c1c1fVp6c1c13+8c1c1c1c1c1 c1c1cagc1c1c11c1c1ƘAXc1c1c l1c1c1fVp6c1c13+8cO0c1c11c1c1 Ƙc1c1Y1SUteQU+9c1c1Ɯb6٘ٲ^1c1cy gcC"g/{l@W1c1cyY٘v\>%D\{ E(?nb UX+Ryv c1c1ƘS Ɯr+"hR޺'į| N\P Tm+ 1FbR^Zm=^.@4c1c1O9,nm ܾ?}olB<;h$WrNy=I~c1c1扱1ϙ;άUkDds* 5ù$r̘qw26c1c1Y٘@0*=W*MLg{'IYToͻTm1c1c)agTP!A$á1<'Z̋))&3i`fJf8MS+6c1c1ƜVp6O%>"? NHN+8;!yc1c1
    Gs!~1c1c1QY<IN͵ g8ooRW6'ʌ1c1c1 ΧN"55uDRAUURaC³>.ٝVK ~xJ4c1c1c#68\9f\/>Д=58T:Dv' I;p&zⳌ1c1c1 Χ ʉJr WpnkN,c1c1x| h~|;ܞzٗxS_|5*@">]4i/Hn1 lWtl1c1c1y2>?˿mU|GSG=g}q$Hc1c1cyVp~i=Juf'ۣ$CR61!?>nMx y+o|zE?KYxICP u+Vm_PCXX>ˌ|]t_İOf1}~%î}|Tq*kv]"MS IDATq͟;c%Ź/? {"X/֏lyOfNg0YO=>2쟥}c~.yg: O )撁 7LcxyrX꾗,~#ݾm_Ǡqx0K|MLצ_G]\ .O5vaȝYv̏q5(V֝S9$!Vj ugqy9u i[.k?}nbP4~6y`gH{wx;X+\SuY"k[/?oypErX }NDH)k}.Z比o& xqh݇6 xpCvy="mًmJ9?!il_wBp\OmFsBr=pģ΁x FSݿ_!M7ع`}+I;T'NpNr0֙"8O۶q.TP:`3iד?TהgvݙCJ휴/!_dI t־'y*9ڶm6C\>嬶wf1}FU.7/|qöo|ܨ * z1޶|txYI.~v(֝Y_rO);n۾!t#@o.*u tG5RN.^i۶y X+m>ic.΁ܾ%%~K<sx@KKqȹ$q"p\r,ZJc=k&< 61M=mqķrIJ 6 nw a(y_ 6g(Σ B/K5C΁ļ\i[hSbW5Ui)b"7pVrRywyJv%ܼ}\%l$"2\K&u8 K%J/ݺKwJ ^ƕ+\G9ΝE%ܹBsgubu<=rf̞1N{}GK\8 B]V/_گeXr^sl=(NDڶ_~ˌɃrk[${a6P3uyF[E-Zcl_7Xjz1,YWxܿ\=d|pXXom ]^< e>b}w1,]<.i.nZ^$٪3t6ۺTA3[sf pJ}{5>蜫s{G,c*e5Sq!64Dbj۷}!M$jn+PBlݬP! (R1yK M6oh3E|!]wTUs~Kh<0$vk"uH$h jH дO !qB jEN{G-E:w!AӍgO% FBqI{,yR7ɹ$9etק T(}svSixII*(!s\!/s}6+.G"BwwmY}wJd\"P9mI$okH)>i΅F NJ}e7<6nې#qq DHi Z!ҸؠMCMrI7 왠(=Ώ%"k}UUx9Ŭ| T3FT Fvs*+*F5tc#g'CN-5s4MCaܦifB(}pNց; iTǕEȳQBo9Pj b@$2CCMvD)!s"!* ۠н9MJλ <RT,+T篋Rwo׾K( O U`TRUrA;w?"8FT=ه#Mh9ޡ-h M$QYP h*yGrV~K#hp_DP(oOZ1R̅rR}7u njB*(cB7Cl_BTP|èWB1bV?QTZװVB=ͱ.%G]bJ㊺sPJϴ*p2۲gD (KU##.s'!4_/Drq9FU7RN=|ϷIWT(HG* \5_]y$yΣ)BwY H~ P?.tkT#UaT"m|;GƒgA&UA9uH9gf푪I혙 '֖Ku#F%T,m-#Qj- zʲ@}TmǛNJr_ h@~Yu`Zڢs `Tz&e-5CdV/hwH@1c1b.8:!M}%9)WIE;@gTL;T_9%o?mm%iwRʱt(N뒢T!oJ06rDQ!U)š!_8KRJEA]׳1+8ppA ڷY;oq=޽;{'1Fܹ3+<_~dB4K uHxήsupx%Rr'xJWnX{3paT(aoyx ( $F _d7-އC;+}]VMHܹu_9i`}TB '6 F SK ڴV,!a{o%\Q'][뎯u@9n 7*ntׯlp/p&u yVǼ} \g13YJЊ<#r4S=&[/ry#[}1g!;8v~Ż;Vww'lpvgk{-w,ʽUxsgmݫm^$"yvb5Snך&ave79xlgh};mJ>>G&|楳l 6 uL AɵcZuG^D)yn1/+mS[o]o(<ůLI{pegrqs`w%]6hŘ=-^$g(M1%E`&ǺqҼwwv|;>u>.w;}eHƨ &erc^:_=nQ79gwؾ2!%1I踶9aow/ʦ/Q1 >7BBM*GL^=&oIq M.nGs>vsq:pnbTyu{{ߨhBt݉m.ip\O|Bu b]3;M }q4F?jgU,K& oߞ ܘ ΧseIL`d{>: їjWn߾[o5+wR됚kRJvT_Yl; ?ڈ:Vp(5.ț|SwK\rD3ZcW6yڋD⽟?1y+ 6{קODhgK5 .y:S)87t0S.)֢å5{g.q;;:?kF$E/8ME.έ)_V2irQ ᚃ*lJ *[nyD#ɗL6/r67:Sov'tOh$~bł- G/p9_ S,}dvz?FٝK$ʳ;||d-F˳VIb 5uR?2g~r.j&ۻ?هеnvw_3h7?4]7ϗlT,#\P瘮oq{޷zgBv~nX1ٶ!o_Әxɭ.2w<L"lH$|=mQپɹU\읹w3xxqn\&9&ґ.=w¨pK%J% =J>eޔ/pO|+\V%P{,yXZ|x}66HE{^?8,β\](qܼJL:t.]fNƛ\fU.kW׶%l%Y@$bc`r B唱ķӟe]-.ݾ}3o{C'1u3o%4Ёߛ?NQHij  ܧ*H?kL5M6÷o\lPq_4GcN +8?"l{<5r4Odt=%6Yk/>0uN)%BnPRyW嵅g.K8R2NNEG's!wT|gƞ]]/82"c NﻦI^I_yV!9vgW=]. ɟ;k`v29thVraĵ63 8vIE@ m>qE c^}wr.\'o5S3Xh{~ "pm}y}Eo:WC6~60'G K%6˓ǔ{_E>Fe|Lb;6s$U}OkKUt‹g+^8SdxrAl6Y|i 9q.yq`0+k|r~W=oߎupOYٸ{\rrˊ)ճk}yQVJQ85-W^_$D4'jށ9Ǖ+WڗߏS<69jCcJA\q.ܶ}Nܹsׯ3xgm;zZsIh&M;{4c7d{{_|K.E9ޫ+; 1Rp9ŋtEQ.׾}K kߓ]X5m?~ *EQoAǿȘ ('9AX]r!_}]>&U4],b}1K\{ # 78Μ930UUq-D^z/> HUyw8{,׮][P;wǙ3gx[KҥK⋋O1䭷ޚrr]׹vO1J)r+W#K/̀B+WpŧF#nܸښ+p-r /̀1oߦk.\k3d7۳y.?< 4x{?'*ۿ߻u"ma,!oMy^,TЀpGrNS꾷j\,G?X[_jcl}ru3Y^-js8(O[^>i*?Vk_K?ۿ??1W.w›w_~]'wA P;n/uyilïYQ.Odw}:_[dVKᘸtDi f1FRʷuN'5X34et:1Ff<c<-cLdxȱb}}t:,?:O&O<;mTsan:2N>(m tmUIw%C{X3$n NW7}ֵ໾2| .Kt빍 c骪X5 vD:}?h?XI㽨A}s,އj8W~||8I.tkk}?x>Gc4<|Kn,xli`g8@(c6җO|~%_~x'u?:oSSRx;}lp|Qц~EQX"2009vFofw[Nnv,"EX?Q+b_b;3tQnsl;N~83 U{tn~ct?iٜLo=L׵~6y`#gVN娻O7D_kBV+|_O8_&_ WT8^w߬{58[Wb:ֶWZձ8ձXz}u@]"8 IDAT-ɈE_~ 9 tѲAjWW._-w,\]\bVY..%c}r-0g#vl\8~\=k߫]lsU5._4v73c{9"t:e4eo8ruyY>ۘ ϺXHpP4B)Tp,=}ш3gc,vBeYrYfY9&!-P[l{6668wح3gΰ1{lqa?M%1Νc}}ߙ'?$kqNݎF#Ν;sO1=~E8{,gY%={v6+-IwN4 xf`ݸ*;4Qާ)R" H !+uRW(Z!`]Ji1΅ 1=mllg1^ス}'wtݾP5}eYr%{r=& UU1+Ẏ창[[[<~.I)qMb\x]]vvv666f,˱ǝ;w(K.r:Xy(|-& [[[ ֶӏe~}}Yxg[ncҥK64͠,YRB$_H0洱հ\bN}[.Y61Kid{u,4SpyXc1c1c 첡Lwάzum1_ 9,z,ޫcd,ޫe^uܺvl C(B!%bJ$y?{7EOv~m}, m[ιٟ WǶ'12?tژD.;ox ^mGC~JUӿÍ8r시.&4|~Tx>^~X8`jG JReм;_wek8D޵۰4ŬfA 0];qw@m?b{1)#(HuL;B ~O+hDj9 Y\AQ.vr"ε=wQ%@P3zR p8yf嶫n;-`'tőv_~Bq 6*Mq?xF !Kx0f(#NsRR+)$ojs.h $x}J>@ mQAǗQH ]g '<Rj!iG#$!1 {rnv!W@!cFa*Iyxw}D $d",Dzb &eVBy\!FRqU>iӎ4Q?t: _pEIy׬ .-@TMڇ$8>1cyL@aD#)Ɯ=nM3ڋRa\/7ǝ?-4 =lCuI??!ǫ/OrQu9vַHW>gPH1qHXA|sMx*tv_cgƺv{5 𶯁ژ,>?"IwD 8"'#)9#+`IE =8wX5u=}$ԣB\<\"knڟ ј@( <0@P4%b{*8&G̪MhHh;>,Dy?H) "+ëC1Eb0O" AK8(~T4)G1[|X;H DqlL #riپQ]LAű -]M1}qtH gT"pPH,WXה)?xjGàqm!{)'{HΟf7cJCAA4{>8zf %H|ARt$y9׺cg"1+`gs@hjfWqW)44uCӻ鋒,(JIjMCݴWUEud[ ݌fZSbV@wT N:9\1*}0~nYFWˊ,qoyy M7KD"%U'dLB>[WrLYU7a*9OUUyLz$b357} NL\EYVT{ 'Ϥ6S&u"PPV%C/ y6C|-A$yggYӆPLO}!}A,/дdRPiUU'ί9f 4!e?V\WeDOS2o(zBD%娤*m'#}\~m/6a֏+(ʒGyi__ MlǠ(+ꩠ4m>HJ86ZN{2ܶ!y ޾N0ĺ/䡪xfPObDYT5~;zAכ&RoƸ/s>r?}Q7 !(IqmGήδP3FUEu8;{(v1Q@;*;Uusy AAaӝzYeEPu7"%E~[Z:\kOڇBa=1M{!z ''"` wx8+\aeߓwt ,~_YFQuwM}xn|Y<8$U;{q- kpxz1h Nf:$6/qn^v;[44dYL؟|½^u l Ipc[i=]{v67cp '& `"p3K`;UoŮ柭ep'1/g 隆.pLICs#-~U;ѐM̌WY6(2`c8.I !\oC_dÒUyM?]?U.0Y|h*geCd .AwacI*tRwq?2JX2`Tf˘|eKZ9FUAR=8F4,qZGx1 xZh-;sF3,>8+/!e[AP=p6nV0²tH2Nk-rLKO,$V,RWvswyx;}3X>T#^7qа-\g{ϗPlWbӘ:g2zz#ї Hz{ʺ3bb^bT (B l'Wh1vmgױ\좝h22l\fLj$6 #$ׯBB;ʎp~v~|Ke^Ը^0ɳ0cb2`!]Wk@X  ZVNxĂ,$KZ&pȚNTBqE@&g>&eʔ LV]}۲PT] Ԟ=Gw6>h2c-`4>MZT ca]^,grv5UGs`/v!#glϚpIa;Hcʟ".EdKY6%D1Ld]rp=rʎa\Ay=HɟĔ3;%,P$lGBQ,ݱg9]D'?}Ng΢)ˍ$vv,Y,gm`s*mىė6fɌISqU"W@g|p T:p]{qZhttfܹ̜܏>w"z4Q}ּ5),y%gB,Aq?i62*js`[&M/]̙9ЇpC'"`;tKwZi1Yd ˄y4" w?/W"&ؼr-k }أҥ3x$<. \x5~ KX")Yz#;reTdhѩC3cL6ClGBXէrp;[č |$37g8CT4@6v/s*JYwOr-n!Q^2=a:GBq}ǥ2Nbc8_NIc/)a1g"&n) %PT.KOqjN;m4=6131sh"}7F#T`[[yg 5=R n$pc`3ٹ`4=g|4kbox[ۖʀIWǜڹGpfCA DFMł)q%e ʦ!p՟@ ugve!Nӓf1a|%MAؒlpgضe*U] X Yō$acY?}QNnV1[ҁH 0 /Ƒ;k)KYdyI2~t:s^9ɢ**C\f>}'eʔLQBv#!Uʾ9pvz9h23f4R, 7<w Oowd(*W/]b=3m"d"+rbûXw+jUHх3\,Ígyv~F'Jg app$7Tʩ: +ֱ-n5 "ʮ_JʖL֑HҮ'G )&k<(hǔΖ 5.~ @@YUY678ǷA 2('܂JtI NgN2hCmm oVRRӟ>>ձA35Gu ҂hz֞vGQbn\ųW^F9s׮j+6 2CDC ChE  2Nmd-;p;]"L#Y̭~Y>wR\vt/\ 6A ;صqЅ `>$IF4W#KH]ECQT,>n_dOPy#, Bs5sJVʚCTth:U+r::Y4&RR6n/8 jQy=Wfu0zO+{Pp*(vwլv뭂'7rj?>2ahx<]t́+xVL½6k\9{7*(Xz .= zh\LJ 4ɓ4ɍ |p,ĭ&ֲl8RLaHHsM.n}L&p,EH"bzR+1 \YKS~ WPmW BUt DeN~3"/e'$p@ 6PI-:PМ[*)U;x/QS'pmW)9!+?͆4ؠkʸy:K*OLfp>IQQ*9@U8';p0]5*۩^6E8@]7eźS)ض Px+W(l'fh`$|w/"dcI*ȴt~+֯bMA1m$F5zʊ()VS,7qi!e:nng% 6m&VIIț?Q|@$T !][OqCS:0Jrm Kjiyiđufꕬ|S~)EW~nQ<=-HZϚwNqH5}#V$pwOd +سfn¥N,HHqE^.I[2dGH ]ˏph~umW;ݸIIG3"< ̷?,lwO#p+ٸj [4S.;]/Rj^xǦ栩XԞ]#OaR:J ؿv7"B!INma1y_+s&us[VzJVVX^'y~6Yb!z? s8֏0}2{sغ!!ۤ&S8ȎrL ;R!ч_AG„FbE-R2#H"z Wn(KwIc[~̇+ֲGԄF[wʒqd@*i8!?ޛsJ8b;J(=-N CZyL2@EmdU?g{ >S'Dȡ]I7m!): `//Uq"j 2z^DUްւ8F z ?xUEeKY0?kT5;9)X0oȿ vڳ贰WxR{;&^t$Qxn?+TQFF]l`[( Hi=![x^7kfEkVp}[~>7_qQ H`Xqm/ 8Gf%Jm I~Dv˴R}n|s={+,[4i}0Op~ {7kž!kv:trr!O`<3?o# ?dG|s?]} s4$DJy_8 0jGǫq4z*㟚͒)yZ0mV e!2R03,!*i!9,[sˀ(L*9gq|$ARR$W/2JOruu_c\Pg8ѻ\5ԪGȉGe ,LtL^s D-Lp5LYI"(k 8y>܃1R0?O# m 3S-~)XtOb qH240 # dG>nf[]O==>d3t H9a <<Ѡ$u{w/eϱ%+1DY|V´t MW:izo~+݆ؖ@J!LX8G%>|a*AUcٴn/++ZYaJ7 "4;9p_oW& CIZ( .>[7dwb̗nhhPxiʭl`;+F5Y_&VTot@l[ ^l }#//t`L>~@qaX6M0D/8J6su2CdF|j0+йQ,D@sB)HPm➍H$-ƒ+\|=DI:uG־OR9Yַyuj:р4cl 4,`hfL҈P g6mc%aK$JZylÄ1dejcG"tr5'Wꇮ_c\,%3sX}^f/̼8 {WuY}0GǏQ٤ Yv5{a:Ŝ>xU*J"aH>NaߕŃ c\?%cfٷˣրQԻ\޳}9>/8ԜEKgplCDzs{udr$Oq Tuyqs <>2Yi>a)SI;X!=YHic,&W 8} y0O2YݕY2RKŵ7\p'̄{79y4_~X(;33%cz2< l:sK5$DŹSI{6@`tZ3Vnvcc_F[{e*Nȁm$LYC"7G hufʳ+/gF," thoStCo3o<s6&fȝ=.PL,[^ ә׽o,d#Lf̢GX)-eCv Vob5!UM`T;Լ{/pl$%aHby7h"$10MhhMXtx?<<~racG$eL}e^Yړa׏3$r;4PmA:!^\ȣ9>:Xy Vx帡ʪ/SVz8H2Nvb/e'h:z f|׾m3WV7ǝmk@Mjּ xAzZF?H d;6!e&ߜ< 6[y8 >gaƛUJZL#f4f"W6 alfϤHea)M #8.z?v']]F*#2yq^?z&oD)a4/^zm7M_$p6hVCo @JZpd#;,E,NS|{=Q0@s=&ai/R9Rvmk!m0yOKg25-pw1=k6 'dlRq&Yp_FT*8~;vbǠlnlCd FBs#%>Xs<$s0k SsU͢z@g)2mzGg(58=³ObDD5%q2UB+(*sD̙9$buѩ;A4$,%7p'M9LG -TCK)GR{1eeTojp :m hwvb;7QO,g[sp)n<U Xc^:7a˘)E*$RFpP;hqpL1:FUZD2SPx#m(n9E]'o! ?gh Ե8RH !}L.s A;M c,Jrq.?%ە%w$P3Ɠe^zv*U,F"p>3')΍&Jjpܡ2@G 6Q^EXkM~{Ԅ lӕ5~~0O\cĐ|&?*_{zyu=2`@lm:FزzN'`Ci!)'9 J yٮ D$䐟M;T]I?!(z 5_ן\ w|UP VH &jxkhO 3qDh v/r$ܾ&f0>,K^wtO GÈ ꖯܡ UI00pp g1Gv\NUnV5RF2Y0lYE-v.ǐKUX҅DKIAUTBQ8CVQ=:"˟ZW.U}+/0}aڎe,z۵=ݳ}B#l20(u늹v#H@/=ߐlzi$Fv}H!f0u7nPR9n]gM_AM gXtwB`7%T{$3l$EAV5$Ȯ>"8x* 6l^|"c`2q9e[8fgՕԶD;nj%>&+A٤Eu +aX&xc{4oZ#Z(щpA{YJӡ:/'zDsDR4]ApYW LJ3$Ol_I_ ]WzdTUE@2PLTEPd!bc:`TzKIԝ "BBE8Țr7Ş7u"`ۇLJ$`i>+A4YA5[^ȉH%j(- MKxtMFXb;2"#+"xE6e0K`ٖT-7+KȲ[| EC2>SlT ^z+$f_V<`4C=z4 ~TE>eI "L$24טu +Tr;Ƀq7P5Y08VYU0q`8HqGm}]R:nSӏ|tf%.>Π>b[EAxvpeVF]e̾G}v5=ۋ^$FSDCZ {dh1k[3|xbH ևlԝ:mb )M~: 8p]= D:}TC UP{1i!]tTWQq$޽S;Gl*yoo(4A5Ң;T9L) ADT,Q6]wgB`1&"⢈,Ƭ-p RnYvf+EElbaJ:٤ f,2B;~9C@((G)MHe7}9ę#;3d@ d h'7l>{Hh A|7ѽ/;z 119 IDATGxuH}g9j@2|#IX-{CB [ jKm'w8(ǯRGa{HL߇1<| p${j wS-Y8HZh&ÒQMq7[ฺBR!CۡlFO!:sCG3$j?yp~a<2hO_I͵lWI?bɴ,u IUᅌ@AD;ʕkD`\L<, 5ttP[[KPZ?CWCx`-zeA?B`z8@3U6k5j|E2=Ni=8?dA8EɠyzU$Goc !$>e^m$rfh:!"SY0{K(Sg;:(Q}9ٓ3X2'[,$ I8!HE, IV\Ҹ6]f[$E:4PuaHI!LP4M]pBa®OgZ=ZLAE60_Ɋ/]OEhJ6A,[RhR'V;4f`T,{K,)zs{sMը1[l("(*t{>sy &jn4bNyS^{^ζfǐHa!wȦ؄#6c'$Ri?,8AcuKWaȰKe(l>F$r$-R|߬q\M4ҨX1EJM"ukh1B8 20LPD)[5ZVMgFI/Bc҅<~nfTpt ڛ!-L*#|\<0r"I$>4 BYPgy:Hz崩cXV< F:EHe%,YJ8/5<[T|V(UpDSFUDuNgյ V)e}NcyWq݅#9{[]'AȒkx!o H ƴt=8r.`[>TUI~,LC7=I*S(#ltKD&Ca yh6OMd]B^-yr>B(~^|9]:j, ⫦q|iqm\,in{+"wњSiL;$ѵ|2%qG4KLf}$F]iz39s(o5C[Ck*cX~z Xt)>޽-?G)p 6i8s^‚8&qxT#`"ĐF᪠խe<TOiB9=uDƚz3 Ѯr}goOw eP-j)_)\=РPnz"G vkt~7c[q⅓թXG s@ !WuJvCf)vYw=1O`ʘJ:$/\Shq"x> wח-E'缳91uZּObE[SfD17c]/?ڧv'C`-dYd1;w$Vٛޣd4$NOz"}|U3(Oa M=O2iI( =f̬l)N?[AR~$*:°Vl:CqQ&~ౝM`8D/"䀰R{P E_d}9Ιxm.2>T| ®,{gss(vߴ  WC4~E)=z)^uS8g/h͢Y*Vp! UX`@P$uI'Fo5gҽ/{7~wiΪ2# %{m?1d,TkL4 C(_8>E&mw7BPgC+1(dHap+gԿ>ϻ+ T._G"ђ ÞմϕwOٜzM)Vu뗳W@=; ~p8Ԇ>򫢳q|8/Ҵ1,^ta@[ Jd<|R Da5f!sA,,82}g%\tٜ=R"8Fg$sPS(H}t2K&GA_Ȳ~^yY'L.95/eS;{\ :3 H8Sf$XD pV\Wi,7`FifJlWq>*a M|\ 9/y7x%1^_vOTDȴm9Ɲ_]i:DB!?\ˊu8pE\<}#6ir!H&; >Sj_}XKxe:;#F WZXf~.$HdOko,ۻ)u*>ZrjZ`5v'(DJh#K&&0x=^ _̴))}Giחna @84\Oh C Ge":x1B dk#MA Ǚyhy+8/Xꇞdւ$FΰӇ4S f$-Qŗ߅s@Adۋ/䍖 v-M .=_BgRXm( 41 ;K&}",i}c%ҙR^B>E*nI3(dZ˹ydJV#ht`첇yr4S08-mXut0N؇\\^a Pڷ/=ְyR,ǩ=1Fz,^%!"d8Lڣ ~u/ᜳ2oPf7{5O?;~e^entf]Ge!n,ʉ-$9%4hj2)% udWC1vsgBe>Wgؾt3VW,y |ׂ &XaI+޶Op;6 58(a M]W]CBo: F4}d[?pC-\B0^IU>Na J @ m#rgYDEԷ/p|]?Y~as"K _C)SU8|q2 meP DX$~d!Jţ$.w=׷RѮ;.2 MxgO.re\0LN! /l, #<BŬ٘#0LOo|6iI'ң@[ Pv[&miH!2mԫ9CLbPS(%H5W8/3Un!ss<K#DUJv]y)WMKߘT>72=l ͇rx=3E )W4:*#+Z[4m|?NDM(MbëOgN ӃA Vq?4 Vqǧ<&?D~.k1Dö%?Mlnm >2 OMb?gE{yaW GKA Fy^egv~R`T7zN?}A9D-}̑9kWrZ8a i 8ÿB'@Sfo08)TDLAv[כF~{Ve<haaDjYp|%a墤[8~yԃKkN`jgE+NwME“e3%Ѽ ޞ9_p\"PExIxN S$39;_DmW(\knؾ6Ĕ@@nfxYD%wyv;-Nmy?kr i(rmb=dBY,O$~יzR-c7& v4RGQsD~*B~JxxN_[̢'~Oϲ43U8ּ¢a,rELJzq"#Oo]w"J,.nt9JOcټ= vdjC+\@j9{~urJdbyH7žt -Lr`H-Sͱ/8 S_]PJь63_x%3;eB4l^yg5Ң$f" Sם>zN InL/gzzȍ\mgݱ%??h4QGv.)@"MD?0u4sdCu(u Vj#$X6}旿;YL޹75V ղճ_W_5.|N%= _+ϜMq@N2BgτoQr7`K4͛V5:q<}Km/ċ1iE8aN=!@(^_g ha9[UanF!ʢyp.wr_n!7,53~cMiq)qz(|7?Z$ٽb>s=#aMJP*P@t+8O,'$b&s-ص>v{.e^t.838 wVQ5GTpI7cTW4&HE;Vg fj^6wKn:M agWGV:`J2pD+3_gz9hcvB-XȦ]QAb6+l {OhZ9U+c5 %2^Cu Th hOc ~%Gۯj_e#j5{ޚcӷt od>"mƃ+fSTq ,@9 *ldrΌC'[듹dpplB w. RgM'+泠v, :0(I!2CS'f P9~{30e#冖ŶTJ2bϠNqO >t 8@P|=Fr~ `c6o?'I}p=mU|4~fD˿mw5|iв>kWJ`4Nqȣ+%q|  PY"h q|۸jj@>a[f՜E8a|^K3 c@MbCbǫ1 מEzyiX 5|9؋>ͷ]lb8} ưm,#Mɓ́BY8ORAKMvgMsxK2 '}*DM]vY ]'_~g~psbF9! 5c ?9靻1 @:.:^BPi*;Lbr*~UtZHxu?}|"l2d9V&޶"aZn?OԪyYԻ6299j4\I&'2 * sxLO}YZ׾u#7ד(|lY1kMh?Q 4J>~c\']@: @g#v"SX O?3ؙ:2n?2 vzٜ[ۮĘB lu=[̫Q:&Fu6^yʰ7k甶C9tSX`"J ʰ&OmEjϓӃ:,j{p,Sw1&HҧyGydAm#o~ά|Lv2tš`NUA /]{6Ŷ]I{כpi_ґ`*l"ƀ 6XaCE`>/q_&|Fs%5>=_! y>M3V~/u3kC'3$D260h<>ϞNq{1(+CDa62`B[#ex paF=\?浗4pݛwsd[9Vpr3{Գ5̍3ab)(3PPޠP>D8+tġ>|`(_GwĠ끛#*ۗsjVP1b+C8uuX 'b\qlVz7Y)}[WqB1H 69>:Hϫwq.8< C@P*@brR?9tSm88"؋Ag^eظv Z22 be7Em+,8R`Ҥ:C/7M|"ʆ3`pL< 'hlcϛJ5xu ֭gG7&!|22XCQ|xڸ%вu3ìugsq/E.WF8+-&>Y4ăd:E:&nd{n@&G2 cX"E}nM6_O˒Gy5apo㛓*bQX$!6~HֱyM4(;ҶkfbYA.aDI)a~?`\!@n*i!3yݧ}&?-͈0vgoȢX2j ׍CCXe`&_u>gvh)ePZ5ͣWxm+Ĩ63}:O݆5Ӧ aG/Uѕ3kSF遏!<+cz> YR7CǃȖ::R6mĪ*hXGXٔqGK"4~Lk ˣf+~?"txmRb%q ( ]=!1vL]dK!fhY.z'~ NgxFG|oҴKQxկ۟X_I& %0Dv<.Wʕ5eI "G_B.i[Jm!G~}^QKƥ!xYk  d?؊Rq>ݨ -=<^M&im5;V F1æ2j>MLC \$.IRu2jS+]py纸.9 =<—`ҰBÛ}3(By:.THC+^n.k#A%p]mJR໅  y`./״S9O($bZ0_;ؓ)owzw@KepAerd}   ]KݺW5~ԥ]ts?zIȴIxtL_+_+@ pmbGD' Jmq8G $eE# $5( 7<07l]GIXA Ms/f3gMO*KX$`\O|<9j󸮖~.-q] ,iBmw:)IP!ts8 ʭgߎZd-={S .BDCi=wM#o^ŭK@7Ya<]agsE]xј1@@!d=; Q\ލ5T,L v]Baf~;_}=Wa['sfdHf)F4〇7̀y6@ }8ؐ'_ޓeTYE˹P!@ TG~n[n#nt.,l @ L[`Z: ϐ1H,OiChwPUzNkKښM",m7보ʨKE1*Эt+l͐@04g!;Qۻp Jiu,g9=a1 ͼ[D8k~Sѹ5KPXs!rIJ-y:ňJA~=a.7a)(׷ ?WJ׳ ~,:ZguqBoA rr*{S֫pva:ĺaPv80$̺a\hq5ǗPN\ aP@(n}Qu}u : lH[JI~?ӭZ?w@WH8 ;a1scf>|+ 8 l=F!Mi(_&9Y|I8"<O DĐn&\9QCӪ`R``4NR,\ @<\FL0H^3|qwW-l",|'1оݬB:֑=Qe~F)EbW/ ypue B>C,fOY-`Pڃ.tsM.y]R;$4pu&On>\_Gz-\Lpo4 BQgjofۙnTca:%w0pLx|+kr\^PN( O8 iCFɡp%={TPP fٝID:A%q)l&t88p>*yT h&oMOb)WKmol'[>Ďg'T֡m{m:O=!:Ĕ\҉. uED`W0Xd ȒbY@b.6йW-0[mRb,T>+ԭcq=^};_{.:)-!H:b%tS;[Y ejuLt/mX; cMy%qؾMXXa~]wEA{W p;:G lٱ$._ʼnNqljXUދ%GS޿?f!!O=N:|St 7e67<ӏks<]04Qک3xS׎eg-A,^m^%{ҽ zQ2l$ճ6;,>3Ea!@vΧnFVHV;$Mw3@@7 `[yjoʄ[/Aˎ uu,Zx_z<;<4mLuƒS.\7*ًGHr.+cqrVQ(nՌǬ%X\V @|p]g-3-f$EFRSQ .`mՌ'/xm]L9x?s뗮Ί4yyش@IW:5\_Q+c `Wkn2GpNbҷtNqir`JHSFEl/3YH~~pp*<`aXYIyZqy`A,V_Kɝ8Q c)ƭ{{)2tw #9 'ɄTUF-@n* rF6k: I~28Lf ;]Ȓ&%;$`rt` 895UkWnؖMA-[ٻm3뷇PYFYyh9*Ӳ,+Zfp[lqp(F}// ILXscbF]x/ggrѳ/\FskF0WflV-ȪLy]=[3 xe {ش1(Og;c  ٰrwIw$?;R:0gZ֮;Ŕ$l`?-ױnwG *'^PJ&9c6aۏw8nqQw.-kE0'a^PB2{;^]dr${ ,Xֲav6dt)sG0۷egff5v|At*cKG iq(!==.]ڽ ٞ ̏<~Zt ѩWOv0 ىEkپq37BsGHĉұ׳eo@[N:D3ŀauK*Fw{ 0͝\_֕yĈȺ弻p'Kn̮ ;opvL#zX,ڥZ}`v*"/*ǭ;7xtg .oOCEvmL,B:FY @ a }gv짩H l7'nYKmUTvJg7[c(ߚƌUo\4xq(,8+粼v Յ~]5/zN6\ԟ4 8Ϧ;pr bԳ`iwϥ(pi۵O?YKu9CjF0؊t}3W375A\Δ+PJe IDAT06yuJR.:Kk= / axG!:Ob}L/#{$'޵%HWЭ_/r?9;ihm ^*g889q\#lLk3#rVYkx75S_ ,jE =F0gxgx5t.+mdofxŵ,Όycص\h3/phԾ 6'MW47Қ |#2 C%cAibmYB5؇|xj6`r 9/=[8aT=y^u@w i6E=/oc[޵sNJV)ûPcalaײxԸq0ʘ 2%62-!>&9VROs4֜D+~t]̉ǢG 4s+r0Ft7g8$\CZK1?A3ښ;a Nđ--P--^N>Qo(5fYO\mc;Qд<OqVCYR_y r(6Rh"Kb1#$0l7 9$rH_z݊)eOqOfi0;^;UdoKߙK+b$F_57ObhAF4E܍faO̎ɒLzonz?<+( /j#|f?;~֕Nau3(*KngB:$=Ns~PcVSA x繇x:.~Y7.:$3Dt=[زKMX%yҙRڣ?Jm0h&oA~Sѕj.aѶc.Oojn7BT;;lfY5q1,N6~O8OlFǫT;൅a+/< _;$Omeo2m_e/95^44HN 7ӟb'y zU=Lr l` E\?1򉖽Nc&4m^m!M-ɐx[T2L+{G=7/rۓb@!5l,ef_Na_sݩoHTf1ơ2fX>Dq~}zGOwrW#d^XǢ~ov eFb9D:V.^ͪ&nDt7h˖aUl>ԇ̢gx?a7( ?9}r ǎbU\u Svd3Xz=?4%y^ܱ p~w j/BԳvvn~g/4pȈ}@G ©1gK#yXmYbZO; \n9ng ul>47qBfF_-l#&yɽ6|uAj>Df?{Z ?DLÊS0fFNAJw CpL?4hk ((q0Ͼ;ٹ}/;vf^8\R9`ڄ1if=Cus}0?~VOcq3E*T1x(SAwp4~'T;eK641!WO΋GSQ0 2րbǞ];رc?wa^cmG'+n-M76򳍃S$_Ӳo-fmd9^M2:xk[% %$ L XAسs;b=짂b8@zN/ܱ#SWe˥m{kֱF1ۘv(Y.b{u>yb9ņěK81n8š Y>~~Rt37v.p%7]; O?8B۞Li"7` y!r,[ H3o 6w򉷀co1 ^r#_J&_4~H4ʩl77޼K]u:8>ױS46naף.r1nL]ܽ+/Hd9,[ 5򖫹w." M!cMnvoˎN={} C"iftY)y__+]k< .|-IP@(&^=-{_l܃8ٷEKM]u_v#;H\xzW<˳ɦӿ8nkjw%vnWΠ$@t+㱥xp䝞T&pwpd/obo5\~p~G:@%0 35|q>\* ͳ[ޕ Y::Ona]^h)ȳX(%J}"A("rDڶ.Wkzʀ\vr_AZ_v @DD{Ȭ#"#vE8 F@npDߟD|_$:rx)KkALbrIס7<.-=_Bd0>!Ȥ%HD2L 3"mKc-U6!H7p^$]%?\ [DDv̓ߪ+>dOrp&JL4}NחJ$cb IuîK;{Ϟ3g@)^| RԞ>!if9BʟXŃd-ǷDyїCekO~e|R)MwbRйJ\q|sdd5}EDҲ ynɃ:K\W9qqK[=//lh""a >VyBYwS˰E!nĎw#dؔw'Z!G.eύaqbٰh&' |[ޖLKj$|Z˥ΕiϘHkSVֆgɪzf/ǥ}wyxSv0-"ͫdS ?JwIH^".Nv;_3v6 RI@GtwsEED%E~QIdM [Lr@DERm3?-i&`=De7(sx4KڗA8\ sr$W.F.7d`"8A GP~F Ay-hğ$0 )C4oZJUr&fn'J{ zx5U]-p_ saZҰUnh`S8FaxhħjYެrL˰/r98n:( k-p 6  &쎽4f2cXpLvRnj7qaVDq7f`ug!n&OM4m]ɪ%r}&Fn'zVS]3 `|&+hg!вmuX^hO^Y%=jT՝>y"6a7nbۯxv6fr &q9X~ ɴMt#GBS VZ BhXaC|Z yxYNϢOѺٌ#Ѹo0vEOEɉc9)$ij[p+)qck\BhFef\’[\"eܗ55 Lg ᏶GY]0Ñj qlÈ5 &0c 0 $-lVU0LB L,[hjh2d(fF ]ڬ>K&k &Xm_A:oǾVDYjaPC! ~'e묙\Fkե R\7&@#G֯njVoϾf ..UV3hTFlȧn- $0o+ne޾.Tf|u1I@ö_hٱKVrs={[@(5CS=9)/Av jfWgW^EC5i%+{OOlX`O~~Ttv z'' F?-<8u+Yfi,x]z{0DQherq97Њm 0OIHWJA`.bCwZgV,gjXwK#2.6+dnf뢷۱-M6-)$>Ovy$$[Iʰ*&0~@. ѹ:-i,zA.$r\fOӒR0ֻN" & FiʆڕZ4yfTV apSB$05Nv^-lDCZ6'Me.Ѭj? C# uU1AKYiSbE [",`Mleu:ֳ!M!ߙ=3= z%,eoH&`!~j  dBiλ,k!7QC8n61-$LBٴ|붳`+͞SDA~8:9VJl  ;:4lXƒXNaW0hHU%R$z@66/_5[غ4''f`wzf6Aԃ4lL,]G8Iҵ  @&q'! p?XU ;r5$8gBUUoJhFM0u˩]5;88QfhFwc~}VsDsC# Ōzn3:SMu>0 %8M{s!Q~ bO/?S` !ZѠlފzae󺄈a+H%"aI  BN~`@ϸ>L+ bҟJ'O/1!]G۝DDS<z܎D~Al.Q`8e;& B`=8iDQc$Ai0Z]לOD lWF)*^ Ba',! TH@(@)EaFwmi{vOIJs_ H|lg\eD}0QIDATQF> }&HXi㑓E<ݶIkE uɇuL㓨qo9STq΄DmAy%!?}*@0zDf+Z74/iuQ'yr׏%A]LPJRAOItNmu!N]MM8T?$Rgol8&i7nLԜv?NόlzCAz6>ƶLwi?}xPQç۹;NɎdrOc NQ0P v6T7LO1K:{oCC|αy.9Coaw Nrr};OQ@{OtN=~:'8}L_|NzCÀDCdw}&j[8Y^>xJc g#A/An8 WW%O_'i^S~?)i2 0,,fop7{9!x4@0l0ZAˎnt-3 2)2+ L&[nwcp0, }L#CBhf2`:Xbu䑀 !AH%ia9.Dwƞ ~&'ŵ?J?((M3焃On"0L'ur^ /PBqWt89u.eO1{^t& ݱ 䎦 J&p]+?6h ӎ{<<'4^'BfjǍňYDubj})$Ȥu1ӖsH¨}2dS#v]q;  GNh'cvB4 iqʙNV^k {\JcAhlORKDL@1xA{[x̶styr!~񚶋n[iY)RJ)RJ)YqkHJ)RJ)RJ)GgRJ)RJ)RgRJ)RJ)RJpVJ)RJ)RJ)uVhY)RJ)RJ)YgRJ)RJ)RgRJ)RJ)RJpVJ)RJ)RJ)uVhY)RJ)RJ)YgRJ)RJ)RgRJ)RJ)RJpVJ)RJ)RJ)uVhY)RJ)RJ)YgRJ)RJ)RgRJ)RJ)RJpVJ)RJ)RJ)uVhY)RJ)RJ)YgRJ)RJ)RgRJ)RJ)RJpVJ)RJ)RJ)uVhY)RJ)RJ)YgRJ)RJ)RgRJ)RJ)RJpVJ)RJ)RJ)uVhY)RJ)RJ)YgRJ)RJ)RgRJ)RJ)RJpVJ)RJ)RJ)uV'RJ)"am,RJ)DhY)RJe>'`a'M)RJ)cRJ)R]ԭ1N  btVJ)RsNJ)R, 3҂X[g8+RJ)'ASJ)Rg',f]_en66J)RJ]Y)RJ}!~@iڂoظ Mleê4p]l#Ls&6]0 b8mχ}|?BD@00 òm*RJ)>iRJ)p$$ A_l2!4LL}4n̒m%ѓ6^h9Zk0 4 !H(Dkf^ 7+RJ)gRJ)DC:o2Kh8'5 I(8 2?+RJ)whY)RJHv1>AaPc6?$İ$ ;RکNvrDav(VDB˾HS:p !M !'ncŒ"ʊ&W~ kHj,xE%w%;S8afRJ)R\5RJ)IQ-ēOLgmhF'Qroq$?o\\~?mfl-́'c96Ź.q_;0ex>~6~godi3I熛.e!Xf6ꭔRJ)$hY)RJ``[ l$/=;6Z؏~NE?}{Rli-aw"%gymK ϻ9m1|x>[}Q^zEhK‼XC7_plO/.gNxk(RJ)ЀRJ)z00 8-+Ӽ0%ݳoq{OEP-AҀ&zk75.bǣ?Wq1|e]؅!NҼh39/r=ޥӳ*Z[#BFRJ)$hY)RJ D0 C}t`3@:amϯaP s.e`'}_h/< f̍Ο@g۴X%{7& 6n\Öj@z8RJ)RRJ) LLC0lXT3pVcnUbt؉DATU^lڊH63xdcjhmm}?gQI\{`FkGSW鸐O%nRDV:ldutc+PkY)RJsMJ)R} 34!Pο:vuó˙1h d@6a 0M ²Llˌ^$sH86m+yxsM˿-`aH[2[6QT6<۵̀tJDh!5̬RJ)'EJ)R} 3Z$~W0+XO j{Yrk;taY7K'yFTƝw7'FHfЊ>A~aLuWv ! }V$AY>Г `EoRJ)ԹgRJ)uQ4PEU_:PK򕬨c7yg<<pf]JcA!9 d/;\ȫoֱytg[qCl҄i8]7?v!۹S1- 8+RJ) w+RJ9Hq%=^Ƅ?^[7wd0%$yvGx<`Mc@ f6K9}ֲc{_n_Y)RJ)3RJ) BC:HzB^yf2 :.Gn0\؃QJ)RJC֏~RJ)fb!>v;C*X&ZI8 rk\u\sA7$T#4+7q"N<ҔWAnQ!ͤVXbbȞ $IaUD"@cG:pqK/pWn+7 ۻ4b( Pia# _Fp/̳8z9xlZKyό~3-y=3sdfђddK{.{ͥ&̞~$eV{˯oCGm{:6PJJٲ}+.)ۖZVfԔ-i%3)y+:>`BuO1 ,e|_Rb3|_3K,!8 3K,!8 3K,!8 3K,!8 3K,!8 ?\oCIENDB`hamming_rs-0.2.25/benches/distance.rs000064400000000000000000000103411046102023000156040ustar 00000000000000use std::time::Duration; use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion}; unsafe fn random_vector(x: *mut u8, len: usize) { for i in 0..len { *x.add(i) = rand::random(); } } fn bench_dist_aligned(c: &mut Criterion) { const KB: usize = 1024; let sizes = [ KB / 32, KB / 16, KB / 8, KB / 4, KB / 2, KB, KB * 2, KB * 4, KB * 8, KB * 16, KB * 32, KB * 64, ]; let mut group = c.benchmark_group("distance_aligned"); group.warm_up_time(Duration::from_secs(1)) .measurement_time(Duration::from_secs(2)); for s in sizes.iter() { unsafe { let x = hamming_rs::utils::aligned_malloc(256, *s); random_vector(x, *s); let y = hamming_rs::utils::aligned_malloc(256, *s); random_vector(y, *s); let xx = std::slice::from_raw_parts(x, *s); let yy = std::slice::from_raw_parts(x, *s); group.bench_with_input(BenchmarkId::new("strsim", s), &(xx, yy), |b, data| { b.iter(|| black_box(strsim::generic_hamming(data.0, data.1))) }); group.bench_with_input(BenchmarkId::new("hamming_rs", s), &(xx, yy), |b, data| { b.iter(|| black_box(hamming_rs::distance(data.0, data.1))) }); group.bench_with_input(BenchmarkId::new("hamming", s), &(xx, yy), |b, data| { b.iter(|| black_box(hamming::distance_fast(data.0, data.1))) }); } } group.finish(); } fn bench_dist_unaligned(c: &mut Criterion) { const KB: usize = 1024; let sizes = [ KB / 32, KB / 16, KB / 8, KB / 4, KB / 2, KB, KB * 2, KB * 4, KB * 8, KB * 16, KB * 32, KB * 64, ]; let mut group = c.benchmark_group("distance_unaligned"); group.warm_up_time(Duration::from_secs(1)) .measurement_time(Duration::from_secs(2)); for s in sizes.iter() { unsafe { let mut vec_x = Vec::with_capacity(*s); let mut vec_y = Vec::with_capacity(*s); let x = vec_x.as_mut_ptr(); random_vector(x, *s); let y = vec_y.as_mut_ptr(); random_vector(y, *s); let xx = std::slice::from_raw_parts(x, *s); let yy = std::slice::from_raw_parts(x, *s); group.bench_with_input(BenchmarkId::new("strsim", s), &(xx, yy), |b, data| { b.iter(|| black_box(strsim::generic_hamming(data.0, data.1))) }); group.bench_with_input(BenchmarkId::new("hamming_rs", s), &(xx, yy), |b, data| { b.iter(|| black_box(hamming_rs::distance(data.0, data.1))) }); group.bench_with_input(BenchmarkId::new("hamming", s), &(xx, yy), |b, data| { b.iter(|| black_box(hamming::distance_fast(data.0, data.1))) }); } } group.finish(); } fn bench_weight(c: &mut Criterion) { const KB: usize = 1024; let sizes = [ KB, KB * 2, KB * 4, KB * 8, KB * 16, KB * 32, KB * 64, KB * 128, KB * 256, ]; let mut group = c.benchmark_group("weight"); group.warm_up_time(Duration::from_secs(1)) .measurement_time(Duration::from_secs(2)); for s in sizes.iter() { unsafe { let x = hamming_rs::utils::aligned_malloc(256, *s); random_vector(x, *s); let xx = std::slice::from_raw_parts(x, *s); group.bench_with_input(BenchmarkId::new("hamming_rs", s), &xx, |b, data| { b.iter(|| black_box(hamming_rs::weight(&data))) }); group.bench_with_input(BenchmarkId::new("hamming", s), &xx, |b, data| { b.iter(|| black_box(hamming::weight(&data))) }); } } group.finish(); } criterion_group!( name = benches; config = Criterion::default(); targets = bench_dist_aligned, bench_dist_unaligned, bench_weight); criterion_main!(benches); hamming_rs-0.2.25/src/lib.rs000064400000000000000000000057111046102023000137450ustar 00000000000000#[cfg(target_arch = "x86_64")] use std::is_x86_feature_detected; /// Computes hamming distance (naive version) /// copied from [hamming bitwise fast crate](https://github.com/emschwartz/hamming-bitwise-fast/) as author agreed pub fn distance_naive(x: &[u8], y: &[u8]) -> u64 { assert_eq!(x.len(), y.len()); // Process 8 bytes at a time using u64 let mut distance = x .chunks_exact(8) .zip(y.chunks_exact(8)) .map(|(x_chunk, y_chunk)| { // This is safe because we know the chunks are exactly 8 bytes. // Also, we don't care whether the platform uses little-endian or big-endian // byte order. Since we're only XORing values, we just care that the // endianness is the same for both. let x_val = u64::from_ne_bytes(x_chunk.try_into().unwrap()); let y_val = u64::from_ne_bytes(y_chunk.try_into().unwrap()); (x_val ^ y_val).count_ones() as u64 }) .sum::(); if x.len() % 8 != 0 { distance += x .chunks_exact(8) .remainder() .iter() .zip(y.chunks_exact(8).remainder()) .map(|(x_byte, y_byte)| (x_byte ^ y_byte).count_ones() as u64) .sum::(); } distance } /// computes hamming weight (naive version) pub fn weight_naive(x: &[u8]) -> u64 { let mut accum: u64 = 0; for byte in x.iter() { accum += byte.count_ones() as u64; } accum } /// Computes hamming distance /// Assumes x and y have same memory alignment /// Uses highly optimized avx2 version if available /// fallback on [distance_naive] if `x` and `y` have different alignment or if avx2 features are not available /// # Arguments /// * `x` - a byte slice (prefer 32 byte alignment to get highest performance) /// * `y` - same /// /// # Examples /// ``` /// use hamming_rs::distance; /// let x: [u8;5] = [0, 1, 2, 3, 4]; /// let y: [u8;5] = [0, 1, 3, 2, 4]; /// let dist = distance(&x, &y); /// assert_eq!(2, dist); /// ``` pub fn distance(x: &[u8], y: &[u8]) -> u64 { assert_eq!(x.len(), y.len()); #[cfg(target_arch = "x86_64")] unsafe { // from benchmarks, it seems avx2 implementation is slower than naive for very small vectors if is_x86_feature_detected!("avx2") && x.len() >= 1024 { return lib_avx2::distance_vect(x, y); } } distance_naive(x, y) } /// Computes hamming weight /// Uses highly optimized avx2 version if available pub fn weight(x: &[u8]) -> u64 { #[cfg(target_arch = "x86_64")] unsafe { if is_x86_feature_detected!("avx2") { return lib_avx2::weight_vect(x); } } weight_naive(x) } /// avx2 target specific functions #[cfg(target_arch = "x86_64")] pub mod lib_avx2; /// export utilies (such as cross platform aligned_alloc) pub mod utils; #[cfg(test)] pub mod lib_test; hamming_rs-0.2.25/src/lib_avx2.rs000064400000000000000000000230771046102023000147120ustar 00000000000000use std::arch::x86_64::{ __m256i, _mm256_add_epi64, _mm256_add_epi8, _mm256_and_si256, _mm256_extract_epi64, _mm256_or_si256, _mm256_sad_epu8, _mm256_set1_epi8, _mm256_setr_epi8, _mm256_setzero_si256, _mm256_shuffle_epi8, _mm256_slli_epi64, _mm256_srli_epi32, _mm256_xor_si256, }; use log::info; use crate::distance_naive; #[cfg(target_arch = "x86_64")] #[target_feature(enable = "avx2")] unsafe fn carry_save_adder(h: *mut __m256i, l: *mut __m256i, a: __m256i, b: __m256i, c: __m256i) { let u = _mm256_xor_si256(a, b); *h = _mm256_or_si256(_mm256_and_si256(a, b), _mm256_and_si256(u, c)); *l = _mm256_xor_si256(u, c); } #[cfg(target_arch = "x86_64")] #[target_feature(enable = "avx2")] unsafe fn count(v: __m256i) -> __m256i { let lookup = _mm256_setr_epi8( 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, ); let low_mask = _mm256_set1_epi8(0x0f); let lo = _mm256_and_si256(v, low_mask); let hi = _mm256_and_si256(_mm256_srli_epi32(v, 4), low_mask); let popcnt1 = _mm256_shuffle_epi8(lookup, lo); let popcnt2 = _mm256_shuffle_epi8(lookup, hi); let total = _mm256_add_epi8(popcnt1, popcnt2); _mm256_sad_epu8(total, _mm256_setzero_si256()) } #[cfg(target_arch = "x86_64")] #[target_feature(enable = "avx2")] unsafe fn avx2_harvey_seal_popcnt(x: *const __m256i, size: usize) -> u64 { let mut total = _mm256_setzero_si256(); let mut ones = _mm256_setzero_si256(); let mut twos = _mm256_setzero_si256(); let mut fours = _mm256_setzero_si256(); let mut eights = _mm256_setzero_si256(); let mut sixteens = _mm256_setzero_si256(); let mut twos_a = _mm256_setzero_si256(); let mut fours_a = _mm256_setzero_si256(); let mut eights_a = _mm256_setzero_si256(); let mut twos_b = _mm256_setzero_si256(); let mut fours_b = _mm256_setzero_si256(); let mut eights_b = _mm256_setzero_si256(); let mut i = 0; while i < size { carry_save_adder(&mut twos_a, &mut ones, ones, *x.add(i), *x.add(i + 1)); carry_save_adder(&mut twos_b, &mut ones, ones, *x.add(i + 2), *x.add(i + 3)); carry_save_adder(&mut fours_a, &mut twos, twos, twos_a, twos_b); carry_save_adder(&mut twos_a, &mut ones, ones, *x.add(i + 4), *x.add(i + 5)); carry_save_adder(&mut twos_b, &mut ones, ones, *x.add(i + 6), *x.add(i + 7)); carry_save_adder(&mut fours_b, &mut twos, twos, twos_a, twos_b); carry_save_adder(&mut eights_a, &mut fours, fours, fours_a, fours_b); carry_save_adder(&mut twos_a, &mut ones, ones, *x.add(i + 8), *x.add(i + 9)); carry_save_adder(&mut twos_b, &mut ones, ones, *x.add(i + 10), *x.add(i + 11)); carry_save_adder(&mut fours_a, &mut twos, twos, twos_a, twos_b); carry_save_adder(&mut twos_a, &mut ones, ones, *x.add(i + 12), *x.add(i + 13)); carry_save_adder(&mut twos_b, &mut ones, ones, *x.add(i + 14), *x.add(i + 15)); carry_save_adder(&mut fours_b, &mut twos, twos, twos_a, twos_b); carry_save_adder(&mut eights_b, &mut fours, fours, fours_a, fours_b); carry_save_adder(&mut sixteens, &mut eights, eights, eights_a, eights_b); total = _mm256_add_epi64(total, count(sixteens)); i += 16; } // final reduce total = _mm256_slli_epi64(total, 4); total = _mm256_add_epi64(total, _mm256_slli_epi64(count(eights), 3)); total = _mm256_add_epi64(total, _mm256_slli_epi64(count(fours), 2)); total = _mm256_add_epi64(total, _mm256_slli_epi64(count(twos), 1)); total = _mm256_add_epi64(total, count(ones)); (_mm256_extract_epi64(total, 0) + _mm256_extract_epi64(total, 1) + _mm256_extract_epi64(total, 2) + _mm256_extract_epi64(total, 3)) as u64 } #[cfg(target_arch = "x86_64")] #[target_feature(enable = "avx2")] unsafe fn avx2_harvey_seal_dist(x: *const __m256i, y: *const __m256i, size: usize) -> u64 { let mut total = _mm256_setzero_si256(); let mut ones = _mm256_setzero_si256(); let mut twos = _mm256_setzero_si256(); let mut fours = _mm256_setzero_si256(); let mut eights = _mm256_setzero_si256(); let mut sixteens = _mm256_setzero_si256(); let mut twos_a = _mm256_setzero_si256(); let mut fours_a = _mm256_setzero_si256(); let mut eights_a = _mm256_setzero_si256(); let mut twos_b = _mm256_setzero_si256(); let mut fours_b = _mm256_setzero_si256(); let mut eights_b = _mm256_setzero_si256(); let mut i = 0; while i < size { carry_save_adder( &mut twos_a, &mut ones, ones, _mm256_xor_si256(*x.add(i), *y.add(i)), _mm256_xor_si256(*x.add(i + 1), *y.add(i + 1)), ); carry_save_adder( &mut twos_b, &mut ones, ones, _mm256_xor_si256(*x.add(i + 2), *y.add(i + 2)), _mm256_xor_si256(*x.add(i + 3), *y.add(i + 3)), ); carry_save_adder(&mut fours_a, &mut twos, twos, twos_a, twos_b); carry_save_adder( &mut twos_a, &mut ones, ones, _mm256_xor_si256(*x.add(i + 4), *y.add(i + 4)), _mm256_xor_si256(*x.add(i + 5), *y.add(i + 5)), ); carry_save_adder( &mut twos_b, &mut ones, ones, _mm256_xor_si256(*x.add(i + 6), *y.add(i + 6)), _mm256_xor_si256(*x.add(i + 7), *y.add(i + 7)), ); carry_save_adder(&mut fours_b, &mut twos, twos, twos_a, twos_b); carry_save_adder(&mut eights_a, &mut fours, fours, fours_a, fours_b); carry_save_adder( &mut twos_a, &mut ones, ones, _mm256_xor_si256(*x.add(i + 8), *y.add(i + 8)), _mm256_xor_si256(*x.add(i + 9), *y.add(i + 9)), ); carry_save_adder( &mut twos_b, &mut ones, ones, _mm256_xor_si256(*x.add(i + 10), *y.add(i + 10)), _mm256_xor_si256(*x.add(i + 11), *y.add(i + 11)), ); carry_save_adder(&mut fours_a, &mut twos, twos, twos_a, twos_b); carry_save_adder( &mut twos_a, &mut ones, ones, _mm256_xor_si256(*x.add(i + 12), *y.add(i + 12)), _mm256_xor_si256(*x.add(i + 13), *y.add(i + 13)), ); carry_save_adder( &mut twos_b, &mut ones, ones, _mm256_xor_si256(*x.add(i + 14), *y.add(i + 14)), _mm256_xor_si256(*x.add(i + 15), *y.add(i + 15)), ); carry_save_adder(&mut fours_b, &mut twos, twos, twos_a, twos_b); carry_save_adder(&mut eights_b, &mut fours, fours, fours_a, fours_b); carry_save_adder(&mut sixteens, &mut eights, eights, eights_a, eights_b); total = _mm256_add_epi64(total, count(sixteens)); i += 16; } // final reduce total = _mm256_slli_epi64(total, 4); total = _mm256_add_epi64(total, _mm256_slli_epi64(count(eights), 3)); total = _mm256_add_epi64(total, _mm256_slli_epi64(count(fours), 2)); total = _mm256_add_epi64(total, _mm256_slli_epi64(count(twos), 1)); total = _mm256_add_epi64(total, count(ones)); (_mm256_extract_epi64(total, 0) + _mm256_extract_epi64(total, 1) + _mm256_extract_epi64(total, 2) + _mm256_extract_epi64(total, 3)) as u64 } #[cfg(target_arch = "x86_64")] #[target_feature(enable = "avx2")] pub unsafe fn distance_vect(x: &[u8], y: &[u8]) -> u64 { assert_eq!(x.len(), y.len()); let mut accum = 0; let (x_head, x_mid, x_tail) = x.align_to::<__m256i>(); let (y_head, y_mid, y_tail) = y.align_to::<__m256i>(); if x_head.len() != 0 && y_head.len() != 0 { info!("memory not aligned -- performance will be degraded"); } if x_head.len() != y_head.len() { info!("alignment differ -- performance will be degraded"); return distance_naive(x, y); } accum += super::distance_naive(x_head, y_head); let main_block_length = 16 * (x_mid.len() / 16); let x_ptr_avx = x_mid.as_ptr() as *const __m256i; let y_ptr_avx = y_mid.as_ptr() as *const __m256i; accum += avx2_harvey_seal_dist(x_ptr_avx, y_ptr_avx, main_block_length); let x_avx_tail = x_ptr_avx.add(main_block_length) as *const u8; let y_avx_tail = y_ptr_avx.add(main_block_length) as *const u8; let x_final = std::slice::from_raw_parts( x_avx_tail, 32 * (x_mid.len() - main_block_length) + x_tail.len(), ); let y_final = std::slice::from_raw_parts( y_avx_tail, 32 * (y_mid.len() - main_block_length) + y_tail.len(), ); accum += super::distance_naive(x_final, y_final); accum } #[cfg(target_arch = "x86_64")] #[target_feature(enable = "avx2")] pub unsafe fn weight_vect(x: &[u8]) -> u64 { let mut accum = 0; let (x_head, x_mid, x_tail) = x.align_to::<__m256i>(); if x_head.len() != 0 { info!("memory not aligned -- performance will be degraded"); } accum += super::weight_naive(x_head); let main_block_length = 16 * (x_mid.len() / 16); let x_ptr_avx = x_mid.as_ptr() as *const __m256i; accum += avx2_harvey_seal_popcnt(x_ptr_avx, main_block_length); let x_avx_tail = x_ptr_avx.add(main_block_length) as *const u8; let x_final = std::slice::from_raw_parts( x_avx_tail, 32 * (x_mid.len() - main_block_length) + x_tail.len(), ); accum += super::weight_naive(x_final); accum } hamming_rs-0.2.25/src/lib_test.rs000064400000000000000000000037321046102023000150050ustar 00000000000000use crate::utils; unsafe fn random_data(x: *mut u8, len: usize) { for i in 0..len { *x.add(i) = rand::random(); } } fn random_slice<'a>(size: usize) -> &'a [u8] { unsafe { let ptr = utils::aligned_malloc(64, size); random_data(ptr, size); return std::slice::from_raw_parts(ptr, size); } } #[test] pub fn test_dist_naive() { let x = random_slice(12); let y = random_slice(12); let a = super::distance_naive(&x, &y); let b = hamming::distance(&x, &y); assert_eq!(a, b); } #[test] pub fn test_weight_naive() { let x = random_slice(12); let a = super::weight_naive(&x); let b = hamming::weight(&x); assert_eq!(a, b); } #[test] pub fn test_dist_avx() { let x = random_slice(1024); let y = random_slice(1024); let a = super::distance(&x, &y); let b = hamming::distance(&x, &y); assert_eq!(a, b); } #[test] pub fn test_weight_avx() { let x = random_slice(1024); let a = super::weight(&x); let b = hamming::weight(&x); assert_eq!(a, b); } #[test] pub fn test_dist_avx_2() { let x = random_slice(12); let y = random_slice(12); let a = super::distance(&x, &y); let b = hamming::distance(&x, &y); assert_eq!(a, b); } #[test] pub fn test_weight_avx_2() { let x = random_slice(12); let a = super::weight(&x); let b = hamming::weight(&x); assert_eq!(a, b); } #[test] pub fn test_dist_avx_3() { let x = random_slice(128); let y = random_slice(128); let a = super::distance(&x, &y); let b = hamming::distance(&x, &y); assert_eq!(a, b); } #[test] pub fn test_weight_avx_3() { let x = random_slice(128); let a = super::weight(&x); let b = hamming::weight(&x); assert_eq!(a, b); } pub fn black_box(dummy: T) -> T { unsafe { let ret = std::ptr::read_volatile(&dummy); std::mem::forget(dummy); ret } } hamming_rs-0.2.25/src/utils.rs000064400000000000000000000013171046102023000143350ustar 00000000000000// TODO: arch checks and windows version extern "C" { #[cfg(target_os = "linux")] #[link_name = "aligned_alloc"] pub fn _aligned_alloc(alignment: usize, size: usize) -> *mut u8; #[cfg(target_os = "windows")] #[link_name = "_aligned_malloc"] pub fn _aligned_malloc(size: usize, alignment: usize) -> *mut u8; } pub fn aligned_malloc(alignment: usize, size: usize) -> *mut u8 { unsafe { #[cfg(target_os = "linux")] return _aligned_alloc(alignment, size); #[cfg(target_os = "windows")] return _aligned_malloc(size, alignment); } #[cfg(not(any(target_os = "linux", target_os = "windows")))] compile_error!("unsupported os"); }