luci-0.26.0-93.el6.centos$>r P;O>@ ?d  S 1\bi ( . 4 &@   X!!!(;8D9Δ:=P>Q?Q @QGQHY(Ia4Xc8YcH\c]k^"bdefltuv,wx$y0 Cluci0.26.093.el6.centosWeb-based high availability administration applicationLuci is a web-based high availability administration application built on the TurboGears 2 framework.X_c1bm.rdu2.centos.org$CentOSGPLv2 and MITCentOS BuildSystem Applications/Systemhttps://fedorahosted.org/cluster/wiki/Lucilinuxx86_64if [ "$1" -eq "2" ] && [ -f "/var/lib/luci/etc/luci.ini" ]; then installed="$(rpm -q --queryformat="%{V}-%{R}\n" --last -- luci \ | sed -ne '/^[[:digit:]]/{s|\(\S*\)\s\+$|\1|;p}')" new="0.26.0-93.el6.centos" # NOTE "new"/"old" used loosely until settled old=$(echo "${installed}" | sed -ne "/^${new}$/n;p"); old=${old:-"${new}"} echo "${installed}" | grep -q "^${new}$"; taken_over=$? # 0~true old="${old%.[a-z]*}"; new="${new%.[a-z]*}" # drop dist tags [ ${taken_over} -eq 0 ] && orig="${new}" || orig="${old}" # backup f. tail # settle down old is not newer of the two and viceversa if [ "$(echo -e "${old}\n${new}" | sort -V | head -n1)" != "${old}" ]; then temp="${new}"; new="${old}"; old="${temp}" fi # dummy (non-bisection) + optimistic (don't trigger on same-ver reinstall) breakpoints=" 0.23.0-1 0.26.0-53 0.26.0-72 0.26.0-89" # neutralize newlines for breakpoint in ${breakpoints}; do [ "${breakpoint}" = "${old}" ] && continue check_order=$(echo -en "${old}\n${breakpoint}\n${new}") if [ "$(echo -e "${check_order}" | sort -V)" = "${check_order}" ]; then mv -f --backup=t -- "/var/lib/luci/etc/luci.ini"{,".rpmsave-${orig}"} || : break fi done fi /usr/sbin/groupadd -g 141 luci 2> /dev/null /usr/sbin/useradd -u 141 -g 141 -d /var/lib/luci -s /sbin/nologin -r \ -c "luci high availability management application" luci 2> /dev/null exit 0/sbin/chkconfig --add "luci" || :if [ "$1" == "0" ]; then /sbin/service "luci" stop &>/dev/null /sbin/chkconfig --del "luci" rm -f -- "/var/lib/luci/certs"/cert_rnd.* "/var/lib/luci/etc/luci.ini".rpmsave-* || : elif [ "$1" -ge "1" ] && [ -f "/var/lib/luci/etc/luci.ini" ]; then installed="$(rpm -q --queryformat="%{V}-%{R}\n" --last -- luci \ | sed -ne '/^[[:digit:]]/{s|\(\S*\)\s\+$|\1|;p}')" new="0.26.0-93.el6.centos" # NOTE "new"/"old" used loosely until settled old=$(echo "${installed}" | sed -ne "/^${new}$/n;p"); old=${old:-"${new}"} echo "${installed}" | grep -q "^${new}$"; taken_over=$? # 0~true old="${old%.[a-z]*}"; new="${new%.[a-z]*}" # drop dist tags [ ${taken_over} -eq 0 ] && orig="${new}" || orig="${old}" # backup f. tail # settle down old is not newer of the two and viceversa if [ "$(echo -e "${old}\n${new}" | sort -V | head -n1)" != "${old}" ]; then temp="${new}"; new="${old}"; old="${temp}" fi # dummy (non-bisection) + optimistic (don't trigger on same-ver reinstall) breakpoints=" 0.23.0-1 0.26.0-53 0.26.0-72 0.26.0-89" # neutralize newlines for breakpoint in ${breakpoints}; do [ "${breakpoint}" = "${old}" ] && continue check_order=$(echo -en "${old}\n${breakpoint}\n${new}") if [ "$(echo -e "${check_order}" | sort -V)" = "${check_order}" ]; then mv -f --backup=t -- "/var/lib/luci/etc/luci.ini"{,".rpmsave-${orig}"} || : break fi done fiif [ "$1" -ge "1" ]; then /sbin/service "luci" condrestart &>/dev/null || : fiDZSL%+,((B% %  D < C C;;"'j'j;33       _!! ;;+p+p  +o+o    $~~i Y  ">  Txx/ c c6NvvI!t!t_ **<ssKee   ((CCCC !!S9l9l  q{##7""**!!**xdd]vv1SS XXV+HdHdxx AA 3 3!DnZZffWEE[[4[4OmmeiiOrr8.|xionweAb-s$2~%6@ %Fya'6 G^,i1W5 u6} uG.Xz O-e>- @#VE% =<j : $Jl* k['9X3\ [  } y   F5)>)>Z|5r 8 8!F')큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큀A큠A큤A큠AX_X_X_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_OX_X_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_X_X_OX_OOOX_OOOOOOOOOOOOOOOOOOX_X_X_X_OOOOX_X_OOOOOOOOOOOOX_OOOOOOOOOOOOOOOOOOOOX_OOOOX_X_X_X_X_X_OOX_X_X_OOOOOX_OOX_X_X_X_OX_X_OX_X_OX_X_X_X_X_X_OX_X_X_X_OOOOOX_X_OX_X_X_OOX_OX_X_X_OX_X_OX_X_OX_X_X_OX_X_OX_X_X_OX_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_OOX_X_X_X_X_X_X_X_X_X_X_5b4a180ec42b5e9862d33f18f7c20383a428e1302684fb906b5aa43db2940c94aa2401f90a785a3fdad47b0e2873b35f8de22ea96f24951344f06a7136329bb1bac17f8048f3b391717b75c752ab0070cc78d419cceaec85f8fce7add1c717d13ae0e78c4f4fe1aac1a941d23d404adf308650191355d3652ab584542cb5b0f13b9b9fb5c1a066acd809609ed312cadd20cf9ca6f3ac042c798af9f18b661a1f434e1921b577337a570421c5c95f8c36b431fb6ac86dbea949f1693158610f42c61f4c087cd0e9f0aba5b8b127dab157e32d449c5cdfba50d102f1eeff01309201ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b3e8a900556b252c38881874a41a9c3e75cdce017b7d7a521c8835670fb658d953346f9108345b1a71ddc5a5c626bbb977c84adc0d440f00d9459737ee124c9b3f29b902a88e4fd907ae8b5ef6a1fb2ab34bfc24f3af5d566d20e55fc6e48c6a572f79537c77fcc039a703020df8191e7cd8f168c2f4627daaa7825520f2af9a028bb4e7a75ec2ab9f551fc8918fbe7e248486b883ae3ad3d69be3c5f5cc058de2d3f319c1bece4c2c9df939ce5ea7b423ae43eb12a460e1e37fdc3336e3ffe3e2d3f319c1bece4c2c9df939ce5ea7b423ae43eb12a460e1e37fdc3336e3ffe3e3bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece208838afa27474c2aab4e7764444a9a3481324d80d926f620c07c3ee36eb55b1c7545eafa27474c2aab4e7764444a9a3481324d80d926f620c07c3ee36eb55b1c7545e9193738be7da3cfceee00d52d0595f0b0fa7590335852e5b35e06ea0df698ab59de80bbf3268892b37d9f23bc4e142789556920b5a62d116b4918a92f517762a9de80bbf3268892b37d9f23bc4e142789556920b5a62d116b4918a92f517762a963a42e37b09dc38a2333fc80f87c244341fe7083beddf8ebc5f0881e17e13ecefea39db10bc7234a1ff8a72cb02d522f2c49e6a765854d8b92e258442bb2c814ed439089c3235265faea3d38cb659cb46d49ca0bc8ae6a62688ff5a3470422b4ed439089c3235265faea3d38cb659cb46d49ca0bc8ae6a62688ff5a3470422b126506a6dea2350216152e603f6c7dee4a834111739c8950a5c687539919a727d844d27d029dc39cc27247a863c482c76c0956da28bf8f072f92b0771c3d020ad844d27d029dc39cc27247a863c482c76c0956da28bf8f072f92b0771c3d020a1735d619a5c0ac25f0fea7a29707440c11da716e335246636fedb3c5101ffe420b36c8f81c3990536191e3ca236a934553886657d14fb27149393319523901750b36c8f81c3990536191e3ca236a934553886657d14fb2714939331952390175a37da695f108350982cea9cc9b4179fc7b94be7ace9c1cc9929ea1d417cb8ad6baefd901db059bf783bc3baf9cfb3412ae65f7aac14d9a779decc281667be99bbaefd901db059bf783bc3baf9cfb3412ae65f7aac14d9a779decc281667be99b30706dba0134eaf426a0a1fa5e8f2fbc23a06ac4318c546d1a935b0fced4b6d585592f1b3fb4df1733c176f28144631950c0475be3af8517c567d9eaed04613185592f1b3fb4df1733c176f28144631950c0475be3af8517c567d9eaed0461317ec2d551618f1f79cf06880d052220fdc29e3a33c998e839b4ee57f12042a00dd634dcf98183d949183616cd91798ff14e0aa5c784fdb085898b0a5cf0a36c71d634dcf98183d949183616cd91798ff14e0aa5c784fdb085898b0a5cf0a36c71c0366e284cc8aa7e94aea01be7a64e35b6f92ecc2a6a96a39a3b05f167a653b14cd99bfe8c20af9886da54db06738c61ca8d1e53496a58b4571b6f92b7375dcb4cd99bfe8c20af9886da54db06738c61ca8d1e53496a58b4571b6f92b7375dcbba227fcba0a961f6eee8c1bb6012bba8fc84c697b0f20518ee623972fdeaa7eb79008049bb6307d558f9537206597e3e5314d6a5f6a3fedca6a3ad4a2339d40d79008049bb6307d558f9537206597e3e5314d6a5f6a3fedca6a3ad4a2339d40d58a5080fbe9ec139fcccf622e5ec705200efb835b6b033606c3169f2715ba57bc092fe002aac8e5407bfbf3216db4ea3db5967643e377819a094e557169efb11c092fe002aac8e5407bfbf3216db4ea3db5967643e377819a094e557169efb11fda598be422b3e5fcea6070b010702cdfed6de683f33f2235a6007470b65ebca1f920e5ecb81fd9f1ceba9f0f6cadf4ba7b86b55da9edb4b2803b5a188eb3eff1f920e5ecb81fd9f1ceba9f0f6cadf4ba7b86b55da9edb4b2803b5a188eb3eff252999f31c5a45af4c8ab5f81ed04b1215aa06223fd998674d11589a63443f889f8836c782bd8d115683b36bada11f46e2981529f8fbfb4d337bd444725376b59f8836c782bd8d115683b36bada11f46e2981529f8fbfb4d337bd444725376b52e38d8ede63b63d56c80f5228d7caac11b05d60bf4984280fdc0baa495c9c97d4cfa97ad853f981623466c267bdbfc55fccb3c7cde6b87cb6a4bf850fffe78264cfa97ad853f981623466c267bdbfc55fccb3c7cde6b87cb6a4bf850fffe7826633c37c50c8707f32eeef393f73034d15f6c5781d2fd612e28233da8bb18088cabf25fc4dc82d665475d192eca862e67fabd664280426d6e6652d59a979f9a3eabf25fc4dc82d665475d192eca862e67fabd664280426d6e6652d59a979f9a3e460b1080a509473dee962af412ec8505a568ce0aaed35d50915fdc36df4e732159f3dee8a35c8e5b0ba472181b0f897f29845474010268371f8585cd507fb0a859f3dee8a35c8e5b0ba472181b0f897f29845474010268371f8585cd507fb0a8da6b84611751704bca30ab609a4ee55cda7c6215d59e5e4bafe0ec7e04933409a0b6138af3be5286d409f16b85f516fe85c4a9db304ddef465c6ad131b0ac2eaa0b6138af3be5286d409f16b85f516fe85c4a9db304ddef465c6ad131b0ac2ea42cbc5b3663cb19a1d22f077e3bcafebe6c9b0d91287f6103bf0b45e45592e22cac3c6aad6fdb6e36929ff8f42b5932e6deb6f2e223294cc85e5adff266c470bcac3c6aad6fdb6e36929ff8f42b5932e6deb6f2e223294cc85e5adff266c470b2be748e87db2b027fd342baa4de2edd29c98a3b42883faf6b40e55a26c527fb46aca2360b4e9a2dd09071536ec7c729a0aae69ab3628215ad6ac98edbcb065e76aca2360b4e9a2dd09071536ec7c729a0aae69ab3628215ad6ac98edbcb065e7679635a123c0853228edaba8d21add076f6942fbaeb3d0b51704857e3ceca9d0408013683007a0128f8899d31e06cf6e2b35946137bf78e293c4e314fcfd22a8408013683007a0128f8899d31e06cf6e2b35946137bf78e293c4e314fcfd22a8515f0e3f676a739036157e9718171511ebe2da72921ff6abde37e22dfebd712e013e02c54632d3b0bd8635172a46a36b544ed64abd2a74f89a9e60de9cd7e7b0013e02c54632d3b0bd8635172a46a36b544ed64abd2a74f89a9e60de9cd7e7b08aab34805444160035f5289f5725bb28236c32edc78a971b8a3e378654299168b0f278241a312ad0645356476194b6920cac3379c485322c281c5310322f89deb0f278241a312ad0645356476194b6920cac3379c485322c281c5310322f89de3118d831a52c45b7ce1065a1e5363440b858ee7e87284ab6b39ee7b651357448f676b32b352fb0836403b37d868de2a5263c9b0cac462371d38d31b3e028a24df676b32b352fb0836403b37d868de2a5263c9b0cac462371d38d31b3e028a24d88569b96b80a22df02711616884647040f6224f62af32122d03cf2ddf873d1e831a9ab3ff76b53ff19f8c1b93e522b1fadc884e720ed4d3bfa0d6ae807c7707831a9ab3ff76b53ff19f8c1b93e522b1fadc884e720ed4d3bfa0d6ae807c7707883b4d954222e836a02e7ab2be5cdba2c9a145c525f6d68de6d847686539826ecc75ec51c291b0611eb3f42ca5ea946dd545f0a1462b90fa307841b0234b2a19fc75ec51c291b0611eb3f42ca5ea946dd545f0a1462b90fa307841b0234b2a19fd666b97e5752359119d820b335c6dee7f014b410e843685195c50a1cd43232d247da6c941e4b0d3a1a283a17f0b71df723f914cf5b6401bd203d794eaad58c9147da6c941e4b0d3a1a283a17f0b71df723f914cf5b6401bd203d794eaad58c91ebcc382d4ba5cc2e5cc143c833da3b1d34da4332dec85cce876b801ef95e7106e59983e8099ce67039b9ed3a9e99d5944487e70819caa90a77113df042267ea2e59983e8099ce67039b9ed3a9e99d5944487e70819caa90a77113df042267ea290cf11ef404d08c749cfc9eb3e10454eb8f584ed83c31fcb9ca5fb69edbd92126e1c1a9f8a68c6ce7d095b62ec9103b67373f265f1775d5e928eaf3aee9b8ecb6e1c1a9f8a68c6ce7d095b62ec9103b67373f265f1775d5e928eaf3aee9b8ecb2b19cb91942d1c66b527ce8b288cfcc03cdbe3b7e8d24ef39df6d9c5b6be459ac539ad8f8c83824245fdbba30793fb05fe68d489d07cbbb7f4e13a47f46e424fc539ad8f8c83824245fdbba30793fb05fe68d489d07cbbb7f4e13a47f46e424f3c6cd67bac3e091b9efdf09bb5d2c7a5ec588d8ea6a1b9c336d5afff8caba7a5de358f67d88020b45838f4c13596652b8e4deebcfbca4b996ef1b0946c3c68ddde358f67d88020b45838f4c13596652b8e4deebcfbca4b996ef1b0946c3c68dd83b41310afbc2a7e41760535b94f2cdcb8f3a2e4237ec4f1f1403448878b173845295753bd20b7257f0321b9c6dc00d406032ce92a87f4c5a29b977c827d6a6845295753bd20b7257f0321b9c6dc00d406032ce92a87f4c5a29b977c827d6a68f2a47cdc091c1dfb0d89edc2bf4e9469fcfd11d45a2d0da20599772a68763d86c5447b8dce3fd03bdc82835c85375125bc8916b884312fe91fed1b2db4ab5513c5447b8dce3fd03bdc82835c85375125bc8916b884312fe91fed1b2db4ab5513cd4b0541d2771d22cc40c2dd0141a9fa73bb2343b34cb04d055be75b76a27e8a44c111a1d8c3d15148d414fe2ab88d39f3e91433a8465b0083f14edc6b782c0644c111a1d8c3d15148d414fe2ab88d39f3e91433a8465b0083f14edc6b782c06196917a8188e6409623cd795eab3859d2a7dafefd9e818ef3f51b2f7aea23c14e1ed102f521e20c298989d789332b3feb34c8e2f1ca5119375af60604e52ad9de1ed102f521e20c298989d789332b3feb34c8e2f1ca5119375af60604e52ad9d2b2d4df8e7611a645c5aeac203d67f07fbdf1eccb46e2da11b0fcc9f27849933225b10df3e10fd88d4dec6fa0e189b8f9c0eca752199d0e360be4f3fe09cd6f2225b10df3e10fd88d4dec6fa0e189b8f9c0eca752199d0e360be4f3fe09cd6f282b53d300074793bdca0bf8086506335bfd87da11c3e53b5a815fd914a416ba7d30c9f693c6b48b45d4d50d3994b66da560886cb111a8998c3f4934da80b3bd5d30c9f693c6b48b45d4d50d3994b66da560886cb111a8998c3f4934da80b3bd54205bc80baab4df39384e94f5e82aa504f8abcc403997491ed80f2c41651e486c8720306bf4172569d7c91b04c38445818fbf251184ca61045a55b6d96c40648c8720306bf4172569d7c91b04c38445818fbf251184ca61045a55b6d96c40648b622e9a97b291d6f61af08a53e687946014a9a0e1d221a558e2e00f4135be51be42fe0c03e45591a4cf34a9131249dbd0032d59c3e593068d0641b46e62c1572e42fe0c03e45591a4cf34a9131249dbd0032d59c3e593068d0641b46e62c15726c87dfe8981fa041c699b9b7fbc820d7499d1f18f66aa327bc64799041130f306df04bd5e48c1bb8a299b9d4449577b135777fbc0f07888e51d320ad2e687a516df04bd5e48c1bb8a299b9d4449577b135777fbc0f07888e51d320ad2e687a5188b09199f7e3ca5f01bb35e78c52a82a3e096b971abf3482bb947f5b9c2f9cb5abcbd8ef4159039ac40f1b2fa8675f8ee094cdba7e9fb99fe2426b39800c7f5cabcbd8ef4159039ac40f1b2fa8675f8ee094cdba7e9fb99fe2426b39800c7f5cfb9024bf57bc4e26ce6c1396ddd885ee57fd4c6aabe3841e0e84b7f0303bff611a124ded32e94920a392c594dc367a34688347f5a6cc60af734d570f19d1e73f1a124ded32e94920a392c594dc367a34688347f5a6cc60af734d570f19d1e73ffd1791c69c351458109ce5621d1cb32af857806536e9fc2a1fa2bf18e26fe41c70569fc06776a4a5b7ea2b2d0a8e36f171df7deadde4cd34de616b1e1e56defd70569fc06776a4a5b7ea2b2d0a8e36f171df7deadde4cd34de616b1e1e56defd6842d046466a5d27442da38b4fe361e696f83641f8028daa4e5dd97cec3b0a8de1bb6a52eb79370efc116d4fb3df19e7fa4ae3d4a05474c9ec5560ff6a1c555ae1bb6a52eb79370efc116d4fb3df19e7fa4ae3d4a05474c9ec5560ff6a1c555a6d643fa95d976ed8c2c0287bfe782289d3835cef85d5e2f60e81cc1d4beb7bc8857a8db1742f09db6cee221e0ab1c569dbbb541b57b223b136fcacd0d537b179857a8db1742f09db6cee221e0ab1c569dbbb541b57b223b136fcacd0d537b17949a39909908102801a38044a80bfaa99eb1421502d314215e84d9f2e2b7abd5f1aa7da40e42ace2dd7db7570f268b771402cd94389a1a67e24f94464ce029e6f1aa7da40e42ace2dd7db7570f268b771402cd94389a1a67e24f94464ce029e6f8ea586873ed890e7ac6ef0409eb04624f8480386c2319e47c9c9e95e65ee19b3551dc34ed399f86894186273552479421813cd099e8ac6b0cbd317b29a7245f7551dc34ed399f86894186273552479421813cd099e8ac6b0cbd317b29a7245f7e3033b6761be7634c4f7e2cb92f337f6dc03bbbe45c86ce7fa28356bfea471bdc1e983eba3df342cc610a5434e6e94a9267a25b5098dd47548065a804aa26bb1c1e983eba3df342cc610a5434e6e94a9267a25b5098dd47548065a804aa26bb1dbbc404d17c7fe421d208a3359e4a3d58d6abfa59efdaede657bf9d866024d7117f38d2b49b01c99d374630b4dd6e4cb010b5d6da56e5dee7efa4d1fe5e03a0f17f38d2b49b01c99d374630b4dd6e4cb010b5d6da56e5dee7efa4d1fe5e03a0f98eb6606282f6638ba07e762ea452e54278868776a71e42e408d3f9a87d70edb85ab77235f2e6060f694958a0abcc8c3f642eb61d73b9abcbe4e5fdfcc3b043685ab77235f2e6060f694958a0abcc8c3f642eb61d73b9abcbe4e5fdfcc3b0436e4d4e42ccdfb4ae78bcf8859feaca778506c37a6cec7dcf767c0ed934621bb5efdc2f5f1fdff9c9177eeefff3bc3ea48d2a9a558086b505dafe14a95ffc855b0fdc2f5f1fdff9c9177eeefff3bc3ea48d2a9a558086b505dafe14a95ffc855b047be7f0af441a39fd769907805fdff264b84023e5552d449c4b0a1e4fed026e96d1b16690c55cfc55c571d6520a235a128148865fc15343cbb00ee06284bb9d66d1b16690c55cfc55c571d6520a235a128148865fc15343cbb00ee06284bb9d6593f78a8009b35116174d50bbd37d5f43bc711b63b039dc7818e47868ebbca9d8b4d25836c3d1c4735f185a8f96e44deafcf85de4fb881358f908bea4dfd73dc8b4d25836c3d1c4735f185a8f96e44deafcf85de4fb881358f908bea4dfd73dce26020270b932a6f85d2f5f1476d3ae4221f737e33948d670e489b4c1e235549947fa074d1132f53ce3d6c511a030b014fb528891a6823f7763f031f4d3c750b947fa074d1132f53ce3d6c511a030b014fb528891a6823f7763f031f4d3c750b56892592cd569c213dd0399840f59779d87b5c8e50f82d4a6d10f78dde94787eeb5dfc9c8e21e96d1b3111fad1cb043a1b234ebdd49d3f8f108c1c57558fa3d6eb5dfc9c8e21e96d1b3111fad1cb043a1b234ebdd49d3f8f108c1c57558fa3d6ebc6af978a49456b82308fd2e7b23d4109c9b640d3df6051149edbff6c3ec08f7144025e61356b3dac0cb78abe01e88d1de415635a2c05b26c55928afb474f7d7144025e61356b3dac0cb78abe01e88d1de415635a2c05b26c55928afb474f7d7f1b9d54ba7945b52bff74e8bbfa82000c186e3137a9c3ac255a23eb08c6e5beef597c82ecee0d7c4c5699b3b1e397f4c509ab367a0a1f782ef337f251d05c9aef597c82ecee0d7c4c5699b3b1e397f4c509ab367a0a1f782ef337f251d05c9a9f620a5c0a8aba0d3ce62d247345c7d437fe7fafddc546b295bbbed8cb3ee824d3be338900d6ec804754afd70ab1e955d768894cfe2d6f4cb47a9a0537b0908ad3be338900d6ec804754afd70ab1e955d768894cfe2d6f4cb47a9a0537b0908a39187a12f3fd69748ad96e53931aaf6d449fb800a74bc77c08d3a953a188b878597edb50afa754aafdb3874825b70d63307befba7c13e89efc9899a20eab547f597edb50afa754aafdb3874825b70d63307befba7c13e89efc9899a20eab547fe9d229a39fb9e86c7bbdd3279af5c3a9ba3d0cc317f9e76bdf3388225948c3eab526313d95621ac967bb23f285ebf0f5d812684e648c5caf85d95b71fad0cc27b526313d95621ac967bb23f285ebf0f5d812684e648c5caf85d95b71fad0cc27dfddc3d2140ee4abc3854f1bfc7d5c8d7d40bd594d489e7254733061a9de24309922ba58aeee8b102967ce3f3801908a7e94acab4c00521409b1124b1e0a9e599922ba58aeee8b102967ce3f3801908a7e94acab4c00521409b1124b1e0a9e592cac4a28e68e6138ac3c9c6283de571fe1ad26d3250024a42607fc5c4f8d1c90cdc5c0330bc1ae65a77544457f1d87c0f38dcb491fa722724a2ef1831196ded8cdc5c0330bc1ae65a77544457f1d87c0f38dcb491fa722724a2ef1831196ded833346300a8ed7d1d5d1d9dff4b44f4c4a3416ea1f27a54a83609b390e3ee47ca27b60bc323115b97531ea1b90bdf4c458af4f423e782114bc2d3131e0a15dc2727b60bc323115b97531ea1b90bdf4c458af4f423e782114bc2d3131e0a15dc279b8c659de36f1149bd6d402b78afa49dc6f410da6606f74867d1ebf33d5fc3e4fbe121cdcdfb2345a659534630ec36b8c4e03acbc6f4403dad409c2f2301b2b8fbe121cdcdfb2345a659534630ec36b8c4e03acbc6f4403dad409c2f2301b2b860309a101b2843576406c1d584cc3492b433cd9158914ee7a9e9195d1372d5c83ccef63cdfa6bfc241fed0b2d27a654c474297b6533ca044b00f1fca6faf9ebc3ccef63cdfa6bfc241fed0b2d27a654c474297b6533ca044b00f1fca6faf9ebc349d182ef37b80eac7154ceffb38998ed7d82cdc3162f5be33a2dfd1bdbb278f0832a41a8852f4781f4d1f2ba3bf1f2f222ccc538ddb4523481a09a6bbed39030832a41a8852f4781f4d1f2ba3bf1f2f222ccc538ddb4523481a09a6bbed3903b28d2296b937d17f1493e9b83d6f698dd3184e042f1ae187e20ac1a228c703331fb36f37cc69de36794ce11266bba93e61c974a839362bcffdb15766891a38dc1fb36f37cc69de36794ce11266bba93e61c974a839362bcffdb15766891a38dc6f45dc12e5513755b80b72ff41e4eda6e20dd231967bae9dbbd0e8d074665208ab92da46692097f635b4465ea0e46cfc4f36d5e0424a88145d74a27463c5ccdaab92da46692097f635b4465ea0e46cfc4f36d5e0424a88145d74a27463c5ccdafa8dcec00cf13099b626c14bf90f6f518da89d8746badf5086edef1c48100b959e2c3b89340e6372451f6d5fb6da981ac52fd3620cfc347c9ea3b37f3661424b9e2c3b89340e6372451f6d5fb6da981ac52fd3620cfc347c9ea3b37f3661424b2539b65855a24ae30f600df23d2cabfd62c0aca481041d6d6cbbd5102bbbfa6999a30d328e05cb5cfd0a0572f416e3f9b474c8c02c11cc56199b51dce67c1d3499a30d328e05cb5cfd0a0572f416e3f9b474c8c02c11cc56199b51dce67c1d34f9f3e0d2d86df21e47aea10610849021c6a62a521fdc609baa082ccd1b76e2f0b887e6a1616797e98718d5c0c9b8021bd432f8e30d3d29da88e85e8df0d445b7b887e6a1616797e98718d5c0c9b8021bd432f8e30d3d29da88e85e8df0d445b79dcfb0d38bef409fbd31155faddaad6a25dedebb5fda03adb4dcd293f949a2962919c48f323aadc896be3d2410bfb53875d9d939454b2749275eb819aa73e0f82919c48f323aadc896be3d2410bfb53875d9d939454b2749275eb819aa73e0f8febd70156413f83af99ba3920577886bb5bf72c4698a5cdbdbcb069f6380d28b017f5c48aff047ce4a877b9cfa5ca410afabdb27806f90d1e099084345b3e797017f5c48aff047ce4a877b9cfa5ca410afabdb27806f90d1e099084345b3e7975aef95657cfc447df93291db9d37e098bb3b08ac98629eaf03ec48ccdcd4d60be53e126a0c48b01ae6e59de1a63748f46d6ede8ad04bbf692c92f3a5652b08a4e53e126a0c48b01ae6e59de1a63748f46d6ede8ad04bbf692c92f3a5652b08a498280b6fdbe7f564b964f308d201688029fb7de4e859d0bffc99f24f8f6d4624cc0d5bf3a45d35dc2a279caf46b878fdcd6f647356328f682903c6a2d419db34cc0d5bf3a45d35dc2a279caf46b878fdcd6f647356328f682903c6a2d419db34102f0afa617b9a6b743722cc351de04babd1d2ecf2db289ff3c9ee505c82e9cfcbcfe325bc317ba7d8ef4be460f979df8cb8de15f12db2ea867afef5e6ecaed4cbcfe325bc317ba7d8ef4be460f979df8cb8de15f12db2ea867afef5e6ecaed42ee9dc8d806c0b5edefeb551b2b0e273f6161e4cf91e79231d45e67a9ffb83b39ac5fb71209b7f031dfb6791f7a5d8e7fc70169768dea69519ffebb2472001cd9ac5fb71209b7f031dfb6791f7a5d8e7fc70169768dea69519ffebb2472001cda7bc703efc0ed1f633765478634d62fca7d2bdf2cd1ace121165a08319d1c0ff9c933a310ebdf40978cb5d7bc685295602f67ac7e5590207b0baecb19d03f5299c933a310ebdf40978cb5d7bc685295602f67ac7e5590207b0baecb19d03f529842cd6a2d4df925e8cec58a7ab9aa431b309cc7df9e490aa3a1509db3721653a624b8fa276e8f675a2335118f07bfae4b265e3475b6ee7f38052fdbc5ea4bc3b624b8fa276e8f675a2335118f07bfae4b265e3475b6ee7f38052fdbc5ea4bc3b15d09df258a1bcf8565498bbe1163de421a743cb1fd571dc3bd86d37e15ab96385f751c1b3dbdce4bba6a63d1b7b01220ff008a49f5903602e6841909a3af26485f751c1b3dbdce4bba6a63d1b7b01220ff008a49f5903602e6841909a3af264266e554114b294817eacabf28a067d1adba55ea73191d103a50a97dd688c07f742473176e9ab6c34be7f498894ae94436ea3dc74dbdd576407de7c4a5fe147a342473176e9ab6c34be7f498894ae94436ea3dc74dbdd576407de7c4a5fe147a33eeb82634e1896d41054d4c540e341d447db53c46953a88f182207b7f7ba7db87bee18cd9aa61e7e5326441feb22d2bdcdb55bf1e4f1c1f6822adf2340f79bd07bee18cd9aa61e7e5326441feb22d2bdcdb55bf1e4f1c1f6822adf2340f79bd0f7ff302fd49cbfcfc2b3c1c9c891c6bf1d6fc1712bb2ebe5b00a8d64b709411da829f819ee4fff4d95a27cb21cd809be70f15b2f4c7861f3df6cb2a2c1e8ac70a829f819ee4fff4d95a27cb21cd809be70f15b2f4c7861f3df6cb2a2c1e8ac703bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece208838e264a03671c1daa491ceee8c89f43f4ad73ecb162e7b93fdb99fb198ad419bfde264a03671c1daa491ceee8c89f43f4ad73ecb162e7b93fdb99fb198ad419bfdc25ab3ca08d3c84d7ce0a8ddf1dbed93bc494545ba9ed8788a13ed30b53a34b2429a9d786ed969de05e32ba34cea97f12adf75d5cf24871eeabfeea3650ff54d429a9d786ed969de05e32ba34cea97f12adf75d5cf24871eeabfeea3650ff54d44405358dad92df56ff072dba25cd6c0ed10a7853713ba3de35e16a14daa558e340644dd899acadea03f9b762dbed2e7cd463cc0990add24cb2fa7c0cea3f056340644dd899acadea03f9b762dbed2e7cd463cc0990add24cb2fa7c0cea3f0566fcdd2edaedc8e365ccc81011e67f7c8d82faec5d397b83f704cfed3e510218cdef3a2cc6a7609494b39f4976848d265f6fbedbee03b595f6c1ac96f16eedd81def3a2cc6a7609494b39f4976848d265f6fbedbee03b595f6c1ac96f16eedd81bab6953b875945aa9958e6c036cc991e3ff7be7541ed3f5ed353921971afb3ef27b77a2eda58f76ac5bb4ecbdc196209382046e4cd8c422f4ba2157566495c2527b77a2eda58f76ac5bb4ecbdc196209382046e4cd8c422f4ba2157566495c25c7e2ef775f2470320fd236a7fdb055fd5974dc20115697fc4c276d6175517cf672134d99305bced8c37994af440d2d0999e1b9a50c2ddb26d9bd1dcb0a01564072134d99305bced8c37994af440d2d0999e1b9a50c2ddb26d9bd1dcb0a0156408ba15560241431b5ddd0b94258eaac1618f88490133ca102798161dbf5f339efbe732984cc3a6c588212c28c7960324ab8c758d8f2c8b4725da39abaf5c5617ebe732984cc3a6c588212c28c7960324ab8c758d8f2c8b4725da39abaf5c5617e86268d30baf6263b84e371748590843ee943bb77a83f50585d5a53d8cb1085fff7f086912d17992c9e4d613d11e268319f6e6c1d8a4fe88c02cca0c31cedd173f7f086912d17992c9e4d613d11e268319f6e6c1d8a4fe88c02cca0c31cedd17343c84aa57b9d794146af9c15c4b07a2095fc04ca90592cdff1c18eb8f7a3a2aeef7457fef1484dcc075d09d5766c40e1753df7f548f1b48dee93f6bf10c33d98ef7457fef1484dcc075d09d5766c40e1753df7f548f1b48dee93f6bf10c33d9800da64980c3024cd7614893cfdf055ee9a2c8deda53f8c3cffa57c10123cf32af69b3d9886c25c8bb98116498c892e5ba11ab19fd107aa2da608113cc48a8a15f69b3d9886c25c8bb98116498c892e5ba11ab19fd107aa2da608113cc48a8a15b7a110bad459758622127944aca1e18553f3fc3f480933790489a66d0ab5803188a95e09053f0d1177cf273838be28506f1dc591907d3379dabffae0fb3ede3e88a95e09053f0d1177cf273838be28506f1dc591907d3379dabffae0fb3ede3e1de1937370511368345806c96f5536f5d92a57c01556b822c200d28e51fd6139a2328cca90856244e99f3c679ba006007b380b3f323570b334a401a2503a1e05a2328cca90856244e99f3c679ba006007b380b3f323570b334a401a2503a1e05cd6089c3b7cdf7649ec2077cb78d8789bdb6dd9b4f2934909edda521deea77ed03555c582afd163b3fbb4b4411b0099268f8018bae41c51a1029746cdf205fb803555c582afd163b3fbb4b4411b0099268f8018bae41c51a1029746cdf205fb872e7c038f4a7de3db4c5ca236f5f19cc01936f4004ce3ca1da9f11c19ffc0e43f063914f21e268a26750b61a242e077d4ff03ab3ed244848dca9c41b2cac40bff063914f21e268a26750b61a242e077d4ff03ab3ed244848dca9c41b2cac40bf8aefe68b9046ff4939f07f35f05a79453f74f0ad88652c02357cee569231ef542b787bead8a13eb87309d3e750c97ebcc8c516427435398d6e11ac52726179612b787bead8a13eb87309d3e750c97ebcc8c516427435398d6e11ac527261796148d60cb926c6f808296b7fa4b0fa7cc4ee3a2d4703b3d3bcd530301d68842f81e46e03f14076d5be9232eb3246952f7e7192ca9b846d7f27b93926fa564de8d0e46e03f14076d5be9232eb3246952f7e7192ca9b846d7f27b93926fa564de8d0c9c904b38d3f272eb36142541c2184f6334b5f3da49acf1d133320637b15312b542c3502cd66f7a21ad1ca62ae58b84e190fd2c5c35ca1389a31a512d6f2836a542c3502cd66f7a21ad1ca62ae58b84e190fd2c5c35ca1389a31a512d6f2836a653384cdec194ffb9a1fc8ef62fac95f8a9f0f6beffe8c2d4be8fc65187ab503ee7e80163194c6f1fe78b9eabfe6b6c72ee4d039ccfb3c40e0a38c4d3b6133c8ee7e80163194c6f1fe78b9eabfe6b6c72ee4d039ccfb3c40e0a38c4d3b6133c8078f822e67fee74d487e57fb15a363303e1db73b35698d218368524b32d6f418c871b30d0cbb31a015cef2779f5858237523e03903629afc8ef642bc5b0a05c1c871b30d0cbb31a015cef2779f5858237523e03903629afc8ef642bc5b0a05c175b3923880fbc4f8f1fafd0f9301a537d61fab91ca7b1dda9713aa3525aa1637c9971d4436991f69fd4a452af54c911b14814aafa434a2b8c64a2d26f810ae1fc9971d4436991f69fd4a452af54c911b14814aafa434a2b8c64a2d26f810ae1f43d932e36422f43a423644b045c3a0d491416a568be928c9bddcfe57ce91d51a201811c0c4509767e981338628d749fe76d641c03f68a7b14fa71a68b3d9a761201811c0c4509767e981338628d749fe76d641c03f68a7b14fa71a68b3d9a76135b3c58eb20c4d6a08516618d7f1df71316bd70a6f7f597040dfc5dda54a10cb8eea46c536d32e86a58ed5c3f38d3b002b6587964774bed85253f265d9bd6c241e5cefdf557907f6291e05dd9fe357d3306aafbcb1131e25a4790970cf6237e738a509b75561f917c3d7edf1f2edd9d1c9765188996751a3c0f0bdafe5e0423754a93ee55f720ae3b54907f5def625e15c2bf019c24e0af9f9a8cd00c46ab1a99a8492a580bf85d3e98ae8861fbd45567e5a1f83eeafcf9574da0399d5f602ab39ab7ccd9f4e82579da78a9241265df288d8eb65dbbd7cf48aed2d0129887df5691597e8a40a891ea94d3589976ecfc33e6145c49422443b00ac2b5a0022964cf0e6cd91b837d5c5644d026e5ffeccd907953317cd5c0f689901733afda260b2c108f5cbf2dd9ec07a26530695ddd95e1664597ce6c056ae44c162cc2e28cec4ddf5dd4e0ef2b185e8bb0af7b6e90ebe74a84384cb4700658e76e754c8bfe550f6f1c1bedf1a0f37cfef81d12f5f012869d1ee7c984775a569827a1784d34f5c54270656df079c4da5182629a080fc633b6f84b87985eb016d25a560e2c38d4aa2ccfdc001858222885a9df39200840ac7a3f479ba889727d32a10398db7918a4f907b912e024625d36b8af307f1043e6ebc97074e31216175d14bb74c370dc3cb36e80beaf2a527d463da552a5c679a46c4ff8c881318a194bb0ccb61cb2d5ca42b23e21050a0f0f90c1f7a443b8087a409771611eae402861959a793be38e853f9f6be37d5c395c125a53dbf39c697fc3e5fd44a5f09f0d99710910f840dd650a34bad4a30a4b5b0a1bac46183e16c545442193bb822135c040daa8bae49d0b714a956eaa534038df27e0b43d08f529aa0895316b9b5de15a2705c1a47cf9ee8ea86d36177a3faf0bedbbfa70031350e721a7f0fab8526be36093ab666be97822182bb6da3d1295aeb92a1c14c42419e325559abf461268a17c5210c19a9721fc8c6a6e5db5e2b802fbb671fa104ee32e29b1701a35a8fc65ded848cb984b4b6a25595686705dab08245c0a5e4ef5852173d9cc4b5ae1b6e89f31b7780632bf9e90c9df5f2c6af0f6d5a2ae4c4011471df1b2e03598faae60a1613d5cf7bc063a83085d86e5c2b56ce5076fadf6489ea93de3ac44ae9fa69e4c7a39ab291e80f7aaf4c55925407436653f949791694831419f27fa4a83b10b2f735a8971ff17e939740c7b4469e60d7ecbba091971fd72a9940a9fb02d91cf4d7813feacb5bc1c572418a4035c66191f95e1500dd3462764f916f683b1b06a78a3fe8d8529a433dce1c9b9152af258a84042741feea52e78ee0aeea6a438fd5b59fcac2a3b71bf8b7f7affee67f19707d3514c565805efdf2e5801ea6b4186a3bed176e197540e9c2b688f78c0cd43c60298ecd353fcd54745bb6e83a3ffa6b0fb19e1936fbd34922fbaf2352268c029b1b0384477b0e94a5e651a0af6b7a2a1d3dd74e7d87f386222130f684ad9c976d3658a0b49e6829b119d624d8bb6ebfd54de6781aa7c49011f6319a4e68b113f2c7e54d97c8e13f42513543ab0402c125cb9f05cba1cbc52866a97f4c9cfe240f672c48f7cf41d0899ba4c71ff165440be87e8a660cb7d1d00b641b7209da983e7b97f5f40466e1109dbed4a10d75a26ae3c9e8abd822578e0880ab474eeb037544f9d4ad41381ef69efb0d41d7e976a3cb64ae5d0c62a6b617571a4ea026747642b43bca73b8dcd39fda1a34344f726e30318253058339cd27415634bbc639ffd62dcb4558985a7ab0e964709bb58cd6379bf79ca71de46a65539051a2108e1445ba8d2ec1fb3bfa5ecafad935e526a3cae09c4639b402b792ce87e56458b6701630f9fd1f04940748e48876c8ea877b559cf07b879fefea393ea09c85991fecef8d0df4130f7cb146f49003a84700a4deb7e5f3485553509448ea1b58b894a6dece4a158e759af730f324f9e9e3b36f32abab550ed8e961459052dc6a9ca57e587cbd89105322af6b87cb73d1b59f0e8b4ea4bf8135db0209c66f39c915bc343fb2d375175780311b23be085c4a11be9f7b92f419aa0231f1466476248f76f778d5bff1c3898c8930d3df088e612f6fa83c15c6b0b7b9ce56f04e8002ac161fe9532fcff6961fdc3eebf0c7d8f7f5a84afb7a7d9f85949a40094f0acbdde5950edaad6a73829bdbc71cc9eecd1fdeaaf21411f380c65cc41468aca1e069bd6a6300547393e9350807de058d23b8b94838e509c0f6505cdcc1390fda7e0c56cec8d3da43b24f4fa7c4170b2b2c067004ce87d841e24bfc97ab32ac8775bea86337f08bd3e598acdc452c3408953560568affda91c1378404ed5ab5a61f2090ba4204ba7a4098b0ed955a25dc19818261f2f10b380aeb492d6962f8696c7b2d7aceb1f6fb24b12eaea1322e5fb3789217e892770b753ab7b2bd6fc64cb81b74a116cd9bb35da33b47781769051882b1cdd68a9a3eaee18d8d9074ddeaf61c4ae63ecfe0d07a386a6b8f852d61678ce2dd427429bd5dabafcb91fe9fad064c988fe93b9a4ee64e78e43bdfc7774013e1d1e3eaee4c37a8a03a4ef5618173e56a8a91d27a8a5ed8b1c09ee1e9fb2f5070ab1e70da7a2979db26ace9575c4b1f8ec4ed1b97f7763b56f37f7c7f87c8c0b9a1021f07fc2379f99497f5a2414664835b4cf4f2dd9598637a99ce8327abf54c0999260998ffe4df439067ca91cb2d1fa96ca0c5e4f8c64c0c6847305ed12e52b3eac39289252faee80d5fda1081e53622c48be1663941c34aa91e91b4f97ee349f003bf6f55d3b060a8f7a8f9a26cb299110e83b010c75fa93a5a01cdfd4293265be5f7104b5d671ede826d94624a9e80a0048b41160ad82d68d55a7cee7500ff47b8f9b9375398a6cbc80eafc46e2170614a3b44d302669724935e8b45e79ef016d47533f5f5e89e2dcab450f354631c8b92187c2dc93b7e318f296d4b535db1cd87dc7785b666e60beddeba764c95109415217f36bd3f566a309232c8ccc6f62d5307e3642142909b8dca372945d2abfbbe505dc52ebf465efe8dcde1bc4d185efe68a1ca92c1f8efd60d8312607dc8b4bc88e23e980525478c066c1f6cd7fcadbf906969c262e11e562cad6ba8f03b09ac7d90b1e0a20f99a90dfdd8a4906fc14e1742bebc68d78bb08d350557c0f3c2564455b5a75964b2d2c8e2c7ab0325cfe6af6df70922a273511ffff7a9adc9ea8cad449c39b480fff95999d0d521415251cfb41f6333f458272a5a54c177c2bb0e7fbcd7b3d484fe44b5ff2583b2e5a4ca3add542c3535f6c4c9e0c04c3d47b290833ff9fb4688bc54e9f9e4eea9799da2ae531f0695369e38f236d91ce7c9f0336b578c5d71c2325018568d1323ab3e939f48be353a6d9b98bb6e8127b7bda8085e2923fcd3f43991ca4982cf33fd15eeecf5286e6f74315f4c26e9b5ba9a81747e8cded4583b3a01075f41c0018d07409b11f334c0b651c18ea1262de47c958f1c55cd73ae1298203ddc4b339607a54e5757ea7cd001bde2436792f558e4ad962d34f732ccc7ac4f60f906a9e15b801141c19f55e2c743f4a1d97e33331600d3c8e9a4e7e70ec164b34c42e874717e736bd0898f0a19ee8c606b35a10904951e0a27da1896eafe33c6e88cb7bcbe455f05a24a3b0f474e2891ab3746f751e317f7750300b653dfa59d93248f00b6426fb7acbfc55c02e1d32fcf2af5800f0204a952aad0d572c217c8fb468cf7e5ef38d5b5104f6a9c99d36c51fabdd3e290c6a7fafb8252e6f34627d37d133ee9381a7880e543c53cdbea7e37fce8da22413e338f63f6d3349c7d6f7fdceea3f7d03e49f06e021b42a30a7a1f340211764fd0175b935260f4f118b71f3f8d991f1c98176367d694c67682fc130b5181faa370489ab34a256dcd0210e598efaaa89055569a4e8b4d11dc9ce933ade05544a38d7eb98a7cb3bee40b45e5529dfad6759bc4bce572375e7a3d4681f8845cac7589a1995888b3538b36e4998483ee1160acda632f93bde7ed61a45ffaeca5f30f39c5d0e7f8d4eea081530bad71f7a321ab17a96d32ae1d7da399c5a652f7c8ef5017f3b6787c2e18c5821a7ebf74be3894909eeec33a663212e8c8cfbb70cb97a25f928e435170a9fdbf135a402dd5b075d0898f8525766aa8e80a2b0a18914f365a95bd62122cf802e254c7604acdea331cc309a2c48e191d4d6b71b5054d8fa95b823a80a0ae3c46f8f25878a4d9c03a90cb4ab637683be10c1c09fcb754b15040c82bd08bc570a03d9aed1cdd3058f1206a27c778dbe9ebde3d7338451a2a1a2ed867d7ba6852fbd5f52b22708748d4260837c778dbe9ebde3d7338451a2a1a2ed867d7ba6852fbd5f52b22708748d4260837687f439b07fa1f0c51efc84c2eaca42150393736557c570936b8d16335bd3214d1c5ef169692ff1eb72d9f065d135f52bfdec35226674ae64c7ba4592833d9e1831dbda3667f443e976f6018558232ae3e4223c3724ebe023fa4b422c109ff9d5b70fa6b0952a2e692cce280ab6d4fe24fc1c8f3ae2aa3469ed3bc998a188c00def49b49b09adc4f78517a343dcb7d8a265391bc8a0570a2e5b037866a9cc8e0b7b0efd564f7672855271223b886d05a44742fe883ff9abeac52bbf013f93c4c2e5c51d2ae6918572e77eb7a365f69ab2134fe2468a895a732cc29812d305ee5877ee5f8afc2d06bf79da9056ad672743f8c496ea9fdea5fa25f14d1a12c4d2520a3b1a52d315e501b87e3fe1df85f27a35e24d84b86a166c48d12ff88cd7c33a00424a8169c9fe3fbb432e1d4b465e1947bbe65cb9b152762f2d973f1212de2a6a0f3223f80b6f27f67746d07180ce2fc1cbc88115226e0abe65a32891e899324f322c9968cfe4700849041add2d0a229b748f506339aab5832a4fe1ceb62b93f34e43913f6be5d9e7799744b6db55e9f5ace0a48f14019ed75725135499a8cf71bc042d4dfc31d580c38078cb1cf93cb695ebb662a99fc3079bb06a314c8729d049568a23c298be7b7909173bc76e104a96dc0200011ce4c8231201b8ba2049b6473c445512c484684c021ab24b9e01aef2a59b35e8e43cbb94b08817c86bc9d1b05d15804cb021758eb47165e5ce8ef2d44f00774cceb1c51fddbf3f542473c7412b1db29d8420a6e0ebbf71c3083166b90cfecefcdf871ebd48f121656a791bd72fce139b0cdfa27cd6975fb99dfed3c1654900bd5afcfce05415d36d7586c5fd1645ac428bc5cf8d15fe6c62ac33ba7ff0c6ecb02ba723792ae5e0faea0c96b6af7f4b6377f611cae0abc250c02b6aeb9eee9a924ee127cfa5e05823a3e0b21531fff65779582448c27513f29d1259f3651174c8e3bd6722789e4f880ae2c99ccb44bcfffb5afd535d25e9ff7a3e9561fcbb547b0540a9b913b7e49d201ea9c10af412e2243223a098140d6cf4d7eac733ac5f0c192087e28c4c020eeeecf59842395aa67adc362596e7744ae1cdd686d07918521a9f08491f61b90667dd2298494556073b302f73b6f63e2d3c43ab24af299422e485559620941d8e8b543ccb56fa3d5df9b213737f1af902e1259bf4d5b4902d323a7ab1af6635b2d3a43ccb56fa3d5df9b213737f1af902e1259bf4d5b4902d323a7ab1af6635b2d3a740230fd4ea5234edb022142e723bb3651328adb48f3b85162c00c469e680051086d4b34dea4f48dafed64bf54c6a064d8491d0a71974918b7372d22a483e841086d4b34dea4f48dafed64bf54c6a064d8491d0a71974918b7372d22a483e84163f739ef798596adcd2b8319a1561a7dcdd2b43af30f6d7d4697f46dd19635e89b9d7d9dadaef7dec7778d26eb66c2011eafa8745cc993dedcb285086a11627badc99a4002fc130e16174022e036758935f1af82f0ea0e5c9609f92000c0f587110e8e15511ad849007e4f8b685cb990f1cb86b7f472708c48a3731d01f08e529f47e5eccc9db1cef6f05722485044978fffd689b663d750e149f4fd261f964b4531552ba878a5e8e28d8bddc5bd648ef3a465f184a2e8a70d752fe191c07b60f433b1acea75ebc78753560466dfd6e46a53fd07ec848aeaabed2ac554753a4a1fcb2fc1d800192c5f3f792b0e341701992b6e65d988ccb9fdc5761085ffdd491fcb2fc1d800192c5f3f792b0e341701992b6e65d988ccb9fdc5761085ffdd49429cd109a2de597644b589f0e0a5fc78e603c8ae766219323137ea51848baf149b979943f04e806061499577821300a559ac471c2ab99546b54a0828a3946edf9b979943f04e806061499577821300a559ac471c2ab99546b54a0828a3946edfe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855382595b6a826b3d8088b39d736a29ad525047779bed62a38be27637eb665294f382595b6a826b3d8088b39d736a29ad525047779bed62a38be27637eb665294f7ad32ad6307d2d44a1a5e3cf94a8545561aa8158fdab4c70bc2e951d7a2610a052797a3d65f9bb14c1e2945e585100d0059dba069bcfd5a3b71806e6ffbc294d52797a3d65f9bb14c1e2945e585100d0059dba069bcfd5a3b71806e6ffbc294da613373321625b26eca3f49dc89e3798b7bb3d70a68ea19c22ba8076a294524a6034fb0e531a1d9c64934b01863eeb63e4b381356aa6f0d67d1c1ea5ef78ea746034fb0e531a1d9c64934b01863eeb63e4b381356aa6f0d67d1c1ea5ef78ea7429bb497d8585cb07059483157a7b6eb4beb4e831b56ce1fa5266c565d8c10fe5e7e12cd55fb62ba5404ab66efdbb10ee03557044153330a046f387ccf3884b17b0960bda6daa4174f939587a49063ba3efd3b08df39b9b0f8fe407f1da0a5ca79ccc12545732877b498b11e2951bcf854a6d996ddf3a7f7ef7f78d66eee9617aea94bf14c21acc1ed825211a94bbfa5dca50f3ae62a4675fc133ec9cfc5cd24aea94bf14c21acc1ed825211a94bbfa5dca50f3ae62a4675fc133ec9cfc5cd24a60ea20f3ef494f2f16c99c5da401d5532a7228cde3ca9816fdd734928c39b6484472a0712a8dde3cc7647ad4b7b884dc7acc282b85aefc0f297233ecc52042314472a0712a8dde3cc7647ad4b7b884dc7acc282b85aefc0f297233ecc520423106b1a320ee4c317e84c60df978a83673b214063f066986bb5629bffd74594fc38177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b8806439b1e2d8830389bc31d1089e924f0baf48dd2504d177c72c5c08620217fc8167ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85580dcfdfefe1b9e25b9ed1ed17f1f4dea976b066dacc890dbce0b633c49c6e3eee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855@@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlucilucilucilucilucilucilucirootlucilucilucirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootluciluciluciluciluciluciluciluciluciluciluciluci-0.26.0-93.el6.centos.src.rpmconfig(luci)sasl2auth.so()(64bit)luciluci(x86-64)@  @@@@@@     @ /bin/bash/bin/sh/bin/sh/bin/sh/bin/shTurboGears2chkconfigchkconfigconfig(luci)coreutilscyrus-saslinitscriptsinitscriptsiproutelibc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libpthread.so.0()(64bit)libpython2.6.so.1.0()(64bit)libsasl2.so.2()(64bit)opensslpampython(abi)python-pastepython-repoze-who-friendlyformrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)sedshadow-utilsutil-linux-ngrpmlib(PayloadIsXz)0.26.0-93.el6.centos2.1.222.61.7.2-53.0.4-14.6.0-14.0.4-14.0-15.2-14.8.0XXx@XS@X>@X2X,J@X)@X%X$a@X&X@X@V3V3VIV@V@VvVvV<@VU[%U[%UHT9T9TT@T@SvSS@SS^SSS;@SǺSQ@S @Sh@SSS@R[RD!RD!R6R7R q@R@R@Q@P @PqP @P @P @PP@PN@PPPP{Px@Puc@Pr@Pr@P@@O@O@OO@Oc+@Oc+@O`@OU@OTOG{O>A@O:LOKN/NFNNx@Nw.Ns:@Ns:@NqNh@Nf @Nf @NRDNNP@NI @N@NpNpMMM>MUMMx@MMMp@Mn1@MfH@MbSMK@MK@M4/@M Lr@L+@LmL^@LRLQm@LN@LMxL=L - 0.26.0-93Jan Pokorny - 0.26.0-93Jan Pokorny - 0.26.0-92Jan Pokorny - 0.26.0-91Ryan McCabe - 0.26.0-88Jan Pokorny - 0.26.0-87Jan Pokorny - 0.26.0-86Jan Pokorny - 0.26.0-85Jan Pokorny - 0.26.0-84Ryan McCabe - 0.26.0-82Ryan McCabe - 0.26.0-81Ryan McCabe - 0.26.0-80Jan Pokorny - 0.26.0-79Jan Pokorny - 0.26.0-78Ryan McCabe - 0.26.0-77Ryan McCabe - 0.26.0-76Ryan McCabe - 0.26.0-75Ryan McCabe - 0.26.0-74Ryan McCabe - 0.26.0-73Jan Pokorny - 0.26.0-72Jan Pokorny - 0.26.0-71Ryan McCabe - 0.26.0-70Ryan McCabe - 0.26.0-69Ryan McCabe - 0.26.0-68Ryan McCabe - 0.26.0-67Ryan McCabe - 0.26.0-66Ryan McCabe - 0.26.0-65Ryan McCabe - 0.26.0-64Ryan McCabe - 0.26.0-63Ryan McCabe - 0.26.0-62Jan Pokorny - 0.26.0-61Jan Pokorny - 0.26.0-60Ryan McCabe - 0.26.0-59Jan Pokorny - 0.26.0-58Jan Pokorny - 0.26.0-57Ryan McCabe - 0.26.0-56Jan Pokorny - 0.26.0-55Ryan McCabe - 0.26.0-54Jan Pokorny - 0.26.0-53Jan Pokorny - 0.26.0-52Jan Pokorny - 0.26.0-51Ryan McCabe - 0.26.0-50Ryan McCabe - 0.26.0-49Jan Pokorny - 0.26.0-48Jan Pokorny - 0.26.0-47Jan Pokorny - 0.26.0-46Jan Pokorny - 0.26.0-43Jan Pokorny - 0.26.0-42Jan Pokorny - 0.26.0-41Ryan McCabe - 0.26.0-40Ryan McCabe - 0.26.0-39Ryan McCabe - 0.26.0-38Ryan McCabe - 0.26.0-37John Ruemker - 0.26.0-36Jan Pokorny - 0.26.0-35Ryan McCabe - 0.26.0-33Jan Pokorny - 0.26.0-32Jan Pokorny - 0.26.0-31Ryan McCabe - 0.26.0-30Ryan McCabe - 0.26.0-29Jan Pokorny - 0.26.0-28Ryan McCabe - 0.26.0-27Ryan McCabe - 0.26.0-21Ryan McCabe - 0.26.0-20Ryan McCabe - 0.26.0-19Ryan McCabe - 0.26.0-18Ryan McCabe - 0.26.0-17Ryan McCabe - 0.26.0-16Jan Pokorny - 0.26.0-15Ryan McCabe - 0.26.0-13Ryan McCabe - 0.26.0-12Ryan McCabe - 0.26.0-11Ryan McCabe - 0.26.0-10Ryan McCabe - 0.26.0-9Ryan McCabe - 0.26.0-8Ryan McCabe - 0.26.0-7Ryan McCabe - 0.26.0-6Ryan McCabe - 0.26.0-5Ryan McCabe - 0.26.0-4Ryan McCabe - 0.26.0-3Ryan McCabe - 0.26.0-2Ryan McCabe - 0.26.0-1Ryan McCabe - 0.23.0-32Ryan McCabe - 0.23.0-31Ryan McCabe - 0.23.0-30Ryan McCabe - 0.23.0-29Ryan McCabe - 0.23.0-28Ryan McCabe - 0.23.0-27Ryan McCabe - 0.23.0-26Ryan McCabe - 0.23.0-25Ryan McCabe - 0.23.0-24Ryan McCabe - 0.23.0-23Ryan McCabe - 0.23.0-22Ryan McCabe - 0.23.0-21Ryan McCabe - 0.23.0-20Ryan McCabe - 0.23.0-19Ryan McCabe - 0.23.0-18Ryan McCabe - 0.23.0-17Ryan McCabe - 0.23.0-16Ryan McCabe - 0.23.0-15Ryan McCabe - 0.23.0-14Ryan McCabe - 0.23.0-13Ryan McCabe - 0.23.0-12Ryan McCabe - 0.23.0-11Ryan McCabe - 0.23.0-10Ryan McCabe - 0.23.0-9Ryan McCabe - 0.23.0-8Ryan McCabe - 0.23.0-7Ryan McCabe - 0.23.0-6Ryan McCabe - 0.23.0-5Ryan McCabe - 0.23.0-4Ryan McCabe - 0.23.0-3Ryan McCabe - 0.23.0-2Ryan McCabe - 0.23.0-1Ryan McCabe - 0.22.6-1Ryan McCabe - 0.22.5-1Fabio M. Di Nitto - 0.22.4-2.0.b9faf868074gitFabio M. Di Nitto - 0.22.4-1.0.b9faf868074gitRyan McCabe - 0.22.4-1Ryan McCabe - 0.22.3-1Ryan McCabe - 0.22.2-11Ryan McCabe - 0.22.2-10Ryan McCabe - 0.22.2-9Ryan McCabe - 0.22.2-8Ryan McCabe - 0.22.2-7Ryan McCabe - 0.22.2-6Ryan McCabe - 0.22.2-5Ryan McCabe - 0.22.2-4Ryan McCabe - 0.22.2-3Chris Feist - 0.22.2-2Ryan McCabe - 0.22.2-1Ryan McCabe - 0.22.1-3Ryan McCabe - 0.22.1-2Ryan McCabe - 0.22.1-1Ryan McCabe - 0.22.0-16Chris Feist - 0.22.0-13Chris Feist - 0.22.0-11Fabio M. Di Nitto - 0.21.0-8Ryan McCabe - 0.22.0-4Ryan McCabe - 0.22.0-3Ryan McCabe - 0.22.0-2Ryan McCabe - 0.22.0-1Fabio M. Di Nitto - 0.21.0-7Ryan McCabe - 0.21.0-6Ryan McCabe - 0.21.0-4Ryan McCabe - 0.21.0-2Ryan McCabe - 0.21.0-1Ryan McCabe - 0.20.0-1- Roll in CentOS Branding- Further fixes for rhbz#885028 and rhbz#1173942 Resolves: rhbz#885028 and rhbz#1173942- Further fixes for rhbz#853462, rhbz#877999 and rhbz#885028 Resolves: rhbz#853462, rhbz#877999, rhbz#885028- Fix side navigation panel displayed unexpectedly when accessing index page without prior logging in after luci start Resolves: rhbz#853462 - Rectify suboptimal logrotate arrangement imposing server restarts Resolves: rhbz#887340- luci: Support method attribute for fence ipmilan Related: rhbz#1337718- Ensure luci cannot change its own bootstrap configuration in luci.ini Resolves: rhbz#991608- Remove temporary seeding file leftover/s upon uninstall Resolves: rhbz#988985- Allow for listing configured actions per particular resources Resolves: rhbz#1173942- Add authenticity check of ricci instance via its public key fingerprint Resolves: rhbz#885028- luci: Fix cluster shutdown action Resolves: rhbz#1316970- luci: Add support for Oracle Data Guard resources Resolves: rhbz#1316952- luci: Suport fence_ilo_moonshot luci: Add support for fence_ilo_ssh fence devices Resolves: rhbz#1337718- Fix luci not running after /etc/init.d/luci reports that it has started Resolves: rhbz#877999- Further fix for configuration logic wrt. SSL/TLS insecurities avoidance - Enforce new configuration of luci self-managed certificate, preserving the possibly modified content in a backup file Related: rhbz#1156167, rhbz#1156187- luci: Fix handling of binary totem "secauth" attribute Resolves: rhbz#1285840- luci: Allow RRP configuration for UDPU Resolves: rhbz#1273954- luci: Support alternate timeout attributes for fence devices Resolves: rhbz#1255207- luci: Fix defaults for dlm/gfs_controld plock_ownership Resolves: rhbz#988945 - luci: Fix allowed values for totem/@secauth Resolves: rhbz#1285840- luci: Remove references to named_sdb Resolves: rhbz#1208649- Make luci implicitly avoid SSLv2 and SSLv3 versions of the protocol, and also by default, disable RC4 cipher (unless overridden by user) at both the web browser/HTTPS (rhbz#1156167) and ricci daemon/SSL (rhbz#1156187) sides of communication Resolves: rhbz#1156167, rhbz#1156187 - Update luci self-managed certificate signature digest from sha1 to sha256 Related: rhbz#1156167, rhbz#1156187 - Force generating luci.ini anew on update otherwise intended security hardenings will not take effect with luci already in use (and avoid respective downgrade issues, both using a mechanism already in place) Related: rhbz#1270958- Prevent clickjacking (malicious use) of luci and enable enforcement of some more web service security mechanisms Resolves: rhbz#1270958- luci: Rebuild for changelog cleanup- luci: Add support for fence_emerson and fence_mpath Resolves: rhbz#1210683- luci: Add expand/collapse buttons for each inline resource Resolves: rhbz#919223 - luci: Preserve expert mode resource attributes when editing service groups Resolves: rhbz#1112297 - luci: Warn when config can't be set or activated Resolves: rhbz#1136456 - luci: Update fence_virt / fence_xvm labels Resolves: rhbz#1204910- Rebuild for new stop image Resolves: rhbz#1111249- luci: Add expand and collapse buttons for services Resolves: rhbz#919223 - luci: Add a "stop" service action in expert mode Resolves: rhbz#1111249 - luci: Don't lose nfsserver "nfspath" when not in expert mode Resolves: rhbz#1112297- luci: Add a cancel button to the services add resource dialog Resolves: rhbz#886526 - luci: Add support for miss_count_const Resolves: rhbz#917761 - luci: Add support for rrp_problem_count_threshold Resolves: rhbz#917773 - Luci: Indicate that shutdown_wait is ignored for postgres8 resources Resolves: rhbz#917781 - luci: Add support for the fence_apc cmd_prompt attr Resolves: rhbz#1010400 - luci: Don't let the add resource button disappear after adding a VM Resolves: rhbz#1100831- luci: Don't active new conf if any of the nodes didn't receive it Resolves: rhbz#1136456- luci: Fix editing services that VM references- luci: Fix editing services that VM references - luci: Fix error in fence_lpar form luci: Fix issues with bind-mount resource name display Resolves: rhbz#1117398- Resolve newly introduced issue with doubled Edit Fence Instance forms Related: rhbz#1127286 (CVE-2014-3593)- Resolve issue with custom luci launcher upon update while luci running Related: rhbz#1026374- luci: Allow & in XML attribute values Resolves: rhbz#855112 - luci: Fix positioning of sort arrows Resolves: rhbz#919225 - luci: Allow nfsclient to be a child of nfsserver Resolves: rhbz#919243 - luci: Remove bad default values for startup_wait and luci: Remove ssh_options fields from fence agents that do luci: Support newly added bind-mount "name" attribute Resolves: rhbz#1117398- Additional fix for regression with "extensionless" node names Related: rhbz#999324- Fix luci unable to handle node name ending with recognized filetype extension Resolves: rhbz#999324 - Add a custom luci launcher allowing sane Python runtime + SELinux coexistence Resolves: rhbz#1026374 - Fix privilege escalation through cluster with specially crafted configuration Resolves: rhbz#1127286 (CVE-2014-3593)- luci: Update the fence_kdump config forms Resolves: rhbz#918795 - luci: Move sort arrows for resources Resolves: rhbz#919225 - luci: Cope better with editing services containing VM Resolves: rhbz#1100817 - luci: Add support for the bind-mount resource luci: Update fence_brocade luci: Add support for the reboot_on_pid_exhaustion luci: Remove mention of fenced skip_undefined luci: Add support for the postgres-8 startup_wait attr luci: Add the ssh_options attribute to applicable fence luci: Add support for the no_kill attribute of the VM luci: Add support for the use_findmnt attribute Resolves: rhbz#1117398- Fine-tune update-downgrade-uninstall scriptlets as changed in rhbz#991575 fix and modify new suggested value in sysconfig file Related: rhbz#991575- luci: Add support for the IP "prefer_interface" attr Resolves: rhbz#917738- Fix breakage upon update due to changes introduced with fix for rhbz#991575 Related: rhbz#991575- Add the ability to block weak ciphers (revisited) Resolves: rhbz#991575- Add the ability to block weak ciphers Resolves: rhbz#991575 - Check length of secret on startup Resolves: rhbz#982771- luci: Don't remove attributes from xvm fence devs in Resolves: rhbz#1004011 - luci: Fix for option to completely disable rgmanager Resolves: rhbz#723925- luci: Add option to completely disable rgmanager Resolves: rhbz#723925 - luci: Disallow XML-unsafe characters in attribute Resolves: rhbz#855112 - luci: Add support for configuring missing totem Resolves: rhbz#917771 - luci: Add support for fence_kdump Resolves: rhbz#918795 - luci: Add support for sorting by columns of the Resolves: rhbz#919225 - luci: Don't allow nfsclient without nfsexport Resolves: rhbz#919243 - luci: Fix broken display on permissions page Resolves: rhbz#988446 - luci: Don't write type attribute for oracledb for Resolves: rhbz#1003062 - luci: Allow configuration of more fence_xvm attributes Resolves: rhbz#1004011 - luci: Fix default value for post_join_delay Resolves: rhbz#1004922 - luci: Update name for fence_egenera Resolves: rhbz#1008510 - luci: Support configuring "self_fence" attribute for Resolves: rhbz#1019853 - luci: Add support for the apache "httpd" attribute Resolves: rhbz#1061786 - luci: Add support for newly added nfsserver statdport Resolves: rhbz#1070760 - luci: Fix crash when config contains a globally defined Resolves: rhbz#1100817- Postpone fix for luci not running after reportedly started due to missed corner-case Related: rhbz#877999- Additional fix for support for missing fence devices Resolves: rhbz#917747- Do not propagate "unfencing" verbatim to configuration Resolves: rhbz#883008 - Add a guard to enforce code validity during compilation phase Related: rhbz#883008- Fix short exposure of authentication details while generating configuration file Resolves: rhbz#1005385 (part 1) - Fix hidden untrusted path and "command" (callable association) injection Resolves: rhbz#1005385 (part 2)- module_name parameter for fence_drac5 is optional, not required Resolves: rhbz#1001835 - fence_ilo denoted as HP iLO / iLO2, but the latter has a separate entry Resolves: rhbz#1001836- Default syslog facility is "local4" (not "daemon") Resolves: rhbz#896244 - Fix cluster_version mismatch upon adding 2+ nodes Resolves: rhbz#978479 - Fix luci not running after /etc/init.d/luci reports that it has started Resolves: rhbz#877999- luci: Add support for TNS_ADMIN in oracle agents Resolves: rhbz#983693- luci: Make pop-up messages act like static status Resolves: rhbz#773491 - luci: Add support for fence_scsi 'delay' attribute Resolves: rhbz#883008 - Enable the ricci and modclusterd services when creating a Resolves: rhbz#886517 - luci: Remove useless "remove this instance" button Resolves: rhbz#886576 - luci: Add support for missing fence devices Resolves: rhbz#917747 - luci: Ask for confirmation when removing a cluster Resolves: rhbz#917814 - luci: Update Oracle agent configuration Resolves: rhbz#983693- luci: Make pop-up messages act like static status messages Resolves: rhbz#773491 - luci: Fix uncaught exception luci: Fix for tracebacks when no nodes can be contacted Resolves: rhbz#878149 - luci: Don't let anonymous users access the preferences page Resolves: rhbz#878960 - luci: Fix garbled error messages Resolves: rhbz#880363 - luci: Add support for fence device attributes Resolves: rhbz#883008 Resolves: rhbz#917743- Revert the change that caused pop-up dialogs to be centered. Resolves: rhbz#773491- Correctly display the 'type' attribute value when editing an oracledb resource Resolves: rhbz#886678- additional fix for luci support for fence_sanlock (in technical preview)- luci: Update unfence when renaming fence devices Resolves: rhbz#882995- luci support for fence_sanlock (in technical preview) Resolves rhbz#877098- luci: Cont'd fix of controller wrt. unicode Resolves rhbz#807344- luci: Fix matching of unfence blocks Resolves: rhbz#815666- luci: Fix the interaction of the force_unmount and nfsrestart checkboxes Resolves: rhbz#822502 - luci: Error out if max_restarts is set but not restart_expire_time is not luci: Fix handling of subtree options Resolves: rhbz#877188 - luci: Fix value for LVM self_fence Resolves: rhbz#877392 - Remove trailing commas that cause problems for some old Resolves: rhbz#881796 - luci: Audit of resource agent checkbox input Resolves: rhbz#881955- luci: Cont'd fix of templates wrt. unicode Resolves rhbz#807344- luci: Add missing JS include Resolves: rhbz#822502- luci: Allow global resources to be referenced multiple times Resolves: rhbz#860042- luci: Fix label on fence_hpblade form Resolves: rhbz#865533- luci: Add support for fence_eaton_snmp Resolves: rhbz#865300 - luci: Add support for fence_hpblade Resolves: rhbz#865533- luci: Add back missing unfence patch Resolves: rhbz#815666- luci: Add the ability to remove users Resolves: rhbz#809892- luci: Add support for the IBM iPDU fence device Resolves: rhbz#740867 - luci: Center popup messages Resolves: rhbz#773491 - luci: Fix handling of resource and services luci: More fixes for resource/service/failover naming Resolves: rhbz#807344 - luci: Fix unfence display on node page Resolves: rhbz#815666 - luci: Add support for fence_ipmilan privlvl Resolves: rhbz#821928 - luci: Add support for nfsrestart Resolves: rhbz#822502 - luci: Fix double click on add existing dialog Resolves: rhbz#856253- Fix bz853151 ("No object (name: translator) has been registered for this thread" due to private threading) - Fix bz826951 (Prevent from invalid ID and IDREF values in cluster.conf)- Allow altmulticast port overlap and address overlap as long as both don't overlap the primary channel's values.- Fix the handling of power wait for fence_intelmodular- Fix bz820402 (fence_ifmib and fence_intelmodular disappeared from the fence device list) - Additional fixes for the RRP configuration interface.- Additional fixes for bz772314 (The ability to add RHEL6 luci non-root users as root user)- Additional fix for bz740835 ([RFE] Better handling of Prioritized/Priority fields in failover domain configuration)- Fix bz803398 (Luci shows incorrect verbosity level for sqlalchemy logging facility) - Fix bz801491 (A global resource with "." in the name of resource will throw an error in luci)- Additional fix for bz690621 (Luci Debug options for end users to enable)- Fix bz800239 (Add support for KVM --tunneled migration option in vm.sh resource script)- Update the fix for bz786584 per the latest updates to the condor resource agent.- Additional fix for bz749668 (Invalid fence configuration causes luci database corruption) - Fix for bz796731 (Error 500 from luci when try to edit a Service)- Fix bz690621 (Luci Debug options for end users to enable)- Fix bz786584 (condor_schedd Resource Agent integration)- Rebase to latest upstream version. This pulls in fixes for: - bz690621 ([RFE]Luci Debug options for end users to enable) - bz704978 ([RFE] UI: Make it easier to tell which resource a “Add a child resource” button belongs to.) - bz707471 ([RFE] Make reboot icon more obvious) - bz755092 (Luci does not expose the force_unmount option for filesystem resources) - bz740835 ([RFE] Better handling of Prioritized/Priority fields in failover domain configuration) - bz744048 ([RFE] A confirmation box before removing clustered services from conga.) - bz749668 (Invalid fence configuration causes luci database corruption) - bz758821 (cman and corosync RRP handling are not consistent and needs improvements) - bz768406 (The "monitor_link" ip attribute default is backwards) - bz772314 (The ability to add RHEL6 luci non-root users as root user)- Additional cleanups for dialogs that were not reset properly when closed.- Additional fix for bz705884 (luci chokes on working cluster.conf line) - Fix to mitigate SELinux issues (bz737635)- Additional fix for bz639121 (Lightbox dialog state is not reset when the dialog is closed) - Additional fix for bz718355 (Logging feature in Luci not working as expected) - Additional fix for bz599074 ("Use same password for all nodes" doesn't work.)- Add a note about the implications of creating, deleting, and editing service groups on the admin page.- Make sure cluster permission database objects are created properly after a cluster is destroyed, then recreated.- Additional fixes for bz522005- Additional fixes for bz522005- Fix bz733084 (Cleared options are not saved correctly in Virtual Machine services) - Additional fixes for bz522005- Fix a regression introduced by the fix for bz522005- Revert bz703574-2.patch as there is no /usr/bin/sqlite on RHEL6.- Fix bz729730 (Windows 7 IE 8 will fail with error opening url for luci cluster management) - Fix for bz522005 that re-enables the warning added by bz671285- Fix bz522005 (improve upon existing luci user access controls/roles) - Additional fix for bz703574- Fix bz703574 (Luci Configuration Backup and Restore) - Fix bz639121 (Lightbox dialog state is not reset when the dialog is closed) - Fix bz643488 (UI: inconsistent lower/upper casing) - Fix bz671285 (And warning text to Luci UI about relying on UI w/o core understanding of clustering)- Fix bz718355 (Logging feature in Luci not working as expected) - Additional fix for bz632536 (luci UpgradeTest-selinux Test) - Fix bz664036 ([RFE] Conga should ask for confirmations before executing certain destructive operations)- Fix bz705072 (Support new fence_vmware agent configuration) - Fix bz718355 (Logging feature in Luci not working as expected) - Fix bz632536 (luci UpgradeTest-selinux Test) - Fix bz705884 (luci chokes on working cluster.conf line)- Fix bz707918 (Luci doesn't allow subsequent service changes when non global filesystem resource is added)- Fix bz705111 (When editing a failover domain without restricted/prioritized, adding a node has no effect) - Fix bz714285 (Migration of VMs doesn't work from luci GUI)- Fix bz711625 (Unable to create a cluster of KVM guests)- Fix bz711625 (Unable to create a cluster of KVM guests)- More fixes for bz617586 (Implement progress dialog for long-running operations) - More fixes for bz616239 (Need option to completely destroy cluster) - More fixes for bz557234 ([RFE] luci update to handle private network/hostnames for cluster create/config)- Fix bz617587 (Luci doesn't display underlying errors) - Fix bz617586 (Implement progress dialog for long-running operations)- Additional fix for bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support)- Fix possible exception path in the luci cluster model object related to bz624558 (replace broadcast option with udpu) - Correct duplication of the fence brocade menu item in the fence devices section related to bz681506 (readd urgently fence_brocade to the list of shipped fence_agents in luci)- Fix bz639120 (Create "expert" user mode)- Fix bz682843 (luci still tries to setup obsolete smb.sh Resource)- Fix bz680173 (Add support for DRBD resource agent in luci)- Fix bz681506 (readd urgently fence_brocade to the list of shipped fence_agents in luci)- Fix bz678424 (can't add node to existing cluster)- Fix bz678366 (fence management not fully functional)- Fix bz659014 (Luci returns an Error 500 when accessing node configuration with FQDN names)- Fix bz616239 (Need option to completely destroy cluster) - Fix bz624558 (replace broadcast option with udpu) - Fix bz666971 (Disable updates to static routes by RHCS IP tooling) - Fix bz605932 (Missing "reset to defaults" button in qdisk configuration) - Fix bz639123 (Disable action buttons when no nodes are selected)- Fix bz622562 (Need to add support for unfencing conf. generation for SAN fencing agents and fence_scsi) - Fix bz472972 (Separate the Oracle 10g Failover Instance in Conga to two resources called "Oracle Instance" and "Oracle Listener") - Fix bz557234 (luci update to handle private network/hostnames for cluster create/config) - Fix bz600078 (Warn about qdisk use for certain configurations) - Fix bz624716 (luci displays misleading error status on initial cluster configuration pages) - Fix bz633983 (Luci does not handle parameter "nodename" related to fence_scsi fence agent correctly) - Fix bz536841 (Need ability to change number of votes for a node through luci) - Fix bz600057 (Fix node uptime display) - Fix bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support) - Fix bz618701 (Spaces in cluster name confuse luci) - Fix bz620343 (Consider renaming "Services" to "Service Groups") - Fix bz620373 (Consider changing the tab order) - Fix bz620377 (Drop-down menus do not remember the selection) - Fix bz632344 (Enable centralized logging configuration via Luci) - Fix bz636267 ("Update" buttons at "Fence Devices" tab do effectively nothing) - Fix bz636300 (Egenera fence agent: specifying username not arranged correctly) - Fix bz639107 (Add luci support for configuring fence_rhev) - Fix bz639124 (Reconcile local database with changes in cluster membership made outside of luci) - Fix bz613155 (running luci init script as non-root user results in traceback) - Fix bz614963 (Python 2.6 deprecation of BaseException.message) - Fix bz637223 (Cisco UCS Fencing Agent) - Fix bz643488 (inconsistent er/upper casing) - Fix bz639111 (Support configuration of non-critical resources) - Resolves: bz622562 bz472972 bz557234 bz600078 bz624716 bz633983 bz536841 bz600057 bz613871 bz618701 bz620343 bz620373 bz620377 bz632344 bz636267 bz636300 bz639107 bz639124 bz613155 bz614963 bz637223 bz643488 bz639111- New upstream release (0.22.6)- New upstream release (0.22.5) - Display all fence and resource agents for Fedora clusters - Add support for fence_rhevm and fence_cisco_ucs - Cleanup of cluster.conf handler - Fixes for running on TG2.1 - Allow configuration of saslauthd - Enforce a 15 minute idle session timeout - Add back node uptime to the cluster node list display - Allow users to configure the ricci address and port for cluster nodes - Fixes to cope with cluster membership changes made outside of luci- Fix CVE-2010-3852 (bug #645404)- New upstream release (0.22.4) - Steal fixes from upstream git up to b9faf868074git Fix bz622562 (add support for unfencing) Fix bz624819 (add compatibility with TG2.1) - Update spec file to support alphatag- Version 0.22.4 - Remove extra debugging logging from the fix for bz619220 - Fix bz614130 (implement tomcat6 resource agent) - Fix bz618578 (ip resource should have netmask field) - Fix bz615926 (luci does not handle qdisk / cman config correctly) - Fix bz619220 (Luci does extra queries which slows down page load) - Fix bz619652 (luci sometimes prints a traceback when deleting multiple nodes at the same time) - Fix bz619641 (luci init script prints a python traceback when status is queried by a non-root user)- Version 0.22.3- Fix bz614433 (cannot configure ipport for fence agents) - Fix bz617575 (Unclear options when configuring a cluster) - Fix bz617591 (Some fields when adding an IP address are unclear) - Fix bz617602 (Fields in "Fence Daemon Properties" have no units) - Fix bz618577 (wrong message displayed when adding ip resource) - Fix bz619220 (Luci does extra queries which slows down page load)- Additional fixes for bz600027 (Fix cluster service creation/configuration UX issues) - Additional fixes for bz600055 ("cluster busy" dialog does not work) - Fix bz618424 (Can't remove nodes in node add dialog or create cluster dialog) - Fix bz616382 (luci db error removing a node from a cluster) - Fix bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support)- Fix bz600027 (Fix cluster service creation/configuration UX issues) - Fix bz600040 (Add nodes to existing cluster does not work) - Fix bz600045 (Removing nodes from existing clusters fails) - Fix bz600055 ("cluster busy" dialog does not work) - Fix bz613868 (Remove fence_virsh from luci UI since this fence is not supported with RHEL HA/Cluster) - Fix bz614434 (adding an IP resource ends with an error 500) - Fix bz614439 (adding GFS2 resource type in RHEL6 cluster is "interesting") - Fix bz615096 (Traceback when unchecking "Prioritized" in Failover Domains) - Fix bz615468 (When creating a new failover domain, adding nodes has no effect) - Fix bz615872 (unicode error deleting a cluster) - Fix bz615889 (luci cannot start an imported cluster) - Fix bz615911 (luci shows many unsupported fence devices when adding a new fence device) - Fix bz615917 (adding per node fence instance results in error 500 if no fence devices are configured) - Fix bz615929 (luci generated cluster.conf with fence_scsi fails to validate) - Fix bz616094 (Deleting a fence device which is in use, causes a traceback on Nodes page) - Fix bz616228 (Clicking on cluster from manage clusters page results in traceback (500 error)) - Fix bz616230 (Clicking on the join button doesn't work on nodes page) - Fix bz616244 (Clicking on the leave button doesn't work on nodes page.)- Fix bz600021 (Fix node fence configuration UX issues)- Build fix for bz600056- Build fix for bz600056- Fix bz604740 (Support nfsserver resource agent which is for NFSv4 and NFSv3) - Fix bz600056 (Replace logo image)- Fix bz600059 (Hide optional fields for fence_scsi) - Fix bz600077 (cman "two_node" attribute should not be set when using qdisk) - Fix bz600083 (Add text to broadcast mode to note that it is for demos only - no production support) - Fix bz605780 (Qdisk shouldn't be part of the main page, it should be in the configuration tab)- Fix bz598859 (Adding fence_xvm fence device through luci interface throws TypeError Traceback) - Fix bz599074 ("Use same password for all nodes" doesn't work.) - Fix bz599080 (Conga ignores "reboot nodes" check box) - Fix bz600047 (luci allows deletion of global resources that are used by services) - Fix bz600050 (luci requires wrongly requires users to fill interval / tko / minimum score / votes fields for qdisk configuration) - Fix bz600052 (luci allows deletion of the last qdisk heuristics row) - Fix bz600058 (ssh_identity field values are dropped) - Fix bz600060 (Formatting error on fence devices overview page) - Fix bz600061 (Default values not populated in advanced network configuration) - Fix bz600066 (Update resource agent labels) - Fix bz600069 (Configuration page always returns to General Properties Page) - Fix bz600071 (If luci cannot communicate with the nodes they don't appear in the list of nodes) - Fix bz600073 (Update resource agent list) - Fix bz600074 (Fix display error on the resource list page) - Fix bz600075 (update fence_virt / fence_xvm configuration) - Fix bz600076 (When creating a cluster no default radio button is selected for Download Packages/Use locally installed packages) - Fix bz600079 (Unable to edit existing resources) - Fix bz600080 (Homebase page only shows a '-' for Nodes Joined) - Fix bz602482 (Multicast settings are not relayed to cluster.conf and no default) - Fix bz603833 ("Nodes Joined" in main page is inaccurate when no nodes have joined)- Fix missing requires which will cause some installations to fail - Resolves: rhbz#598725- Fix for bugs related to cluster service creation and editing (bz593836).- Fix remaining unresolved issues for 593836 - Make sure the cluster version is updated when creating services - Fix a bug that caused IP resources to fail in services- Rebuild to fix a bug introduced during last build.- Fix service creation, display, and edit. - Fix qdisk heuristic submission.- Rebase to upstream- Added static UID/GID for luci user - Resolves: rhbz#585988- Add support for PAM authentication - Resync with main branch - Resolves: rhbz#518206- Do not build on ppc and ppc64. Resolves: rhbz#590987- Update from devel tree.- Update from development tree.- Update from development tree.- Rebase to luci version 0.22.0- Resolves: rhbz#568005 - Add ExcludeArch to drop s390 and s390x- Remove dependency on python-tg-devtools- And again.- Fix missing build dep.- Add init script. - Run as the luci user, not root. - Turn off debugging.- Initial build./bin/sh/bin/sh/bin/sh/bin/sh  !""$%%'((*++-..01134467899;<<>??ABBDEEGHHJKKMNNPQQSTTVWWYZZ\]]_``bcceffhiikllnooqrrtuuwxxz{{}~~      "##%&&())+,,.//122455788:;;=>>@AACDEEGHHJKKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.26.0-93.el6.centos0.26.0-93.el6.centos0.26.0-93.el6.centos       !luciluciluciluci.confluciluciluci-0.26.0-py2.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtpaster_plugins.txtrequires.txttop_level.txt__init__.py__init__.pyc__init__.pyoconfig__init__.py__init__.pyc__init__.pyoapp_cfg.pyapp_cfg.pycapp_cfg.pyoconfig.tmplenvironment.pyenvironment.pycenvironment.pyomiddleware.pymiddleware.pycmiddleware.pyocontrollers__init__.py__init__.pyc__init__.pyoasync.pyasync.pycasync.pyocluster.pycluster.pyccluster.pyoerror.pyerror.pycerror.pyoroot.pyroot.pycroot.pyotemplate.pytemplate.pyctemplate.pyoinitwrappers.pyinitwrappers.pycinitwrappers.pyolibClusterConfAction.pyAction.pycAction.pyoAltmulticast.pyAltmulticast.pycAltmulticast.pyoAltname.pyAltname.pycAltname.pyoApache.pyApache.pycApache.pyoBaseResource.pyBaseResource.pycBaseResource.pyoBindMount.pyBindMount.pycBindMount.pyoCluster.pyCluster.pycCluster.pyoClusterNode.pyClusterNode.pycClusterNode.pyoClusterNodes.pyClusterNodes.pycClusterNodes.pyoClusterfs.pyClusterfs.pycClusterfs.pyoClvmd.pyClvmd.pycClvmd.pyoCman.pyCman.pycCman.pyoCondor.pyCondor.pycCondor.pyoDLM.pyDLM.pycDLM.pyoDRBD.pyDRBD.pycDRBD.pyoDevice.pyDevice.pycDevice.pyoEvent.pyEvent.pycEvent.pyoEvents.pyEvents.pycEvents.pyoFailoverDomain.pyFailoverDomain.pycFailoverDomain.pyoFailoverDomainNode.pyFailoverDomainNode.pycFailoverDomainNode.pyoFailoverDomains.pyFailoverDomains.pycFailoverDomains.pyoFence.pyFence.pycFence.pyoFenceDaemon.pyFenceDaemon.pycFenceDaemon.pyoFenceDevice.pyFenceDevice.pycFenceDevice.pyoFenceDeviceAttr.pyFenceDeviceAttr.pycFenceDeviceAttr.pyoFenceDevices.pyFenceDevices.pycFenceDevices.pyoFenceXVMd.pyFenceXVMd.pycFenceXVMd.pyoFs.pyFs.pycFs.pyoGFSControld.pyGFSControld.pycGFSControld.pyoGroup.pyGroup.pycGroup.pyoHeuristic.pyHeuristic.pycHeuristic.pyoInterface.pyInterface.pycInterface.pyoIp.pyIp.pycIp.pyoLVM.pyLVM.pycLVM.pyoLockspace.pyLockspace.pycLockspace.pyoLogging.pyLogging.pycLogging.pyoLoggingDaemon.pyLoggingDaemon.pycLoggingDaemon.pyoMaster.pyMaster.pycMaster.pyoMethod.pyMethod.pycMethod.pyoModelBuilder.pyModelBuilder.pycModelBuilder.pyoMulticast.pyMulticast.pycMulticast.pyoMySQL.pyMySQL.pycMySQL.pyoNFSClient.pyNFSClient.pycNFSClient.pyoNFSExport.pyNFSExport.pycNFSExport.pyoNFSServer.pyNFSServer.pycNFSServer.pyoNamed.pyNamed.pycNamed.pyoNetfs.pyNetfs.pycNetfs.pyoOpenLDAP.pyOpenLDAP.pycOpenLDAP.pyoOraDG.pyOraDG.pycOraDG.pyoOracleDB.pyOracleDB.pycOracleDB.pyoOracleInstance.pyOracleInstance.pycOracleInstance.pyoOracleListener.pyOracleListener.pycOracleListener.pyoPostgres8.pyPostgres8.pycPostgres8.pyoQuorumD.pyQuorumD.pycQuorumD.pyoRefObject.pyRefObject.pycRefObject.pyoResources.pyResources.pycResources.pyoRm.pyRm.pycRm.pyoSAPDatabase.pySAPDatabase.pycSAPDatabase.pyoSAPInstance.pySAPInstance.pycSAPInstance.pyoSamba.pySamba.pycSamba.pyoScript.pyScript.pycScript.pyoService.pyService.pycService.pyoSmb.pySmb.pycSmb.pyoSybaseASE.pySybaseASE.pycSybaseASE.pyoTagObject.pyTagObject.pycTagObject.pyoTomcat5.pyTomcat5.pycTomcat5.pyoTomcat6.pyTomcat6.pycTomcat6.pyoTotem.pyTotem.pycTotem.pyoUnfence.pyUnfence.pycUnfence.pyoVm.pyVm.pycVm.pyo__init__.py__init__.pyc__init__.pyo__init__.py__init__.pyc__init__.pyoapp_globals.pyapp_globals.pycapp_globals.pyoasync_helpers.pyasync_helpers.pycasync_helpers.pyobase.pybase.pycbase.pyocluster_conf_helpers.pycluster_conf_helpers.pyccluster_conf_helpers.pyocluster_permissions.pycluster_permissions.pyccluster_permissions.pyocluster_status.pycluster_status.pyccluster_status.pyodb_helpers.pydb_helpers.pycdb_helpers.pyoflash2.pyflash2.pycflash2.pyohelpers.pyhelpers.pychelpers.pyoluci_tasks.pyluci_tasks.pycluci_tasks.pyoplugin_sasl2auth.pyplugin_sasl2auth.pycplugin_sasl2auth.pyopyopenssl_wrapper.pypyopenssl_wrapper.pycpyopenssl_wrapper.pyoricci_communicator.pyricci_communicator.pycricci_communicator.pyoricci_defines.pyricci_defines.pycricci_defines.pyoricci_helpers.pyricci_helpers.pycricci_helpers.pyoricci_queries.pyricci_queries.pycricci_queries.pyostrings.pystrings.pycstrings.pyomodel__init__.py__init__.pyc__init__.pyoauth.pyauth.pycauth.pyoobjects.pyobjects.pycobjects.pyopubliccsscluster.csscreate.cssfailover.cssfence.cssglobal_res.cssimagesui-bg_flat_0_aaaaaa_40x100.pngui-bg_flat_75_ffffff_40x100.pngui-bg_glass_55_fbf9ee_1x400.pngui-bg_glass_65_ffffff_1x400.pngui-bg_glass_75_dadada_1x400.pngui-bg_glass_75_e6e6e6_1x400.pngui-bg_glass_95_fef1ec_1x400.pngui-bg_highlight-soft_75_cccccc_1x100.pngui-icons_222222_256x240.pngui-icons_2e83ff_256x240.pngui-icons_454545_256x240.pngui-icons_888888_256x240.pngui-icons_cd0a0a_256x240.pngjquery-ui-1.8.11.custom.cssjquery.jnotify-alt.cssjquery.jnotify.min.cssnode.cssservice.cssshared.cssstyle.cssfavicon.icoimages100wait.gifadd-blue.pngadd-grey.pngadd-white.pngasc.gifbg.gifbreadcrumb_bg.pngbreadcrumb_separator_0.pngcheck-11.pngcluster-ok.pngcluster-problem.pngcontent_bg.pngcreate-blue.pngcreate-grey.pngcreate-white.pngdelete-blue.pngdelete-grey.pngdelete-white.pngdesc.giferror.pngexclamation.pngfence-blue.pngfence-grey.pngfence-white.pnginfo.pngjoin-blue.pngleave-blue.pngleave-grey.pngleave-white.pnglogin_bg.pnglogo.pngok.pngpage_bg.pngquestion.pngreboot-blue.pngreboot-grey.pngreboot-white.pngstart-blue.pngstop-blue.pngstop-temp-blue.pngtab_bg.pngtab_separator.pngtoolbar_bg.pngwarning.pngjsadd_existing.jsadd_nodes.jsadmin.jsbusy.jscluster_list.jsencoder.jsfailover.jsfailover_form.jsfence.jshomebase.jsjquery-1.5.2.min.jsjquery-ui-1.8.11.custom.min.jsjquery.blockUI.min.jsjquery.cookie.jsjquery.jnotify.min.jsjquery.tablesorter.min.jsnode.jsqdisk.jsresource.jsservice.jsshared.jssystem_spec.jsuser_prefs.jssasl2auth.sotemplates__init__.py__init__.pyc__init__.pyoabout.htmladd_existing.htmladd_node.htmladmin.htmlcluster_list.htmlconfigure.htmlcreate_cluster.htmlerror.htmlfailover.htmlfence.htmlfence_devices.htmlfence_instances.htmlfooter.htmlheader.htmlhomebase.htmllogin.htmlmainmenu.htmlmaster.htmlnode.htmlprefs.htmlresource.htmlresource_list.htmlservice.htmlsubmenu.htmltitle.htmltests__init__.py__init__.pyc__init__.pyofunctional__init__.py__init__.pyc__init__.pyotest_authentication.pytest_authentication.pyctest_authentication.pyotest_root.pytest_root.pyctest_root.pyomodels__init__.py__init__.pyc__init__.pyotest_auth.pytest_auth.pyctest_auth.pyovalidation__init__.py__init__.pyc__init__.pyovalidate_cluster_prop.pyvalidate_cluster_prop.pycvalidate_cluster_prop.pyovalidate_create_cluster_form.pyvalidate_create_cluster_form.pycvalidate_create_cluster_form.pyovalidate_fence.pyvalidate_fence.pycvalidate_fence.pyovalidate_resource.pyvalidate_resource.pycvalidate_resource.pyowebsetup.pywebsetup.pycwebsetup.pyoluciluci-0.26.0COPYINGREADMElucicertshost.pemdataluci.dbetccacert.configluci.iniluciluci.logluci/etc/logrotate.d//etc/pam.d//etc/rc.d/init.d//etc/sasl2//etc/sysconfig//usr/lib64/python2.6/site-packages//usr/lib64/python2.6/site-packages/luci-0.26.0-py2.6.egg-info//usr/lib64/python2.6/site-packages/luci//usr/lib64/python2.6/site-packages/luci/config//usr/lib64/python2.6/site-packages/luci/controllers//usr/lib64/python2.6/site-packages/luci/lib//usr/lib64/python2.6/site-packages/luci/lib/ClusterConf//usr/lib64/python2.6/site-packages/luci/model//usr/lib64/python2.6/site-packages/luci/public//usr/lib64/python2.6/site-packages/luci/public/css//usr/lib64/python2.6/site-packages/luci/public/css/images//usr/lib64/python2.6/site-packages/luci/public/images//usr/lib64/python2.6/site-packages/luci/public/js//usr/lib64/python2.6/site-packages/luci/templates//usr/lib64/python2.6/site-packages/luci/tests//usr/lib64/python2.6/site-packages/luci/tests/functional//usr/lib64/python2.6/site-packages/luci/tests/models//usr/lib64/python2.6/site-packages/luci/validation//usr/sbin//usr/share/doc//usr/share/doc/luci-0.26.0//var/lib//var/lib/luci//var/lib/luci/certs//var/lib/luci/data//var/lib/luci/etc//var/log//var/log/luci//var/run/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=genericdrpmxz2x86_64-redhat-linux-gnu))#++)++#++#++#++)#++#++#++#++#++#++#++))#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++++++#++#++#++#++#++#++#++#++#++++#++#++#++++#++#++#++)#++#++#++))) ) "  !)&$&)#++    )#++)#++#++#++)#++#++)*++#++#++#++#++#++')%))*)*)*)()ASCII textASCII text, with CRLF line terminatorsASCII text, with very long linesASCII text, with very long lines, with CRLF line terminatorsASCII text, with very long lines, with no line terminatorsBourne-Again shell script text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, strippedGIF image data, version 89a, 100 x 100GIF image data, version 89a, 21 x 4GIF image data, version 89a, 21 x 9HTML document textPNG image data, 1 x 100, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 400, 8-bit/color RGBA, non-interlacedPNG image data, 11 x 11, 8-bit/color RGBA, non-interlacedPNG image data, 14 x 14, 8-bit/color RGBA, non-interlacedPNG image data, 15 x 15, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 20, 8-bit/color RGBA, non-interlacedPNG image data, 18 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 19 x 18, 8-bit/color RGBA, non-interlacedPNG image data, 19 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 2 x 36, 8-bit/color RGBA, non-interlacedPNG image data, 23 x 601, 8-bit/color RGB, non-interlacedPNG image data, 24 x 93, 8-bit/color RGB, non-interlacedPNG image data, 250 x 60, 8-bit/color RGBA, non-interlacedPNG image data, 256 x 240, 8-bit colormap, non-interlacedPNG image data, 3 x 32, 8-bit/color RGB, non-interlacedPNG image data, 30 x 18, 8-bit/color RGBA, non-interlacedPNG image data, 302 x 211, 8-bit/color RGBA, non-interlacedPNG image data, 40 x 100, 8-bit/color RGBA, non-interlacedPNG image data, 42 x 42, 8-bit/color RGBA, non-interlacedPNG image data, 43 x 43, 8-bit/color RGBA, non-interlacedPNG image data, 45 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 6 x 36, 8-bit/color RGB, non-interlacedPNG image data, 960 x 10, 8-bit/color RGB, non-interlacedPython script text executableUTF-8 Unicode (with BOM) textUTF-8 Unicode textUTF-8 Unicode text, with very long linesa /usr/bin/python -Es script text executablecannot open `/builddir/build/BUILDROOT/luci-0.26.0-93.el6.centos.x86_64/var/log/luci/luci.log' (No such file or directory)directoryemptypython 2.6 byte-compiled  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR?7zXZ !PH6>]"k%rJwMt!g`::It$,l0&&jU *xrz3=]ВXK5<m3`.g^0lf)뺱Q5ϸyT7SϘ"˄8pjzrI!Fj UJ{pW g)S8c;!w8m|#e?(I~KP}@q/$Z 2̱- D|效U_ĉ܉!g̃.;f1$U _z Z,ufgzcN/y:W)?=P|̣G6?A<@"5LPܡ(YjpdMU, mTR%!tYվ;9:!щ/Pp="$l@C`@!i %" R(K8ӗO: !uejhsisI1"Jz9]GNmZܓ5FIDMB}QREo5"؟6F~?qFS59|q!?o^t+kLF3R8;YD8uHU.3efc0O/5xM |$-a\6v$G 2ʷn( p?+ua'M5Qa",RSb7QЌ[H㐲t5Sv8vfEճF?dn3}_2%oK,> 7JAԨ'4{$}GtPWr0g. ES^'M z O"#358%! t %p ll4ԉXEaSBBJ*ً[)ۋߜVӊu0њ&e9w4{3ëa#d'W]>]xр&pglzvđC4C"_P;9lېN M>Q1NDunƊ 2*mXSTz&/}ոT{pָ0Z2&]PG i>y,UF= 9 ̠8fS(/n^G W*Vd4)ك /YeLߪJ]%Kor{jE&+hGXWQ;a h<W .'j?>YhX©Ә8WaH.K' z`ܤ֛$!Nl#[KLh$FU5^Lbr qpu^&Y!mza sĠXO~X]]B;IG93I8f4}2g7f5f(δ\OL<)?E_ywRQN.@9% xx~By$ q9(qϭ9"ក#^a&fkW.`:t#< A;]^%πB?SZIk.$b㡗B*Bpb&8VQA4NAڞolB a, 8>hþ񟺮n**ZG0O!,ӱ&p1cX|wfؿLwx4C(^#לB^W8ŝZOp=֫HiXHH*_- k%(VȤ0S_HQ~7,*[@8 wyH O~ 3Sgt}fz5޻T I%G[K%83+lW9%$x@}f6.8Snr<}ĘȵTT.H͛FN=YWhLqSMtB%6u3_6;yo1*ڤ8Q#.*N H.*׵Q'BE?UC3 !v>Tcޚmw:хz&A7ЄC5b\Bp_D/"rUMMniϼ-Xc~!\D9o@} Dhf=.^%t//^%poEHNV¸Y丣i' J(H $W ZiIAwV0nTeh9ZbѷV'yƭT^5+ZI_{{Ʊ=C8R:=7Oοt}w}MW6@>֒Q@0tᮖEf%nPeQƢxU>ɆC\1A#9,n >9~`A]-שDR] )y;}Ͳr$^eK ہl raAJPVHt~J~tdvFu$j:I$Fv36:gO  (J%"-[:0c.C .ڎH$ZOG;kHv'\bQ.[ ؍|im ޣ{# B<5#$]١*렩=d{Z՞7}AQœjJZr@J{E]NSp;%=F'Dc}c&Q .A&';L4~t\Z4S{e=4 pHj]Ykj-gd*p1l]C`.LvX@ݍ%IMEkl:HgGXs>qgfPЌk@pU zsuWV9jJJ6N>ȹُMʧ6pڅ(g#i%F<7fB;QFx-r'0^c>P[c#jĠ֤1s9=T{8I.DSaզ6O ud3C;1+:N ,_`rDžUT՚m[lYꫮFV)s;ThlBӂ?Y*Cd!ڝ#!J&\]-n:o'Tfkq>SРS*vPp&)(nvf9L!'>WڒDY?FWY J<zř̀x[r~9KMAvc|`Z3vB$t~gGߍ(V" C+2Ub2㦉Bw&՜ Zc 2i]0pL/aOlB55 ʬU=ē\+`%LOMTfwGɇmb˅Or+@ףJ8[MCMtGJ_qP f\}`L{MO ˃8Z˽d&h.HЎ\OX\Yc!ba"T92ΙZ;)y< D.bTծr2RT~'(#ƤZ V,TޓVm5uox"X)FJW ;V.~].X!UWD##g$z#a".;.'2nm#>4Dh\ fI$BpD.Ǟ¿ӭˣkaR]ԖQ! d;zholD[z3O,Jϸ neOD P9!tMIon\O?QD- ([\]>=v]9vb[Y~ߩ%+ι8O/TFҽirYNTZQ$ ?-` z Qx2x"Y2df Uyž8A>x1Q''EdA5md֍ pacWuDkj/,7;dz&d`uðM37KJn0 ds;C>Cp]4?)w%!yQCb%AV1Kv@gKX7V68Ϩ.jej'.L _\l?#;>EP;+z[#-yǽ ?Dľ `}s\#OgvG$a!\-*usBKA Y_63**N'y+9\bH<>BX&bZo3?9-%!#JwpD q- ?0xK%H,}c71:f6J8A rѼw8'em9b.APNSjy84S 3˜Vh)TٵMR-;U;lǦboKĬYe"28Q]6CRq65UHWN5e&$w nXw`R9JO)4:>_0yE;kb-i` B2nYoEg( ObVXT mJmŲY|`%Az.@P`xbFTcB-fb; P?B+/dE;7T&JO0=.OT/7x?RFg|fhJ|DZTڠ95%N8 EM7zXQ:EY*MqWRB5)X.&lԭ-jn܆7!U,66)v~ д=ZJ, ZoCMܱ !;NksPT峐9X@AVދpДXv2 G;4AWԌ(I\쨍k&s@-~ = :c!qe4‘%OsjrW rf~5⭹f ^*)O 29iѴp꡶j?7*tN!MCuM;"W4*F!u/Za|[q1v*^qd5祽koic'0J +9UKT|Y`ϫ`k_z'͇~g# i<w fvK]( Ӎ>_@ @*{G0mRGK!ݿF^!AU:;!+,xt@@:t8\c[tVhlTpjK 2JT9B?K|2"Рc!0,)кZrXۦM3 akTBO( J 7eo|̱֤3^Q>*~D&=pd3}tvtHl8#0nȩtrJv{^E;jmefS6 ©A?ի_C+]W7#:3 +G2>Nh_)e/dWu@V_Va.s84|?Juse_#HVr%9[lMG2hΉ<]DX $gzi( ѵ!GT%aح@\-ʴ ܬǙ7?k`ۛ6sJq5h^G~򱱐1i'*2.I|2&#BT2Zd`DێmS} }_H`k4<- ygi ӇCa{G'@5]D149sGfKSIfVwxRb@4l*OT,0!|Iv|a鑛&>aoy999¢e3s/.ejzq yYWt#!EҟoiMkb2HlX LR1@IKwQi!#){0_H в`fe-^K-C+HcˍBEwpX*_odVeXjI&$j'-KDƥtd֖x@?Y[BzUFjSÑHY&'hVl@"Gț$٪R]5M!1@_uB'TPs7 ]$oXoNH5M7d FuCm~&~ސfGaH)X3z\{I]bpTK*o/3bzkT3Y$r٣R<@Q2X;ϓ/m͞|[bam_65+;wv[soweELgqWn5% 2X-#X6l~LϿ7!+L q2WֱaQJW" -^ߗe*^.)tYpoD8v[W 7up˜chvLp`Jjj)L0p^^Wbhf&Z&+|fD\#hE{=lBA2+nƑk+/!cH8PU'.e Z$F,vCB'0/!2ޘ^߿*q1O^I.s3-%j!'(}DͧxMQ3(*,뵊4k^k&M&~`A2^Y7A?ǬWrU -m^+5y0Q5wwzJMj>/F-uw=4.xJ+u(aw RT?5,' +eWm@.Hߜ}w*:$]v?.AWgݧxu}QgxNtWZN=\aiK!1nhU8W Fnj)S*A~䠊9w th;5x(&D>ֆΩSSXwbBBp6?Lلaf|AaBg}+l- o⦛aO+-t`>< [#x: &unɧ9͊#OOf1m|te ɨc-SS 1-An+HJg M+$ay?SuDE`7$1PEbh=Ԑ"(.*pƙnL"ҙ#*xQKBEb4/{ɔNW\Ygc Q.!s*غ#Ci]WTbO3IB{j3 e6MTsc ߞ7Dլ!Iq& 2CO$OnCZ4VuDtkB{ז 8\Sqغb6kU<=0 !mUM^윐S~~:!̺\i j75?EٛC݄+tȚg^˃u1[0-JPL/ێfZř XdhKLq">Hwd<t(g|3h_ \ ٤DZ㽚73$ʮ?dymDǐrBܕV|c%ZT+ ̍r0".rNs%iq 6L.(T=Qƨ9 BnbOEMSI(729}N&_FgAbA 7@#bc/4v', ~-31*88>L8+F)lfsRX+fuBٿ!YGO#Vh^~*ι{ ϛm)e*/yXĝr;AmAmAb'ЕW3u\(\%XOcYί˂DSή`mUԜ'hG)OMܲ |P: IdEݵي]8uq$͙w`btEZ4 Yvr*w&s<(lb1d7EyZX &_pJմs .=| s_UJS5^?R>q)}p`A%JBi?oy x?/<A9%/F}u6b1obR;)Drg!NVX*Wb^; Om/'OT_ O8p/N:&+my71b>(mCjwr bW{o,jWE+9SʹP̮yx#~Ռ_㾮ڏ]-M:iNȆ$:inOU8' gz> >T?#\V'SFͽA,\E`CZ1B,톏:)qYsmWNՒpYyRlTR#U{%ؿNQlӢ(GUDgʜ=QuY>yoncyz2ou`y&IN[%MMLi_BŃz*LS‡&NMx2:ZU4@gy!DP*YomNGka[8= qAR]W7:5:WxL4ciX$El P݂9uI/&K"d$զC+e,%&K&Qvݭ' ڣY&9nߓ$J0eQ@+kSE 1j #E&!n:UG_$Bb?ndYhV(^?YNSO(`DT&II '3UN9$idX k42jIДRp3hhM|^yO~5)SAf+nF*M>oMWy ~^e c/ 'NjJe۬B|)F(2#X4u<.'F@%XqCSБW l0M֯~\Aۑ`t4B~2Ugmu# -OewYQ'{ڵ /)уCM^}. \+Eq*naJbNXAw- \B(>%$SrM ǒ Gkt=B[3&eDZrK6[t!1ynr,@ExMp&Y"Rgvv@Exo`}X OPjgzo9Eݜ,v0 O&O3nw2hI->N/1p_EX&ISFn>/HOo-t.®U*5NO-o(jJoeH;H+c%14y­t /8֮7z6UͫD#؆G"Z}&kHVQGz۷*^=e@EflήÏE͖mNkLwҤ8n6Lg,֤ބa5#׍}"|vu2N1[wˣo3;7ԊLr"m-1V^MjhCp> '2uÀ^)M8F}wpa`fڛh>Bƣ,!; `T&Sm":Sf3 ؼ\AA#sx%yV*z-i>Zi0bbtu31 'u&>b(Ee^7tƨ^ۙw;TjL(Θ(HҧMu[^/NWL?f|s5>@4R3H?`d{_Sȣdպ͋ދ1V!Cg>-tX,ܥ藦1cZp2Eod]ch='D Qgզ3ћN\HI˕J0]9Y|8T5˒ Z1N4bŘf6 qzT5aP`ӏx/(Vc>,L穜<F3X5[!,3-eCi,!P/M#w7 ,hZcZgjv#YתC3g'|ڋ" | YzT1K0`bRX4|I&@YvYL{tJמ0B˩\(EWzkdT6̔flpvs:ͼMS$벾'C ҉&w;LJs)Ú ZfyN<8n'ۋf06P(X,jĔ:YBL:[ C\Dm8}dZh5 BgbV`ѿt[)LNoM'.P\pvT Fn94ڶbXVe۞ṃR`B4F G#m~]:UFTZ.wS*ѤRڧ#7|U`<QMftWhpZI,A2]Fk2 @SNdsh t?^Q}n߿ւj-}zcmZIꏀE1?n,QFբ7Iz!x ۿ@Mr":>}r9!8$* @' YgqiQ{.ZS\sB[ZX8i@xQ,'iB[0B`> HV4gd@!F΄6ڢvW˥OXtEИ?l h1m_e34J [ 'tw,ɩ%pQj$>''~b489:ɟx p\- Gkf}~XupDK-8wmP4cP Y2_Y=f>v߫;LONݤ-jCB B jO 69Êo$8y. F#B4I¼e@em?(#>B"C[K9@{ω_Ğ{uZip߉fb<"H/ |>%fE Q-v9q|~'nD <ſgeoܛnךqڏW%t..Nm/W u#')jϚC~*~&kƿDScp)3.#I(НqߤB{.FBU|YyMH SS3HMk7.^ nm!1SjZEc]:}! jpCM9҄.0T(q́ ]1ֹޣkʁ&&߸]5pr:#63bH)Kj촅cGuTMtM3IݕM $+\t=1rRAe*/U2N.ۓYU M:M{*.5@T.<(o "/&jEFwqXG~@+u -2qT!Mˈ·5aetBwRD~t\+Zs4Px'2st11b(#b$"'%Gq ?&!*[+hC@?8>I] ~ZTk"Q!;X$3KNpXgPQ{n3B;`s^Z^zcjayȖFx3v>iWYP!bNrvz&cxi:=dtI02 X;P[(vMGw{;zxjbLUx[4kF:ȗAҶhDϾuUh1`;Di6ůFpS9[;5~#وpC{룙NSZS[ :.ghB[_PT< NDwfQx!5[i=ĊZt@n2:N):2t|N>xD0{.YT $=Vo1V"/ PR㗻r=@&s qAd.SMs1]EbVF9bu ^E; T٠Cc[WW_1#?sb2)Y(!6>Q*ԭ\,ʿ5I yb ][B)2gۄZ7:b.W1oZy*eѓg"w,N6Cۚs zqWNPў} 0?%j4zU 9eyɗnYly|R0%vZ?7QPzlX4x94bDG#!vĊ1[s(W <]%j"|-rG_7HHfIOEA .CwF"&Qft\lTqhs(xh',V 1VBuC *h%&v}#S 2kKRg|i^Hù*0@;jb^ɲOnVz^θ_W.@+\Z7WUZrdH`Q`}X y,LoA_ؐf ff"K;9q )pɓ랎G q+_St>,rO]'80D>ޚg^I^YJi^j\|.YkGXyFP0^"⠔21ڏ{х'R=,2q=MUiV8/qӻA4MdAR*AE0SH5AĮ1bR"N8^8d/E cl/k}猋rCU;?RRIfw/ˡv8Peu^J>xT AĵXeulA`FH Xp*@a>hN;+:Xwá/D'B,14Gh"sc'), [_v!}?ʁ2ZƋIlTKl)mE*c/V h%Hv 7/G>X걚Sh^k~e9Oǹ3eYVE/"4a^0&: HMأR{Q9`(ԧY$v=!f {Z6I3\DDVwbv3M^U^2 $Jr)L.{,p a|'mրƾC~GkPqO" lyxBϺ~ݫ_̅a*"bQf֍: ]l& h{7ȘV8YxLɨhTsB='dPMK*,(PASuZ%l܆A9Fo\z%Nm%YQՉTDrN/)g(ʮ6`1@/11p[5dQ&S!0Y60?ea+Q`sZ_j`^!^ՊNe\ Eń4: |\',SM=rq/Yjb8L]MC١ѐvj.G+8<ۓ'5TbBT{1#m4Hc9DycpN/ Q7fzϺ#!=,-Bq<@ռ_Ei!;TaguiqTFpgDBѬ DŽ[ĉ.djN3oy3"z9NэT1㛮eb[Ǩ+=Y:E|tMR0%?_Z}rOs>l2搌6b޺I@QeL~+ @dMLcD%ĮܪY.hb@꫙*~rgAa$m)v>*N4qʀ2cXgϙ2{Æ95XoDm0[cq +C`=jfzқRk.+\$>gyL#pB:ˉYL}<Ĵv.?vDB_' hfrZڛkĊ7AD$2͢K;Bb+B] lG?׼Í)Ѕ/Ac[).ЇDMy]rzAJYGrj񈌙мk~݄݁9FkHθE"+Y{f|{`DK. ZvU93咻}x@Zv?Y:ОUG W <%e&G\=q`WU;Z8CM\4۬kHJ} 2]b׆Zb%0$ EϿub5pd#f͑Xq*wg -E,nm}p?&/S&iy1r0̌n:N9E,_Au,)bS Ь<.:--)FC8HцJ͛#Y*46i"i)QkOcHd+Uz);xR!}WFi}z(x̪aGod|jݱggS+Iq?Khy",.G?שr(G͞%*Y־o6FZ8Ы+NU7lgwIϽf_Խ+?$}ʆ)&, D$S ÕWͷ8`d͏%xsU]ݓ95 }VF` W I?F>=rJJGXc!Y,oAo4ZemX/pz)DE#XIپ_8gDWHsinKVӦŊ5ʯOc׀t,O =JPL{XXNwOɖt|^Q9ph66a %>cZd).>/Y2P_تl:M\O8q*08r+rIqcp@Pc7C㯦J c*skG!)-[p.E7eC\w(*%<1Q Ne sa@6`#>嵑>KXr0NL>~a=Ak+Bc`_0Eȭݲl{im%?LhOHaAvaJlWԵW7q&{zZrɅ7KHWYtA;|euk8P].o9Z̘5$:DIaw;3e6d0yruw`m2ˮ^C|,󁰯LjtªRD'#Y -8;n&;d?$7׻ӯ+Zӌ vqktJVjˁY!<ي*c(Pɥ}C#jP7AԳZ}?)RD0?~>>w f_#DX4FGr `Uu#Yj4_al Z {fGriEǑFg:gWui#"*r}lWRq/.cҡLGiDTչ%C75~#ܤڒ0d 8ki,6Z$M6*O2^AR̓1nڔȗa`ښGo } gTV塷=] ~SJ: RVHJ96_9<3{΀8 96c5J5+)RC}[ bcm:>4B+?9AzS+&s`[ݟ o4ew^ _[Tbt~EN' ^N"ML5(%A+h3b؅st$6G]d&;5_1F`y%3xʽbY 5Dć{[~POiNpv- p@o. ]df$SMX '21řB 욖BAƜrRUdled\&DYtp!xؒJtO"{c6-hzIyw5e>MLU yji+ƕ5UL'$)VCswM7V,+n 5GX%9zc.E$(D]戟\' ˏ;\fS+TIJ0ee )̀ކSyŽό'$|4wL8&7WN:.?{/(PV̳+ YPy0 L[oQDmO[s!~T3ӲͲҞ$f#4Me=Ӭ:biïV>y l(m)|;.,?VZSzRR$:ib|F٪|7Xj4t+<|: M7a+QO* Bih8o*ъ՛n^5j?o龗PawIC#B BmK9D pUC+'cQi/݇1fc jS;Iz>t4/bEJ. UPYip [Cy6FRt1f$5=$ 3}i5K3ryQنRl?ξⴟQRү2-A0 c<6VpvH68PTn|bZVב VuY򸥷˔d=̹ӈFcMMϟz YRߧe]>ȿexiR/ c,@buA!3?ۈbK 4R~tb{\ YMYM\v;L+ؐ6msGDKpzZU%*}2B/ ikplC(.bza=o>λYNPݺdė2BP~qe7!A&T*@#v.ܟv8L]L3sĭmFs?l#5JNӥ:VySֆaGl\F,Z |QPn@I֢LKKىzH x]!%n˰I]Ih; Q!ǒ0^;h1hȠq;.I}F(# ٗCvU*' UrO3oa\m,w%qMn_]HO'wk|Éإ #Ս̋ÖRDʨs |hϴteȋ2+BM m T$հ9&-؍4Y }T-2,*hQ]GGo6y:#h3cO8vdȧ(y\yOesxMxxbP,n~Q|6QEx y+Cʑ*5E6lNp2wdiKlH|2V-HXa8tvkuAqB(18 &|@b#L)ug p Vw^ zTZi/m+YBwv1`}䌤(ImQ-ES;agt.+>۫bp|#!k`2rFFn.)f2]ڞGhp3,m$[9ຫ8cxjC+*OU4̻Ȕ6g:A[\-l\όrOYqx `#Mo#vVT=g|ON xVN:LPi0d0pkYߙ רIφdgKp9֐rEH6h f ~K"}2TyKu FB@}nB[s1?[4lBn@R&+G 0_"Ng4BroڦJ"SnȍUx-dVqU93i3a[[(#\ a'GчTRD-sѪ,ފV3eͦ1XNh&vyA%l2g; &^'wlaar~y:SKhﷷܑEfOgJ,u>q߲H{4P -g3b%&B^B4 %v 1ԍ(-h"}YXlw8%vիm`c@uIQ 8'W A AQ~WQ7d*Ÿ ȉP6`1pH+\Q1l(Hm@!sl/hxt;>>ݳ~"D˂d28(\Ma육yOjX U*zyd-"Ħժmx>J.^[*%)%=6* 'R32-|> $k~ W{ժ,Ʈ6cqalD"ag8N63VIc]vǿ.^vb'VL+B*bQzVOxu@)8Y8Hy˹o=k~u%6XV]$@Uah_C2Ԧu#"sy"Dڗ*K-%c V.ʸ>pyc84ú!Li,#%6VU!qpVvfh\q"ToV)niLbT0rս|QhaR}A{Z5zm$R۰ 䎔"BD:?w+G:5&ov W{ LfPFv[j)Oz@R$Whzy 0 Uqj/]tn&zdysܞ&I=o2E~nLm+_c} rd/ ?YP`Lw$;@sp̣/,I 2E64%\/^#F%jJ{9nS@K̾Q[ 'D7t0F8C홣Ҡ4HuQ%cAػ;?tr|oIX} ͦLH#p\IKʚ.7F4MGw4OZ:=`Yp3 M%hJzvJA^:J_ x9r6ԡ7جdȁh6UKF:X;FaU=z0c%=_zxo)#xY!mIcjWҚBDzzRI״@>L|s۰8>ljPgSPA峉SN/r'Ue4,ꤊ(na@pq.J btXRM4~>H:p~ !$ˡAuhw,Rn6f,9Ķ|jm4?GS2O4Ϲ4#~WGSRNTZ'FI7LjQCgc`NbEjue8Ycd?N U"{Cg7?Ë8 MNt}_0ӑa9&9%aJ-q'-1 >31 jBBznad|Nf7^M,3N2GgQ zBϷ1DU[:=]|st|SV ?\m7-v 6Q_klN+=0Qj Y{TE~Ȝ3` W/K'C6udujg>v P|5b'4?8ߦ{P#HK9ڳ$C3!?%~γ"Ħ!V2؞bɧ5d&o[31rZjuu5=Ȭr!?16t9/5v瘤]4WE“Go7xA˜/PmpTƉrQ6)ƲM~2MAyWW)A2+ w'1TE-J`6Uq?<:Ck;5IژUtrꙊ.f{EYՆTґ%֫I'ME"~awR$;mdG_`q-ް9\oh$73|,M`@@A5pJ0#JFThkX"jϦjHYTUȋyrXfHW[4ݓ[ VI/t"J0Gtcݎ_UMVhA{;t/Ń4bqnC1V)uX ixiԘ0BWU;yGsx0ӫ6@9ѢrE"_1(yyI3%q}3 .LO@G`2P2-YUؔѪlz】3ش"E^ pbSx} M?qsuv_=8TiUcT0I &sgjhv0#rfsR]*#l㽍Ppo5  $B$z]pk}8x&843fa|YlYW|X`j=_ 3)Īڃp7}pX Vugi }OE궧ƉnV$E_NZ`wz8j;@M-Ü9-U{͈݄4@H3}lWO\*tJS yN۵!xWy"~]KN!]^z$EjCS;L,?I65Xzj by𻅭4C pTS 9J(މ)Lԩ׭."1! >I q3+*:) 93J;=0Z|VXH" ͯ5>͏8Z~":=Tp$Ye舷~$TgSv6xO۩*n'P`+  \J̩:ph\lgK$m1aKsu4Z9`bR0y8STc@e EC[Q&ciE XՓϚ ݑNk"|ұѭep71o Ֆx37r,,RM^y2Z8VIÝ|#O=e쳬;UJ ^p#;0:XY H7;5xҟqLf;v4x؈z 7o 2| HJChpAMpŇyeQ]~a βV٘J1]c}$Pe$Dpݘ+X晅 kjxpU Z]*Ziu;yscJ ÿ4'H 6рd廏+#Q$K t{'xc QiD,H{9?S $o8/C:Xw2\IࡲݫgeI4|9V7fC?pL;܈AtB{ϭ&rGUkq H.񖁝A~_\[F(} 8Ê"Z `퇵]_ f?4h P[ҺBy4b+ל0g(Y NaH3R?(.NXE%hK/DǗEOwG`Jыrm{C'}CxXz/a&1,\, E4tKsW \tjK.bN|ZvWMx"2*vprmo4tɰ!DSsJJ+xf-49 O3ܓ'])s^փ(tZ*\{S[MPIc'Ԣh,IHcb88ʣXM.A P>Ҏ(qF%Q!ɺS uT#8M\wu9>8&9^{v6-V.`Tz lijSs}D qx< .+&QG0"#$1h \tK=`=(TrlHSR;k2!PO\1SIg.85i5(Yj,vV,~-fyqoꦎ2!JѪ2.,? ,vasKW/"vujyU+5r9 ͋/U<52יp$8xPGMyъ^ dc!<%Yh<&@TOi3&2S@@ )$ "L p>kESΟwIU1I Q-Pjξ'.lœBBl`9\+46@ldRAsE`N޾BΜ?O)je0.K$BR%.6gwMVmTxH6M Ӫy^ |Z7xj g2y"N*{w5[1;ꨐYUzks:rߓi"ibԬ/8KM+0\QLORQ q% (C$zcw #h|'T310AgL3M QQe ;)9U5]Y%jlTeڼSSٱ[K$vWJ{76U/QAKo+d!K^?Ñ>Bط+"`V;Е44fMI󜍩>91-dDLR*vp};vt`( Dž%(aWog~G;hE8khm /\~ %{J5x[l l"q}_HМ"7Au2A>bpr#P#Tn=H 1שI<zʱRO%ouv= --S:zD_M&}7i) $a& Yor.KdgfX{5 SX`7g 5|6a 駚> 1N"1{9 EH@rsPOTM@H}eBCGЩ[5m l)bKx*UDe^r_#@!![mEc:l8^ mWA>e"Mzd\>>#21ڄ:L}nŨ-l5[ '*XuϮеFfaczvf1oVa.3i$*j^ @ezex d  S!ːvk則v>p`˫KvcF(D$%'X4FTS0 . u۬2S80⚓YEK%&txmV&b:c'TO|_Q)|6rɋfUJ&w[p[xAX[șL֑iPۂifBqϐs&BE\2 iA-A-:>6%q%z C.AP4DTG*h%nn)23TnÙKN;LOCzxIb搜jFF'h9;4g7l2*\wa"z'E2/eK)?A5zR˶\3?eq O!lZ yn7l 0a2ANZf RC춆9& HJ(}7ڗ*^y|iluՅTC0j(O2ja6!`m(l>g/Qsֵ]!W.nODc\9j i\S\-w4ZhNP).>#Rwޅ;DREsa/d-lv_j7wD{)r7~ jIBq.&UN?򡏐^_-ipD$h{l|?Eֺ6!x~{#7q u < :Jd[gZɼWvšhWEu:@7HC>|csvWB>y; vۿNH Pl3n^[- TYOcm#g FhՖr]*=9Sαj>sP!AxXہg+1 xtB_GY1S4 qf_.L':n#D\UY@YS)2NQL+l~zc^G'Pخ%ʩY=$F'HG5'Ĝi^H'A{xtӐ h%)>X~Kn3ؔk^6:Xzy}>Kݠ80"rs^̼wZ(A/dk5IV,5'e,z@9HwSũ&),UFvj!I AضAC{(2BT7(4&zHE |5vϊ .)Rz4\R7ɕٹ. :NmAu[7B²zsi:m6'@9 m)jp2n$i ^V go>=H[@Ru=VUwa$5a x'+]5ۉK&Ց ~Pڒ?1^Wr- Gw#ê~fz!(Aq|hNP0lg"J=xoC. Ⱦ0.eR];0 YFؕ'=iFTuc<'s`/58wĖpl} Mpl iԟiHHk+w_N)5OO'Aɶo5'Q%+[+@s>.'F ܒlMCA%9IuD+5`ӪAآ#&x.53[m "oeTS<}S#ecmT8L7hTjy'LJi>U*HQ\*dC荀"yH_ݟh5 @hߴ?ubI1^A->/~GtSH叿QXnp/Ge,S7qJvZ~!@xpE;e";P XM 4wpAH1&1F t-L7)Q) ܕ?RZ f4cV$$EےzKu綜C-@Nzkש$wv<$NNP=]! rʩJE% `/k#>^ YJKv`B# +uje 6vQ0~: >`m{K5|Q/W{Y)h_K ^mY(gK]M@=5|= _וc:n6I^,(ѳSWa#Y#r!Qgsb ˬA#bY)ʚfelu5n:2.F, UCֆ; ;j6 &RIz5?˸ d c.\>z_ϗXճv*7ݷ͇e>w4 h|$.@68JLA5*ϔgh_ nQ`rl\C0VU6O(´v.a vӈ^\~^#PpS)bn)W(v՛.0 mr#nzǀkqX_'^xYkQQ=/aӥ̦c5 W 2L vM 7)qbsO˖?}P@[#vemNF7<8yXł}7*y",MmVD\ "*w`LDL%FJǭXetip5>L[ש= ;a<׶!%>u^g9bA.*1FU{wFo$ŚG(qҭ Ŀ\?7mXib3{BJ"L@5\n)BbbpϪ}k~+Tj p:UU[HKʑ$P_ I@"3g- bSuG]OO1|yYdcctBtG7-L8~c5thDT=+Fj;5NPEr4]K1^K쨖FDg#lt/$JҲ3i?_b, \†1:禨zeP씦+3pv;ʜw~F'-i7 a&9u3H U5~0b깉 Z!&N]Yl]~#VvqgچF!͆Ztu냹ϩ9 &y3P)p)SWhtm V ̭btr8_m+I]l:3"1Q+]&u\3LcԤ% :pTnh 2Z btU ƈź=nqk{%j?PEDw௢37VZ*Nh8SY_a, Y y9vxg-/T[΀$NbEsWVя,Hѵ:i-o8w"NB$Béܷ2╫?!!14ˆ5r$ƀh.6\_Ցr6: LZ@u١zVF9.:%|wsoSҵ쐼`a7~sƍ K/Ɗ2\Ve-iџfjr0MߍEUW$ũ1pX)XZ{;C35/g ogF͟Hyΰ]mr}CSL\7ܬ<]N0LHSAX]| nXձaj"|'݁gLK;.xFbL952ٹe$>TFn T&mlVDnI]>ayr7:bRl DSRM@5Kޥo{Kg(v A )F]%A.5j%H~JI-ګڠ/qYr$>kd{ `}wE ]b+:#j0p{ޞ WD͘?l1`vٟ8v9 . sMKY62ː:9 ~ͷQNo_{j0gi!avp3,O[8Q\f78/ݷ5pjWq@n~b0ꭽhϓw=W%c]^s݂nӳ2fF=nzxãfﳺyvxBiTf* [7 ܢI[wx|]۽'FT[|̵5%YJ5ӓRjY։5&:Ylc f7_3?)QjZ8vliX (A"U{E]bEmNʒnb/j.?YX p;sc|s5̦ɩ'HJ0ay|8|q3aɁtE,  MdOw }@R {fpa^C?^"vףS>)63ҳU LG[yP.&rjYUz۞L>NT΍OMDT9s$Bw:=y@ .gsjSg+ Qcέ ֪Bq%n5ÌH.'8*.en#b{-9W݄v] D@S9_-p[~֓E2Kv %ى?\AW#M c/rf7 dkX#c'*}IN% 5kӇi]]>CN8 d1 ΨkVȷ,3 x)+].,f#+UCw+4=y̳cO$r=X;-iHAa)-*s XD`^_X'*LsfLF^錕)H=)F$*©?9Hi.D"~an:k]{* o\`" -܄8&hkӃ[`c%*C'4L" +Dڛ_7qf(jc/lt}xX]}X fqSCyͷO_aߦ򰟻Qd+ݠ(J;FJ|*Lf GO䵾M!(MO@m&.|XASB2 Z$. ymh:²26PׁiƮ(Ϥwu0eF^z|p kܠY M&Vɏ#Y#0OMՔޏ{¥(>|1m"8]UE;ۄS`sAԠWFpTvog(M L=,ζ׽DXH!$˥UD&6bD<- e8n.Cw튊\z=BveS. HOȹ/<]pĂv+B]߇9V3hNk9<ˡNT#6h v*MwwE:{/z6&z]E.2 cwBkzb4qUObw5w,#7TLUԟoR/5*tm"]li5ޔPsrwpr] D/>cspdN7I )ʩSR&2.++;bg#zȤFD6sߖX:HS7!Q^wsjTlsL@rgAK/= ~lڣxP5d1YK1!kcg؄,?!K_MQpK vٰ xr7;S$c" +w KoN'"sov_[d*F x šأk&hŒ![#ܰ8+n|8R2[z?5J?)]k#{ӪU]462`z)&[ jg0? fdC1ar˂άu 8@iEw,q2='I"8D nf /N@o1tKx.&tJd'+36~q<_)3UDyu=| 6$.8b i蒺cUDU19?TPkQҺD\mܘ.6%A'q_۴RNhYau rhBZd'탞Ҕ-6xc}a@;7F*)dZҴ5c7.um;]G`EV#7_9. Xt uKf8;̿)# ~T=|8L^˸nlM#vG { r~kP~~uҜJҽ,<#Du>)lXn8x'*L ه? )[G*ÀJgA``X)f)3ҘfTs"vKv2[ܘ $3bLI-ohh sz_0H_MRxcfq8t۵h['UHBjS#Rmy/p2)\?&ogw>꩙ ^)ʤEp{I4M2؟^^n۬`olQ|ͥ|U#œ0}$\,a,$URKaXv{4a]F\ҚjU"C- M3P_A