librime-private-devel-1.7.3-150400.1.5 >  A bwp9|o]@+^.67XUڝK xL/33f91d6fdfdf5e8e0f349a568fb7ad9e485bf6d15f91c9db467f9a3a9d84f3456363a9c420362b6f0bc1437f2b49c0be2a879b4e܉bwp9|,>ؕp3͝억WfoeW[S)PTu,Fe|BMa;ZӠ]> W\q܁bKACZ&vXF.PAiZ^rhb<'O5׈W{{)/}NP[>K2pVXSwdA^P<Jo}ey٭cS X*Tp\4)Oj7۱z ;_KR<ǕrM{]{SSxW8>p;\P?\@d ) B 5;Dr r r r r "r "r$Hr&r((r***+e(+8+9+:-FKGKrHM|rIODrXOYO\Or]Qr^WbXpcYdYreYwfYzlY|uYrv[Xz[[[[\<Clibrime-private-devel1.7.3150400.1.5Private headers for rimeThis package provides private headers of Rime to build plugins.bwibs-arm-6CSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++https://github.com/rime/librimelinuxaarch64z+ M=y<T _ ,   Ck 13! {uX+Aa+SDNw ,>3o   Q D< IA_ p aAA큤A큤A큤A큤A큤bwzbwz`%J`%J`%J`%J`%J`%J`%Jbw`%J`%J`%J`%J`%Jbwz`%J`%J`%J`%J`%J`%J`%J`%J`%J`%Jbwz`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%Jbwz`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%Jbwz`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%J`%Jf00f73ef30f212d12fa9da13224970e2ba0fa35494736b5a16466d1083bace00014eb291c29ba8fad5b5e4e308e98fc21d416e4bf2ddb8e24f0be438a02a1414bf364f420bc1a07b6b2cfaa7ec75020a7ee5ad1af2db31e0c60545c127fabdfbd78b4c247a798180331ac93b174b8f72a54c73cdbfd15ae1ec43eb2ab60887e8d601a0173a9caeb2fc5c9648fa8e8adc92a35c46c2d6dead7eb775e1f0c80ff491add5a5b52b432961add9d611d8ef1083ed2eadab97b5d886e394ffe98f379543241c546f9b21b964c111e9a8414ab5c78f6fe8c1ce41988162ecacb426c4d7c512b376aeb036a5df1f77f055c0571acc783fef98354e6187a963f789e0414d6d2b418a94ed5d8f863b86675670617c4afe221431d140a20947f327eb22ca37713ceb6b285aec4b8bd69ee113604ecef82988e2d335f8967f8e51a29bcd4e6dea2f6c42f697bbff94280cfcb2996528bdafc012316051e1a5abf932932efa44eaf2e5a209fe72c4380eb220b84d9df5b39e03b85381a1748f85d2f72409ee63aa51c01c2046e0d204b02e61a92ab8d85aa2267df8ed5a8027d75d4d203e4d8d45623e19c1271b5b7b7e5239ab3a45434e26e53d94cc92e192453a17a930d2ae1c53a2e510be7dcf6535902e99c653fb48c8c8a530d7796c91a4ce499c3d7bbe884920ca23be446e63bc93f5d20e6ca7fac3f8481e3ba8aeaa3aa90278614b391a4b00ef32ea2149c1d46471e5f45ec36e2ed906855a86b7f0511a814e49b83654bbb0a2730ba2c96bc6c215b232f0b6954af85f771a131c886352b764ce16cf272c833ed8eacf584b4e8584d853021aab16d9a90abf9d3de9b7c9c917eab9e7096cf3ffa43b7b8c95b281338a8943169a413e5c854085115a2a1726418dbc719ccf10bd0124f5ce08bb350be84d0b15409f430cab7fa6758b775c964e3713dc3d978d7441c53bc3b74b94bd39e8c57ad046ee845b81337d46f29639c5ead1e3461ae1d00df23f39a0ba5ea2d6dd5c807d8fe73541ffe7de86c565a4a7c8451e527e6491a602b44a3a0edbb3b228987d4dcf9d22f1b21df926418d04aa7df9d4de7b00fe7de4f50110e5e7d0f6857605cd42530d3325a743e93df881d9fa3704260c90ebfdfb4e346bf93d1d103f81dd45b6daef95ea485691a2957d63e1c38a559c628985a486b87b89f6d66243983568a2c67835129261922963da196a3b6b05246a721c5f619cb6495a396391847b3188d6ee3b31a50ee3176df40f98084286e37813ab63f038b9acce624c414617729aff7c95780a6a23934374b7e9aca6a2f5ea63269794261a8d7b6e167164b04d1edd2de390ba23bedbfa6014cad9a5df1600341f5cdf915ed14161b8d40d4507367f892d558a96d58efcff15de5d2542d62065c0a6a41aafe9c81277ed8b6fa41841e1f05870030295e4e5305d01f8331f39c94fe05df6c7b5936a12387c89d60b18fd9a29a9be7599809b1eaeb2e63ef7727266fea098b15fc445235d49bd2e8e7c580027555831df356cc641b404a4b8abd967376ba6e125ac570717ccfde6686bff4aefba67ad8399082a2c29dcb7927c65010fdb5084037ace789b1e0ed2f812b2388bfbe6c0ea6eda9e6175b91abf0eba5271d3a98c697e606f0e8960b5918dd111bc704a9f4ffc6cbc4db9d2a9b3cb1c9898ac16898da9925be40c945bdf827f36c1ef9022a0def4d60a9c90edee56b92da137c1fdd0874364aeea385614073fdfebcc6d7228f624a58430d2c1f96f9b029a87b717816196c288f2505e424de09c86227a35c5bfb487ea84ead3e02ca8db75ec8e22faeb20887f2c004c56ab078b07b354986473a7ac6b5e25925e401bdb69e4f851a723b1fb936eec6179b04aa09778d88fbd50128386574260909a85cee95d7b1631d83c3366b8e915d46686cffbf18fc04457c0e90b658a0068296d6a105867467eff6390fde2c4940da3e9480234dbb7e3662aa20a11e2b57e756ff0484b84b4a903e38ab0b7e4b5f1effade7dd173617e40714ee9cc9848ec4fea8cbbdffd76459723babec8fe5aebb5a57ad9e7dd56d5beab899bbea5556caef8f054713f52f3b5e49d1b0ebc3d64fa2a61a48fbdabb7e1f17f5e3be3428c6299bd9d2ebb10c1eae77a374ef3a3048b15d48601713b4b3998e152e33daa48b06c867acc8fe5b053acb12f739854ef3ee63bcae53a9b1bba907628502f43a7c1c0b34ae53c9e8e19b39ac1c9dad3429ca2d0850412dc7af910edb49e3ba237330ea22fc387b4446115499c7b574e65c536ba5281f3dd81f8d8c6f7ad551232387223268a4c103af66a7f912a901d95f843c906d997ef9808c0c5af8639ecf96d2bb41361721e6f3519b940387a745f273362b11a63adcc06730ca85490c76fde9609c4c3cfde1fe43bcf4f065d6d5bdc7347225f6632de3e23f37efa9a5793a4427923e60061411266ab6d4c1a13a1bc22318c5cd42a356575ef60c9631e3ca516d4628ae78cddda231fc28ab50c670d8e88bf500b1991c28bdacb726cb580cf5df31731dbb8465a030ece65bd49533372ff927d35ae545ebbc40e9f1eef4a823dd9bf912be37d2586c6153b8d1cde9f8c05c55e96fe5fc2bd1d469cb431eb4d200b23d0e2ea1143c71cacf5a140a94e35d0618cafce09f2dc18f19558fd81e94c792b42555c31f2b9886274744ce64d6ff8bf0d23472b0a0671ab6db372b1762c6a6a389275a5aba24cc9d7b7f1322cbbff8380b2d149e8be861ba916776916d66dfa4c64f3fa205a680e148ef6e490aeeaa2c64132ba235724507e95bba031a74ec1d73a83682490fb0f98fad1670ba099510b5b6e6baf82637c1f720d2bb237a417583769b1d0a906f42fcada94ec8f1c74968a988a2e394939146bf4012841e868080375a4c1905a5e745cb90bb4fd3548d3a4997134f1663bde43511cd3a4a00bd571dcd4aaa1ce7added7e3284df5e8f6977372ba06b21028f7aa8f3330299c038b926e48b0b8a80382e8aa942c4b5cdb0d3f0fa5970efd838426d5d1eb0ddc997fc50d3521c5ccb66d5903328f45e33dfc9483375cf49681707c6539d49788352e02beacc6a70f3f2df4d567a0aa4af0e6ccb047eefff939feb88962f7e89b2a7b7a510e8a522ae3d5fc5b480292fbfe0ebe9e4472241872dea8fa20c7039c0908752294c4a984627386eceb3abbfff81806cf96dc75ea5406bdafc03c740ce14916db4104cbb1ae07de334ffe1fb112a84530cf29c66625b382aaebda324addb2ff9b9175b37be50f3ae596b2ccdf1df2e2d5d91da8220596314d1a761379e950d8b2ff8f4f9ad7bb2523d5eb126bf641df12e7b6b06b7f30077d32be48ad565be6b239fe6a424a78517fc42a17a8813a8958676b203eec960a2c23f9f4d69fa6ead87a7ee235c1441ab9c6bb794b3869e3c659311bdb09f1be4e7dad91cf6f525a1dc0a2098ff23de54c0671ca437a41a47246bacfa69d7a96ad4a4f0bffc1b760f82e06a8c1e37a6fcf02ffc2326d6e1d3e516c24d6d9a3558eb462ccfe247380f90f970d1569d2f031721f5c174cbbc7a9a797b8363d5aa5411be059683c08b4d7084e7de2deccb0e6a0869c20d1f8bc5e6ecfe5ca9af6521e4e41dccef35761ac23584a885a0ea121cfcde92c3898dac10d71454f283fed2a8af16d20651b8881f5edb74786f8fa9e4f71abc7c897dffb5a2458de7ed3d13572bbf5e4e71583d62091c4acd8129312966efe4a72a97c81497ba13c0de9aedb707840f156318f1964be29d8b5bbb5968e38e17b69d8dc1139d6f8ae23b16b51dea35b7ecf27eb476c94418b6e8dd5753d974f65020d86ed5fdf89879b7f09f5b8f0417d235d1b382e0d5c7c345a8a9bbec29e0c079a061d6ccf8089a2f9ca541e31f62cd4c30ed9c3c3ea14047436ca5921105d63964eb531f2e8bb7f7f6d70222ccde28e759d3e37cb1988a49e7c0e1a15869f31fd0dec5476fb08a9669acc611757f1bba03b244d6044b91d2ccd9009e9abba71df16f8fbffedfe6e4a9ffd963ecf8b58c19571e2bfab3300d776aed77bfed4b2d904ce0fb835e338a3282b4dcc9555bf7d54482c61351b40ec59148d90c565538bd89872af6ee9cc79070593d455f2a359aa0e79dc31aa50ce12f5124af91d814e30d14670488f804a55b31ab6543c42e355a930f382558951ef9d47a1562ebb8eba4ce2ddfeba685fabd60a8839b13820483767f697232c34e65cc2e5b371730e823cdc4c4aee08a47dccafd250995898f4da916f1450e1013f58d9aa9d373fc357aac0a1480af60c8e60ffbec2e45494af47517216f120041384780b0554ecefa7ee9392b8d3d6d3db0121830d3209644b65071a3556e65a787d8873a49fb11a9e3bf8576ffa1da21a5d548d840e6599025e8d8181ca17eaa2b2b3231a487d37b019608e123900e710e70f21a00714aa5bdf1d258982b46d7ce31af39dacfb055a457858e33981cabbd2c70d4bc33a89ccfefe3437c2a0bdbc85875a998db780525681079e982fb68d6835073228a68185b838d562706d4b25ad7f3424fb77c7126b8596964a68f4d7b1c7eb22a731e782112e8103a67edb172740e0e5cbb29057662b5caa9c20a574440982aca6e96532209becd5c073e44cd39a2a59d6c40b59481498c306790992900a2afa469bbecf1bc98a60c16ad2746b78d018cde5f4cd5a141f29ae2a770eda60d47da42adb063d25695c5f6631282ecb27640e6fa49881226e03f8742b4dbcc149d9928539a38e69b526fce9a271f37f0c90507bb42d0fa1220052a5d9a0b3de56af3a5221229562c1278ae546d42894fb9f2c9c31385a4abe3a0b9a237a99f72e5aed19a011ca4fa7486bef14ef6e8631acc96f53f3f802669576c0c24rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibrime-1.7.3-150400.1.5.src.rpmlibrime-private-devellibrime-private-devel(aarch-64)    librime-develrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.7.33.0.4-14.6.0-14.0-15.2-14.14.3aa @``@`7@`B`?z@`#`!'``@_h__m^!@]3@\\\r@[;@XV@VVUTgi@xuzhao.netqydwhotmail@gmail.comqydwhotmail@gmail.comqydwhotmail@gmail.comqydwhotmail@gmail.comqydwhotmail@gmail.comi@marguerite.sutiwai@suse.detiwai@suse.dewsxy162@gmail.comwsxy162@gmail.comi@marguerite.suemricg2@gmail.comi@marguerite.sui@xuzhao.neti@marguerite.sui@marguerite.suopensuse-packaging@opensuse.orgopensuse-packaging@opensuse.orgtsingyat@outlook.comadam.majer@suse.dempluskal@suse.comqzhao@suse.comi@marguerite.sui@marguerite.suhillwood@linuxfans.org- Enable logging with google-glog library- Update to 1.7.3 Bug Fixes * memory: possibly dereferencing null pointer (1c2644d), closes [#441] * plugins: buffer overflow in plugin lotem/librime-octagram (b0b435b), closes rime/squirrel#512 - Add librime-1.7.3-ensure_std_exp_can_be_found_after_including_cmath.patch to ensure std::exp can be found after including .- Revert "Change the recommended package of librime1 from rime-plum to rime-plum-go"- Change the recommended package of librime1 from rime-plum to rime-plum-go- Remove rime-plum dependency and make it a recommended package- Update to version 1.7.2 Bug Fixes * chord_composer: should clear raw input after committing text (79b34ab) - Fix compilation errors due to missing cmath header (boo#1185458) * librime-1.7.2-add_cmath_header.patch- install private headers for plugins- Drop baselibs.conf, as the dependencies are missing on 32bit arch and no other packages require it- Corrected the source download URL- Update to version 1.7.1 Bug Fixes * chord_composer: press Return key to commit raw key sequence (2b25861) - Dropped obsoleted patches: librime-1.1-gcc53613.patch librime-1.2-BOOST_NO_SCOPED_ENUMS.patch- Update to version 1.7.0 Bug Fixes * chord_composer: more safely handle the placeholder ZWSP (025d9fb) * cmake: use full paths defined by GNUInstallDirs (bb8c263), closes #424 * opencc: update submodule to fix #425 (3fa1571) * script_translator: always_show_comments also applies to phrases (440a97c), closes #272 #419 * table_translator: index out of bound access in string (ff7acdc) Features * chareset_filter: add CJK Compatibility Ideographs in is_extended_cjk() (3cb1128), closes #305 * setup: find and load external RIME plugins as shared libs #431 (b2abd09) - Clean up spec: remove EOL conditions, move capnproto to BR dependency- revert: Add plugin librime-lua * different upstream, bundling not possible * no LICENSE * can be and should be built separately - expose internal headers for librime plugins- Add plugin librime-lua- Update to version 1.6.2~git20200921.4e518b9: * chore: fix rime_deployer * fix(rime_api.cc): dangling pointer returned from RimeGetSharedDataDir * feat(chord_composer): use Control, Alt, Shift to input chord * feat(tools/rime_proto_console): demo for proto api * feat(api): include candidate labels in proto message * feat(selector): support 4 combinations of horizontal/vertical text orientation and stacked/linear candidate list layout- Update to version 1.5.3: * fix(cmake): find optional dependency icu [skip appveyor] (17a80f8) * fix(single_char_filter): broken in librime 1.5.2 (6948a62) * feat(appveyor): build variant "rime-with-plugins" for tagged commits [skip travis] (eef8c30) - changes in 1.5.2: * fix(user_dictionary, contextual_translation): fix user phrase quality; order contextual suggestions by type (695c32)- Don't rely on brise anymore. * brise is no longer the only way to install dictionaries. rime-plum can install dictionaries at runtime. If you still need prebuilt dictionaries, brise is still recommended.- move binaries to main package- Update to version 1.4.1~git20190324.dcdc301: * feat(dict): specify vocabulary db name in dict settings * chore(syllabifier): code cleanup * fix(syllabifier): enable_completion not working * feat(grammar): compare homophones/homographs in sentence * refactor(Makefile): rename makefiles and change build directories * chore(README.md): add contributor [ci skip] * refactor(sample): migrate sample plugin to new plugin build system * refactor(cmake, plugins): BUILD_SEPARATE_LIBS by module, plus rime-plugins library or separate plugin libraries * feat(CMakeList.txt): add plugin build support (#257) * fix(config/plugins.h): memory leak caused by non-virtual destructor- Update to version 1.4.1~git20190219.c587900: * feat(rime_api): get candidate list from index * refactor(algo, dict, translators): use logarithmic weights internally * fix(table_translator): null pointer exception when dict entries are filtered * chore(table_translator): move collected dict entries to sentence translation * perf(dictionary): refactor DictEntryIterator and do partial sort * fix(rime_levers_api.h): customize_bool() misused `bool` type - changes in 1.4.0 * user_config should not fall back to shared data * remove dangling symlinks- Update to version 1.3.1+git20180822.19cea07e: * feat: always_show_comments option * feat(language): shared user dictionary per language * fix(SchemaUpdate): read compiled schema from shared build if there is no user build * feat(config): build config files if source files changed * feat(dict): relocate binary files to $user_data_dir/build * feat(dict): no conditional compilation on arm * feat(config): support append and merge syntax * feat(config): references to optional config resources, ending with "?" * config_data: transactional copy on write * fix(chord_composer): allow editor to define BackSpace key behavior * feat(chord_composer): support chording with function keys * feat(chord_composer): accept escaped chording keys * feat(translator): add history_translator (#115) * (feature) add codepoint_translator * Fix memory leak at rime_candidate_copy. https://github.com/rime/home/issues/94- use individual libboost-*-devel packages instead of boost-devel- Use cmake macros - Drop useless conditional build dependencies for non-devel packages- Change LICENSE from GPL-3.0+ to BSD-3-Clause to keep consistent with upstream.- Update to version 1.2.9+git20160226.df4192c: + pass function argument by value instead of by const reference. + (feature) translation past caret pos. + (fix) in horizontal mode, right arrow key should not fall back to moving caret when reached the end of candidate list. + (feature) jump left by word only at stops of multiple spans. + (feature) set caret between preedit and prompt string. + (tools) show caret pos in rime_api_console. + (fix) caret on the left side of input or the selected range. + Fix issue #64. + Add a comment for explanation.- update version 1.2.9+git20140802.ee3029e- update to 1.2.9 * CMakeLists.txt: bump version to 1.2.9. * Makefile: add make targets 'thirdparty/*' to build individual libraries. * include/rime_api.h: add RIME_MODULE_LIST, RIME_REGISTER_MODULE_GROUP. * legacy/src/legacy_module.cc: plugin module 'rime-legacy' for GPL'd code, providing component 'legacy_userdb' for user dictionary upgrade. * src/setup.cc: define module groups "default" and "deployer", to avoid naming a list of built-bin modules in RimeTraits::modules. * test/table_test.cc: fix random segment faults when run shuffled. * thirdparty/src/leveldb: new dependency LevelDB, replacing Kyoto Cabinet. * dict/level_db: userdb implementation based on LevelDB, replacing treeDb. * dict/tree_db: moved to legacy/src/. * dict/user_db: refactored and modularized to ease adding implementations. * gear/memory: save cached phrases as soon as the next composition begins. * gear/recognizer: match space iff set recognizer/use_space: true. * gear/simplifier: catch and log OpenCC exceptions when loading. * gear/single_char_filter: bring single character candidates to the front. * lever/deployment_tasks: update and rename task 'user_dict_upgrade'. * gear/cjk_minifier: support CJK Extension E * gear/simplifier: adapt to OpenCC 1.0 API. * thirdparty/src/opencc: update OpenCC to v1.0.2 (incompatible with v0.4).ibs-arm-6 1651966606  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr1.7.3-150400.1.51.7.3-150400.1.5rimealgoalgebra.hcalculus.hdynamics.hencoder.hspelling.hsyllabifier.hutilities.hbuild_config.hcandidate.hcommit_history.hcommon.hcomponent.hcomposition.hconfigconfig.hconfig_compiler.hconfig_compiler_impl.hconfig_component.hconfig_cow_ref.hconfig_data.hconfig_types.hplugins.hcontext.hdeployer.hdictcorrector.hdb.hdb_utils.hdict_compiler.hdict_settings.hdictionary.hentry_collector.hlevel_db.hmapped_file.hpreset_vocabulary.hprism.hreverse_lookup_dictionary.hstring_table.htable.htable_db.htext_db.htsv.huser_db.huser_db_recovery_task.huser_dictionary.hvocabulary.hengine.hfilter.hformatter.hgearabc_segmentor.haffix_segmentor.hascii_composer.hascii_segmentor.hcharset_filter.hchord_composer.hcontextual_translation.hecho_translator.heditor.hfallback_segmentor.hfilter_commons.hgrammar.hhistory_translator.hkey_binder.hkey_binding_processor.hkey_binding_processor_impl.hmatcher.hmemory.hnavigator.hpoet.hpunctuator.hrecognizer.hreverse_lookup_filter.hreverse_lookup_translator.hschema_list_translator.hscript_translator.hselector.hshape.hsimplifier.hsingle_char_filter.hspeller.hswitch_translator.htable_translator.htranslator_commons.huniquifier.hunity_table_encoder.hkey_event.hkey_table.hlanguage.hlevercustom_settings.hcustomizer.hdeployment_tasks.hswitcher_settings.huser_dict_manager.hmenu.hmessenger.hmodule.hno_logging.hprocessor.hregistry.hresource.hschema.hsegmentation.hsegmentor.hservice.hsetup.hsignature.hswitcher.hticket.htranslation.htranslator.h/usr/include//usr/include/rime//usr/include/rime/algo//usr/include/rime/config//usr/include/rime/dict//usr/include/rime/gear//usr/include/rime/lever/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP4:GA/standard/bd4f22c6264211acd0535a0790ae0cd1-librimecpioxz5aarch64-suse-linuxdirectoryC++ source, ASCII textC source, ASCII textC++ source, UTF-8 Unicode (with BOM) textC source, UTF-8 Unicode (with BOM) textK<uvSan6utf-8592428f2669ecde8507b90e32f2071426218f100a2b5b845fc2cc592f3ba8da6?P7zXZ !t/7r] crt:bLL F ;-#$gb r,xdƠ4mxۗ?S\I򩙮S<'/v$:FNa8YLȲІ+QҮrj6{S;@3njiѴ%`׹aoh67brm=53?)^L'zV?'ݽՎ'yr&x*eޯZ154Ds#;bX 1ZJ1aBFɾa ` ":UwH&yf~!'kAk|{l i+7;rL<$x- K4 zM׾v^h ̎ Utul J ,] [Ix($?l­ؿgC3,}r# iF}1}lL}'-$Ii_e"-{Ll .8v v(ye#+nCwXBE=>C]E`vl`T P[ 2Ua Yl8D"2yIm7uj=4%7j{ӎCM@v_q6 (9-h5j&zCsUڻ.pX60I"LwMB["[۸tHLlert9i.Z+y0,`7G2?"] k@<~~S SBP. &/Ya:Nx 硇^-I~c:=ʹC,W>>ΐbW,aIt'_!8ko ۪2/\IFр4^!-)v׮\JfG8 BNX|mĔY9lR6=]'@9F/$v85rR̋QrSt oV\뫏tuq=9g4b+܍ G=5=!G+]ORVNH13wX-4AH{'">.GD1B@#۫xKks<@7Op7SRDh֧`mKbDZ uݮy.:r-;$n.H],f]n}:I }Z5/>sg5ʲ$2f͚@e!HldnGϼT"zMyl3.9P5bD]0 Syt)kFE&2^ D $˦K 0,FƬ l7*enL@d4 Fbxk^\6gQp tc^?G\,Gp+m7P\}8B&N (4BjHwusW\%+y>6_&:y:ѻnf]0u&6dA5Z"}zl?{D[MBKE![b^`Tqr{r ~giˇ_Lz}kv3l3q`tGk)dQt?mPVWgA A(-F"ft$U,Q/wz+aLON W8]Rl%wNp,轇Z@4Z3畝l,e}9wZT=G݈6[DC:N+IPbRG+ߓVq!q-Xlp+eϦ-]EL4@6{eI~w|k͏xN4: v:nlWWXe+f,P=ZI4b`M,{'Fǃc䤎C^2aN}*n9+Nʅ3mT:3̃,63u2պNyp`I߮.IXj\` pΘ6w"ѝ3  (J{T"Lџ :ka#c鱹x _yNc;ac7N֋_'sK92.6"SWB7105`PҚ" 0] )x1T$j8u) IQcŵT N#3{{U~\$OioK[ZSJVc'c<$=3سC[8 eǠTQ2 hܺ͛py@4*[)Gߖ*0 VINz-C!No(]KdZk=FqeQOkOm2چ[5A!ޥRn+k^ IeDf Z46Lׁ %0TKӅy; pw1guYʠĹF vz7.@> l1k3l0Nh!*ӯp8 $ɒkYᾜ=mI7J8χ VSk}3 *oӄmpdƣB76f137 '{nWa򅬰3'-\m9K }ÀDCT._9;P NFЛ BkLƔd2jHK J&e$tWq0 CLN~Z D:֥R,3ob6x|;y#\6dV=r1$7iC|t!h0o.9t|OL1 7 {ڹsHeܹAf L?L k}٭Eћ,M#YGOsI(&*^tSWkGD050岊Hx<ϗ?l`y+C4|bK]KhIMVVqYXmGE`HY+']p:^UX~a^>>u F_8?T> - 6Ay~F *a 0Kk(>!Dgeph޺!+0jܵ} @ۗm"jruǰ_L#yacGUPL02Yq#USH07wݲwԩjҾXy|ung #ԅTkxTѼC**\XGLC,3cvu UB ʳ0OM9a=\6dGvK!$m)|$7EUIRQ5͢lPX 84s+}J"ҩE7(LOdeCVϵ#kTR ~2NI- HM,s0aCD~U+P#8ј]Wʨ4>?Ǚ*U" +\]9-80+|\O=< C %t2B`=jU4NdWi`E9F dspc r'*YtZi&k)U!oԋJh,<@1Eikl=/ ;mLszѤ |+;jDFA1u1&1ر! _Zx{h[H Qڢ]։!;^'>;\ : e irWd2hi ҜR*?v/oqC2kG5jMsO zt wRf J #RG ^hc5ֺuZ=|ﲝԜ.g d#gf2'SD)J!%B44ͳD&b@IӽR߀#o mmڕJXߟk?JRC6'qNc+p.yuݲ`k?qWݗ"V4b3`P$UǖHKMLxBW9͎$ (j:vkfM0^t󪬒tsp.( \YW&Y/i4(1_d9Ɉ4l"5f ezyC(Xa6; 2+/߇u>[#,3b@1TdЇR\Tm`^uxG|2>' bi.nTNe~>Ó7'00%Yq]=*qj#$nw¨Rq+e{ qVF^+pٴ3U4;!$3j1GɅ4hV=Lb$"P."MsDDJ:UUmZ'? aLa%r`[A^C 鸮 X ^ "N8K#]قWrU[ȝwY;&i wi1!p6`-qA_rA6,j(]!GtՅ/sľ2Q@vxNԦI}Np3@!o8-*na̘:gV_ǡbr7MG=E.GG I( 9e{7:r njd-{$0˞i;V~KOH1Ex5IcJs YT3<~wNRŒXغTY;w@BLC!̿^Bh[=*2U#ou2*\/w Ϸ a']X*#F:GDIց"ZyXrn;z4q5~G/݉ԲB3FYt9wyE9䆋IdϬL7٦"Y|a|A`[[[4MY@(ǖJSt'WB}8΄`K c/.yqGhS<$yU"m W%t<kbv{b I8},0,Y.Ed HˇΗN[ U|!Qo7Sń`vrRbhM@*xv`xÉ&X{,Cqk-!\qVmK.=EXM7H䂠|bR^L!Eřo4;!)1txhEI^x%˖/eoWPu~kEQLFraYWU0o(Q%ա~NF2Dހr"M3:!ts/a:`UeL8DFr=ILa;ݏF2KwrEQ!Ym/$J>ޅwܗ,y*_jw9ֺ߫p%~8+{^au\ĢTx]=_f8uX$v[7z%:6QRwљx?"#M@nN~lbzݭOݶ.̜tsm(#qrvZ}Wέ̸0z|AN@u߰~@g r]W||7ϱ2Iɛ H[}Ͷ[+} RݸǢK͵WT3PhIr`G _daM? ^F۱Όp_Oт:.VF8٧LGgsv>r8j+0z K*$beE#f)ar{1cc׺PQW$޽FL!&>MfGdFO =RKV+8tWiC?/ /F/Qã)Tpcl/ˏlegtO"<1Yu9/dߨHx][ !zS#}܁V8xP[Spkݽ|ȩlm2Oo#"yirJ4 Q~92dq:'_%TTƥ VPi)[odk'?Ju`]m,tf!@Nb$\lu8KuPJ6;)trkm(sZ1-Y|=9QԬRo 3z+ܳt>WG:{姶ᒽR$V T;4!;R(.Yc!C"'7'iQ\I,ѤݯlWb]?xq PcSWzWrltv!M v}ٷBSĊCH݉b,/ʓ#lXfICӊwKN;Į TM`mWzJ3Ӱp8-P6 d0t7TkV-ztȀ4jO21q[yk,N%o;Xhgz$ٺ5n#zb9aw &w6/#fs|.Cijj5r<%J >,Z6OmKoSrSˊCADL*rglCZO(a-}#0AҰ}̪v/(w.K&!#UD{ZƋ $!ăXͻkcZ 1ұW {f #CͶ- awwͦ~oB CRgnPT&T&`DIAAp144b~ʟbMv[Šw"a*##nS墂A&=Kc/l|]ĨF(k^(+~ٽHV£VH<Ěcߪ/f*Xm`5kOH.Ѹ\U4gA?8X)Q &3K1}/Id%mu,ӐB#Qg/]%ڵU7vZ$XP"[nX\҇ /SRJ@;D\Bp&Z26'ᡠכ0N1H$..AfZ0v̉ Ė!֫Јag N@)i%0/xи&7ãԽiYjv1u7w(5S)m:}|Q?puUy=ŒoupB}h̿{W4x(uQKK_qc3oVIN4N}J}WL~_}}Hjvh]ݾރ~,J}B&E0ef4nsϾO=VOo# HњyhܿJS֔jO??!+0ܶtԵ0%ɰٮ?ХE)39w農c‰TI}$T}pfT1gr?/!fNOwE/_ЗhFĩmgP^~<8pRLb{"ܐyKB Y+"qKՀ (Z?0 ̮Dt┧F?.9:Æ]Do*X'Yz07Uh? Erk0@>-QtʌhBDV IJ:NJ76@!ff/D qZs(ArK`?.vwɛM1qi ZIW+~Щ:+Fil0c6c$NEc,}z>[&T#zUx}ZdvdeR?W#;(NȌfnJ>c*azȳUyjΜ8a!o{'HIXt#}4ukkio>i86b6|ʞ =ppһ:< #vh>:@\ $;ue؍u41ݸbWB+NiXpe8g #Vds_ļ ]:I;yd)Xσ̉r A$SK(Q0tc#%މq;=Qt^YTw̼i);*;pl"Ni5룏f*ghKXZ |3J^"x;z"YJ&BwDO%(ઍ#u;Ced8Bq'չ.6If߯E{x(7 )=ɫ1 ȂݍyFM̈́z|5>xư^w1HXX +ƕ@ʸ \0KQ"4WQ'BֿIP lfʦy _i~ŅӰgۢzyn5@Z܌6VS ?=Ԁ%e[h ] K~3&q'ƆXKv24DLЂ]jUqX0YMW{P ZP<=j w^̭2'VMٲ%5#^Y𽫺rqSd)ib5Tx.l>l|^l A<db6㲄Iigk縓4ً_0Ƈ5r9.ڋ7V?|.0͊Cܥ*Xx:F zm hzE,'fy7/c{ypFG꒵|)Gا1;I AE'f'A*>wHA4AAHBd ;х \#Z8鑰G+P,‡tۿ&|(&z/2.|27?垏-QXz} *dEFm*'#ШmxcCV!K*Jg]Ԟ:PJ$s-3z8Ԍ0(I+š)(J?ybQG@M 4~5vB,v~ xZ9*T5@8jbG9}`Pj':/Ps6ȪAx]-$az^vOMVMJ F`я'X 7w s3ho=Tm(d.pˀBB O9h9[WezM6w+}ݴTY%1K)Z0uGZvSڐ?p{~oZҸPT>+-if҇%qMsCt N=XПTG˛mҰeN]FL lGe`"nP߯GY6x=$_mq6syxC7= {Y@N/ĥǚ| D_T54) &dh|BKD e%ֶu\,)",7[K<](gW~Gto[7$uIb`}|IY'Hiu g.qgѼ(y~q:b,Dpr{wYp|LLt C)MmWPz, 9869<#-1U+" NI'2NWArrjDd?bIެ~$#c zRӼ AoRًKu .)Ld.[s[]gᒱ&2]{C^+[>*CGi DWƕ-/+@ir w۵V-C-Seqboq4xVV$zR[eBۖ~#d+8Ԛce =SrhK&Fz]8}[C di8dd |K+"s[|6ֻpo[Uv9C/q?>."Zd** $) a#Wlo} UۆWR鎨ImPf'Ө d{PQZIiG84?YpiYCWߩ4?$&깖ѧN=a@pߵ)%nyDQ6;Zsg^W)oP2b ޸!<>FJqLn)y ?Ӗcދ '꘯P @mÂY/`ZtO[ fvfN_jDƔ֯4ahڒhdGcC tHp*G~gR~Rc~z.&Jdgi]zCP9L< y~q/.*ɟOھV7زS{\bfЗ=(woPk4z-bi/я1|N/~=ϐ1럌<0g`ļG|N0zՀ_5x\AYݽ$%'.׼`Z-Ik\`=u6q!nL^Nc.6O[eqx~}NV@bk.}ʆ-=Xm|xU?09_enW/_jgx;h;!``*-t؈D[ZG4II]hgiJ0y&'IU,\S@hh^,"ճmK]Dٵ`YFE[7EF8muCI@MMkrxd|i 2TmI : 4ED2fs(&R"-WÄ둱" < \4nK0!v`1vmIn.@(NuU!d%Bul1|),0wMF?H}Y1"b6ND4"=1--IFAnI6Vqf b[p/~;R2d خ ^utrl8ge(FRua\9wPOͤ[D <|K9cv|pp̸г@kLNts$ýS԰8j7o6(~ b<&]Z"T3b ey WIWO<+%2edy|*${1|`Ǿy$h FG~`DwyIjAȼu+;A07\D-Ja|ͨ?л%qg:$$ήtJؐҫ]HlmVdqh5qbFW)*Fk/ 2\an`T(+CP8 #UA鈦$YP&+&Z0S)- [sKzZ_>#Teh1Ti|/ɜ+S3c BxuaS&Ĉ#ϊeZr('&P88-7?spTD;w _4׍KewDsxܬI?s`QtcZ+B#WK1yGVZT!ݢ* "@,4^CQ3zhY"ˆ@1:HMi)TT::6=Eҙ Gï֑M)vpe4@Ε!E$r۳YbV. )V;Vx34M| 1+'1 RzpH Ɂ~{ZA~lXJ:iRL%uPigT7*01&37ۺG@En*ţd7kyhIs+'8k .W~{,Z.x(lI4)/gyQ\]0;Yjf*fE]<1CL!M+h* i'iHcاNp-QA| eӋmBt7[t6 ¡DZd޼yq&.֖c`3<5oAfq^ƃ.r&ȍ_+-߈5#L6HY /ǯ "W=/-1vT ~h>K|}B'<&Y 9Vuf}(8є!%RPʞ ϵnRG*s \XD'V(N z@ł2;v+"uS_EWݿW3-NEHBճ,)X$C/ś@JJ2;E=Zh0azgKژ$^\_ɞɰMWI qCv~fz)>">5\%Fm'WBdh]_LtGQxȶi:6[@ 7v3C,`]}7dpYKaӂj j`8lY?:òc;2ulDM% s%jM~ATy[BT-!z DBۤ^'t pao*}Ѹ6% IvaF9/ h@Km$ZL BRq Wv8zS)SҜ=)$]V`錗}&kj."Pm @"2aie(Z伩Ѝ2%CyGZn"d\[V0$Y[9$D=425BB7_O$٢4y#!GpT: n2X׹>:4{nńX:A]e573cL \jRv`g;Q1#hq$>ԓؖo&ZKgV:9ne9y _io a6-?!<{B%Mw+ ~iݩ{63DcxC\}P.6a힘sOgtw,l d|_-FOyey:lUwH@ SZރ2'/Mz},ZCO5=)v~3MW7`Pi2&yGGJp:8tSKjy@= ~U! sk[ 16K4i5ee->&sDA` KzZ$Ż:i$L6ҿܿ>,; V qS50&VCۙKG|jl.櫲LڑOlG'Er=s=68FXu{;#'PCfkow..1)db)mfo<Rބe^4>D7ݞ&+PKG O&镙D<]5uB|x}(sId;@V؇F1k ?!l45KЮH$=ٻ(S'oU}Qs6-ܯĂ  }>7%cݾ_j9QS6U >M`zVi "zXzu_eۅCCHYϷuUH=Z=up gt{j'+b!F`CJI&՗K@k+34jf TA`X`2Rb^v `I= S$!<2gIY .CY3j*1[QRn]:_~\+S bh:6)̪u#4us0&rC;m֓Qg^>fgWTU`:$^zoZ@z KVi#01So֚$n,܊-YxW#h93eyRsh¥va?(P='ZeJTo ҙz"=\zC JYF5de7MSg2 &oA*nUz5?Rɋ95®h~iW_ +^>Rii}3O9,`Y'9 sBO+OvAaO]c:ʜofSJ%(s )fC9iT3$J *5rGKRX02nFy)@L hRL݅ͅ3ޑ;3puZNKR Hx^oqϞf|$9ahU8u}u̦"\T>Wc!WyfOV6O3=T!LY)L^ߵd@oa!yJ>Ry0upS(g,xJrJ`G#&wQxYF44!4*@W~}~~AV#\҆ۚ| zҸl$豢01rH4sG/LƃS_Ri޸bO ek4ԭ_m,0!@p>G֕ݍ6^37=Cs×cMÌjE1ݼx||>Uȵ'WA˫JlN//`L/\ O>o'jŶyu$Åc2 2VE '$u6Ag-ZYsz1='}yd|5'EȕMLs>h8_ Uj/w`f,U(:H'/ $./5BFt90JR૖{cnKy){6'zˣޒ1 >\ j}얞u%Tz?( -*vFX7v޴^P^#~/UM0.X #6( 4`#vr60XMF= *uGoUiXa.q+N8eMCI MpdsoaAhn#YC?퀉fə?r]mp a{mA>m$sv篆k1a~wm7\xH/aikff) 1ECrHI}Lu='2o9JcMR[(Lp 0s2r:uLU2 @Wr ʟ=s.Ujl„rC2X2qz(iKϊݕ2 pB@dS.tcVIHP+L~fup ~!UFI]u!QO<7ndXnt^f:v 0ѺhN`QU'zǮNF>e%Q`J8*;),㙱x1+t\Yg:EՌ9iϴ~L-†]WZBe;F7;uÚK0Ibjdv4d P²ʷzEe@ASTT7q  Y ql5͛ͼJc{C#}$}|q˪0\yDh9Ƥ%>$:oewbVi8f=| e ^*JFKrLgU7Q٣dq;QZrɇA:\]sArZ p1W^:ؒ.jV:6gh݅F'nج0{QoѤV+166_e>subvzǂ! ءǾ?Shg_ +_ԎAcHDSnظ-4.nn-;*XV[7TIv&=Ӄh2 |VgqK>c)🺵2_RxT+/yiqN?`]x\=(A4ێ?~ 5ZѾ,P~ը-J&xڣXta? K/Tܺ&Z9#XjH[g.+R*2tZVey:"SLZ23.qϔg7=oh6>լ+TTB 3ԍO}12c%-Wqoi4Ɛ{`Βs9B5J 3n-m$5sJs+p^l|N^> ]A gY6ʿ6ؖQ|!1$} gV<~"(5Q%5>G !pW+moFy<H-(JM7MhϒxTg_ca>&0ř;g3IS;"K :JDßwd@@Fch;PeﱪϽ؅7Toh/{W+rE& _ZW;SU˴ +Qo /xVp -F/GmJ>]_R7CYq<.?E=IbRc˄ժ` CY CW|*aw zJ)z̢B;)WڧҟBС/VͨK\pMT?W` mؙiOB1sM1@x7lSbt(q0(6nxP7f碟m :0⯭`Ph'rԕhg(k@aCω+PDQ R72J,Up\|QbK lFG)_JHP^2T0ue80PWCK.eSt} ބ^5W"̈˂m~)8+kG#5 q(jaeHC2Z?SADn+]PC%a$Ĵh~٦ZT>W^ކo)v4 ᔊD"zm&#'mz6y걊نM̪-AF/n?L/(T;0!.V.`o8[Ul&z;i}?]-߯ *XaMgD00d__An7XwBrG!/j&+ '@։9r|zOyg<5,^{rg-FIjzarxH&3Y>/ҿ^xuO xZ[QR 7/*}TU$+=Bc1_<JExST'!R3B6=_1B^ZN ߜ3v:Xem Y:Kǽl~={s]~ZVrx;2 ]g IC ˈJZ[iXgHtpr6 0!rw SfwDjFjT:h=qZiOO( ,-5`գ0@揬W1cM}<x~iE,ßTv6gt3Xl"Q!nԄ@jFA5"Rf>_xN]^E얓}c;b,9+ͫ*;ﮛbũS[ țT_n(yT-=@qMXEf+3k # Gums݃NxHݰ̳k䩀{x;R9U 1ai\ucP~( Q9E Q.2PX=?Pa0beZZ^SJ"hCb0LBu<v+KbJd )Er7@>;*ߞ!Ot|ev 9Q^?I&9mbm(9yag1> 5,\$mEjFsQ{OkK 󎕸  w'RڧL7T|U*Zi?H:@D~!4~[ȬΔMUBἢR1rm:eia+I bc$j<%QFIsekӭ`Hx.:d {6*ieގ@K]%уܷ\?28Mp1 1җf$[S_#D/T3Qkg1" Up[0Ck'[3jtA7L=D~?ZQC{Yl`ע8wMQ)m?@\[\_w» +tFcYarfO @5<.f Eu'Q?)13/>uX,2Y;c)1ƪnRnT0҉K0|ORQݟNcKz [I1C[hf҃'BX;XJ/r+ [WqȓȄ 6OIa(G;f̖ V~&U/!uq?Viw%+ *zj VG6T::6L,pSQBs:q[C]_OvT7o E(Ŭl?_[)j#Du(A +dw]ڌwÞDtCX Ǭc z|ys[)MmZ!Mu~" w;*r<݇8]WX . W1@/Dy4y5 E=g_:,Ҫ=U>VS^EO·Syo,j8{]{Aj8W CLCmלQ[ ;us7_PY5y>[wٱMi3j^\.n ծ $@E@1h;v6[dR;4rk#]y/P鸂J?֟R =jǍM$o&OibNhd;(T){2P xppol]5-EY( t,.6.GGFCn͈ y@6c'G3!HG2 JV,ܡRbPJMwPDƾ\MjuS]79_RcA=ҟ_NFUm FF4]4o)70b^܎ej:0N :xU3!S@(+z~)o(EE6[̀[k/ZCSkaƤgGk14" M+KwDžb6*[?z _| طc~K8eu7e\4B<<+ê.~a1p5S2o֎Oz zV 즊^ޱI{$xK%2#. [(WrRbޫh@7g ,8^`?3e>;꿩4{[$ o-i Իv˨Ph+Qӭ8)o~mKh&XI8\"|")_w+|\|eskن0Z"mt6-uѴ9^uFwh0arm\5s'y^ Bxtf7"yQ}B7!3I^"h .S%LX78 YB\n6p]Oz22iJ&L(DSkN_7$ZwNHetԴSmnm0 vu'qeڬȻzňWrBW+:4*%ԋ_[bNCUO,F! s_CQcG\`?$ FC9@ qoP##d->];etD%4$PePvUZ3Vhq(kvpLcH#%߉\n iV[CϞ+zڞЈk,mIaX f Jثm:~Tð} hh͋SGoda'W^i_b:.g.J%2 ƖlL!KY; X!I^5PvXS.p|1+۰0nd@L](+_1#nC(Y:*h(,5O)u 4㡢KN\[01˗wf@J,bRFn#ehh-A b|gexl},5 (Hã 'ΠsLSR0 iBA"NREcsQՏ`srКuYDUp{ ock$^L넿y`ۓaT쪑Ƚoh(bkY!]8PH!:“+;6Iф۞;yL?* pM?FcXD~y07}t~M΁ OԱ=d>j_s*WRf&ըOv/$!˓Hk؜[`y[vsv$+ܕ]6=P09.p0WϺ 9+ATpRt+iלvO{6ij])%낒{D|jIMO~- s2̻62o4kH:)jyɗ2>I>Քl켒:ݧ!0[Nwi]\=Ӡ&nˋXEJ}<2or,.]'[#web$Br?/M/km}w0G躍t'cC2JRmyϨ(d6mQƫɌNXQ.;ijqR@mObl/rcJ͗?l쁐L!`*=jDž< 2#2ڹy</p:UV%Puӿ)UUf!Ε2 V^R؎A^hD23O7v5v#q:5gB U淶"oM3\| 2)kAfκ4,s:i!uK=U *Rǭ-v}w]#[BtO9#WDXYY&M(B*HTE76X ibDRX pKl9i6z[̖;3.mtSiӅ7"ۑHs9Po`2_R_sDk+5TSNg%Y'`T [ĬtܻIDgh>$ ۳kywC[Vx\\3QRՌf.Iؗ>!),B#{j Ҕ_87kHӳZ?mAu|nׂ`}f->S @"ڮ;yE5iiuƉ΋RHa< B\s>DTz~"AbDrs,{̵>|-5} o0*sv2\juG*5 z=')7cQc3+C<#Q2>P_E+/Ftw][\