luci-0.26.0-93.el6.centos$>LWQmG0j,>@?d  S 1\bg ( . 4 &@   L""˹"(8$9t:=P>P?P@PGPHYIaXcYc(\ch]kt^h"bdrewfzl|tuv,wxyCluci0.26.093.el6.centosWeb-based high availability administration applicationLuci is a web-based high availability administration application built on the TurboGears 2 framework.X_ac1bm.rdu2.centos.org$}CentOSGPLv2 and MITCentOS BuildSystem Applications/Systemhttps://fedorahosted.org/cluster/wiki/Lucilinuxi686if [ "$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 < 9 9"'F'F;!!    _!!   xx33++++   h h $rri Y  ">Tjj/ E E6NddI!6!6_ <<<kkK__ ""==== S88 f f q{7":":$$!R!R    ))~~xZZ]pp1MM HHV+H,H,xx == ) )!DnZvZvddWE[E[[ZZOggeeeO^^8.|xionweAb-s$2~%6@ %Fya'6 G^,i1W5 u6} uG.Xz O-e>- @#VE% =<j : $Jl* k['9X3\ [  } y  Fgg5)8)8Zyrmm , ,!F')큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큀A큠A큤A큠AX_TX_TX_TX_TX_TX_VX_UX_UX_UX_UX_UX_UX_UX_UOX_UX_UX_VOX_UX_UX_TX_UX_UX_TX_TX_UX_UX_TX_UX_UX_VOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_VX_VOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_VOX_UX_UX_TX_UX_UOX_UX_UX_UX_UOX_TOOOX_UOOOOOOOOOOOOOOOOOOX_TX_TX_UX_UOOOOX_TX_TOOOOOOOOOOOOX_TOOOOOOOOOOOOOOOOOOOOX_TOOOOX_UX_TX_TX_TX_TX_TOOX_TX_TX_TOOOOOX_TOOX_TX_TX_TX_TOX_UX_VOX_UX_UOX_TX_TX_TX_TX_TX_TOX_TX_TX_TX_TOOOOOX_TX_TOX_TX_TX_TOOX_VOX_UX_UX_VOX_UX_UOX_UX_UOX_UX_UX_VOX_UX_UOX_UX_UX_VOX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_UX_UX_TX_VOOX_UX_UX_UX_UX_UX_UX_TX_UX_UX_VX_U5b4a180ec42b5e9862d33f18f7c20383a428e1302684fb906b5aa43db2940c94aa2401f90a785a3fdad47b0e2873b35f8de22ea96f24951344f06a7136329bb1bac17f8048f3b391717b75c752ab0070cc78d419cceaec85f8fce7add1c717d13ae0e78c4f4fe1aac1a941d23d404adf308650191355d3652ab584542cb5b0f13b9b9fb5c1a066acd809609ed312cadd20cf9ca6f3ac042c798af9f18b661a1f434e1921b577337a570421c5c95f8c36b431fb6ac86dbea949f1693158610f42c61f4c087cd0e9f0aba5b8b127dab157e32d449c5cdfba50d102f1eeff01309201ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b3e8a900556b252c38881874a41a9c3e75cdce017b7d7a521c8835670fb658d953346f9108345b1a71ddc5a5c626bbb977c84adc0d440f00d9459737ee124c9b3f29b902a88e4fd907ae8b5ef6a1fb2ab34bfc24f3af5d566d20e55fc6e48c6a572f79537c77fcc039a703020df8191e7cd8f168c2f4627daaa7825520f2af9a028bb4e7a75ec2ab9f551fc8918fbe7e248486b883ae3ad3d69be3c5f5cc058de38b1da0edf2a1ed914ff0d13e2a3937bf849ada54baa84801c07d47bebcd937c38b1da0edf2a1ed914ff0d13e2a3937bf849ada54baa84801c07d47bebcd937c3bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece208838a06542b74a7b0e96bb8c44c05324a7e05a48ed7631748591eb4793d7dd17fa62a06542b74a7b0e96bb8c44c05324a7e05a48ed7631748591eb4793d7dd17fa629193738be7da3cfceee00d52d0595f0b0fa7590335852e5b35e06ea0df698ab50fcade7723f832d2dd24bfaa2eda7298b3efb3b51f85381c539ccfbaac0b3f6c0fcade7723f832d2dd24bfaa2eda7298b3efb3b51f85381c539ccfbaac0b3f6c963a42e37b09dc38a2333fc80f87c244341fe7083beddf8ebc5f0881e17e13ecefea39db10bc7234a1ff8a72cb02d522f2c49e6a765854d8b92e258442bb2c81dde828ed41b2ff6dab1b50f13b8bb1b8af0c141c226570b2c2e01c5c11bd6b1cdde828ed41b2ff6dab1b50f13b8bb1b8af0c141c226570b2c2e01c5c11bd6b1c126506a6dea2350216152e603f6c7dee4a834111739c8950a5c687539919a72725e2efa7e56456fc7cb215a24601408f9d6a0d2ddd04588c6395e78d7277af3825e2efa7e56456fc7cb215a24601408f9d6a0d2ddd04588c6395e78d7277af381735d619a5c0ac25f0fea7a29707440c11da716e335246636fedb3c5101ffe42d7f6773a3304587d9031623602aec7e9b3294da15b7f59f68698fb359cce9d03d7f6773a3304587d9031623602aec7e9b3294da15b7f59f68698fb359cce9d03a37da695f108350982cea9cc9b4179fc7b94be7ace9c1cc9929ea1d417cb8ad68ca133bd003d6c8d5d5be41a5ba7fe8820878782d2c210fde9d4f48c8f132eea8ca133bd003d6c8d5d5be41a5ba7fe8820878782d2c210fde9d4f48c8f132eea30706dba0134eaf426a0a1fa5e8f2fbc23a06ac4318c546d1a935b0fced4b6d5cbe903cdd7751a7e2be9ca4e63f1cf8a693de3acd2d16071abb5f8cd55be221ecbe903cdd7751a7e2be9ca4e63f1cf8a693de3acd2d16071abb5f8cd55be221e7ec2d551618f1f79cf06880d052220fdc29e3a33c998e839b4ee57f12042a00d29102dbffce321870b55727088e76c37fbf63d0f8f23cedc26787472c42b317729102dbffce321870b55727088e76c37fbf63d0f8f23cedc26787472c42b3177c0366e284cc8aa7e94aea01be7a64e35b6f92ecc2a6a96a39a3b05f167a653b1e8ac1f3edf74d029e08375c5d8b00cdd17bb3948f3f4a0f8e27ddf67962a6ff0e8ac1f3edf74d029e08375c5d8b00cdd17bb3948f3f4a0f8e27ddf67962a6ff0ba227fcba0a961f6eee8c1bb6012bba8fc84c697b0f20518ee623972fdeaa7eb53bb1f78a3d556de440dd65da89451eff24193451156ff234160c55ce1fbbef653bb1f78a3d556de440dd65da89451eff24193451156ff234160c55ce1fbbef658a5080fbe9ec139fcccf622e5ec705200efb835b6b033606c3169f2715ba57b7da818e0c092fee2f0205cef5439dca1b3c700069eb2949209de7785c06166667da818e0c092fee2f0205cef5439dca1b3c700069eb2949209de7785c0616666fda598be422b3e5fcea6070b010702cdfed6de683f33f2235a6007470b65ebca4c9de54571f1c24e5f329d9d6156c1067b2c9d998e3475a92ece8b8f79cf265f4c9de54571f1c24e5f329d9d6156c1067b2c9d998e3475a92ece8b8f79cf265f252999f31c5a45af4c8ab5f81ed04b1215aa06223fd998674d11589a63443f8817715538e0cf7488921980534fa5717fda19e7d11a8817bb0dd648605b08031417715538e0cf7488921980534fa5717fda19e7d11a8817bb0dd648605b0803142e38d8ede63b63d56c80f5228d7caac11b05d60bf4984280fdc0baa495c9c97de7cde6e51da32ebc83c0beb9ff8fef2b7ba944c0b8b888c12fad03b96a6533b3e7cde6e51da32ebc83c0beb9ff8fef2b7ba944c0b8b888c12fad03b96a6533b3633c37c50c8707f32eeef393f73034d15f6c5781d2fd612e28233da8bb18088c96c686d999361336174d1d9184936d75d52de7398bffa3ad7358aec0bb9042ea96c686d999361336174d1d9184936d75d52de7398bffa3ad7358aec0bb9042ea460b1080a509473dee962af412ec8505a568ce0aaed35d50915fdc36df4e7321a3689a4a7d8fe97ca735a55f825736607ba2174623366aa940885ea871035e4ba3689a4a7d8fe97ca735a55f825736607ba2174623366aa940885ea871035e4bda6b84611751704bca30ab609a4ee55cda7c6215d59e5e4bafe0ec7e04933409c64893f844d85753fdff07a5e55aae837342bfed5a533985829c4004bc00b25fc64893f844d85753fdff07a5e55aae837342bfed5a533985829c4004bc00b25f42cbc5b3663cb19a1d22f077e3bcafebe6c9b0d91287f6103bf0b45e45592e22910a0bebf9b6f7aa5988a7bb01d5a0f4b3569aae6b8de023609b823c905d1496910a0bebf9b6f7aa5988a7bb01d5a0f4b3569aae6b8de023609b823c905d14962be748e87db2b027fd342baa4de2edd29c98a3b42883faf6b40e55a26c527fb41c69e3224abf1d64741fcd4ba6fd5bfb753f318f7a0b2e952f7547b062a4ee151c69e3224abf1d64741fcd4ba6fd5bfb753f318f7a0b2e952f7547b062a4ee15679635a123c0853228edaba8d21add076f6942fbaeb3d0b51704857e3ceca9d0a025c42a9d7cad02e17e93db87601eaec3677d19f28b8a6388ae341f21777bf1a025c42a9d7cad02e17e93db87601eaec3677d19f28b8a6388ae341f21777bf1515f0e3f676a739036157e9718171511ebe2da72921ff6abde37e22dfebd712eb36139ec4372229b0a768f95c0a19c214c4042ba96bd44d8615cbc804f3d82f9b36139ec4372229b0a768f95c0a19c214c4042ba96bd44d8615cbc804f3d82f98aab34805444160035f5289f5725bb28236c32edc78a971b8a3e3786542991686309c327152379f03756c8149f7c6ca0a7ec762d57f82d8dbdc23e414ec16f4d6309c327152379f03756c8149f7c6ca0a7ec762d57f82d8dbdc23e414ec16f4d3118d831a52c45b7ce1065a1e5363440b858ee7e87284ab6b39ee7b65135744887a4e6724bd805b6915ecab8d073bbcfd2c990611639a666821c3bb5b429942b87a4e6724bd805b6915ecab8d073bbcfd2c990611639a666821c3bb5b429942b88569b96b80a22df02711616884647040f6224f62af32122d03cf2ddf873d1e896c5025bdbb8022e7b10b5e79d4d1a4369e4e48a82f9f82b3f786f184d0d465896c5025bdbb8022e7b10b5e79d4d1a4369e4e48a82f9f82b3f786f184d0d465883b4d954222e836a02e7ab2be5cdba2c9a145c525f6d68de6d847686539826ec40f54e195b30bb0741c53351fb6edce722f042731a9e615c1c3c34b0c038b70140f54e195b30bb0741c53351fb6edce722f042731a9e615c1c3c34b0c038b701d666b97e5752359119d820b335c6dee7f014b410e843685195c50a1cd43232d261bb93cc0d68a9f8533264b3e88a477b751a9c95fe7a8505c32a64db48be71d961bb93cc0d68a9f8533264b3e88a477b751a9c95fe7a8505c32a64db48be71d9ebcc382d4ba5cc2e5cc143c833da3b1d34da4332dec85cce876b801ef95e7106931fc8951588354e6289056dcb694e468a207ad73823c2e1422e19c8885b3012931fc8951588354e6289056dcb694e468a207ad73823c2e1422e19c8885b301290cf11ef404d08c749cfc9eb3e10454eb8f584ed83c31fcb9ca5fb69edbd9212f6f540905273287b5299d54eadb0b44bf16756607285b2ddcade2a1502de30baf6f540905273287b5299d54eadb0b44bf16756607285b2ddcade2a1502de30ba2b19cb91942d1c66b527ce8b288cfcc03cdbe3b7e8d24ef39df6d9c5b6be459a2863401e1bc160eab5671de6b353465e6722e0ce7060f1ca79b838d69b5487392863401e1bc160eab5671de6b353465e6722e0ce7060f1ca79b838d69b5487393c6cd67bac3e091b9efdf09bb5d2c7a5ec588d8ea6a1b9c336d5afff8caba7a56b277fec5c042ba02d9174694947512efaf4a8bac7c477df968ca667b935657e6b277fec5c042ba02d9174694947512efaf4a8bac7c477df968ca667b935657e83b41310afbc2a7e41760535b94f2cdcb8f3a2e4237ec4f1f1403448878b1738e9a792f0ca1f45f43c65c4c978ccd4e11d138fd38dfc0a1fd9fceabe88a82d48e9a792f0ca1f45f43c65c4c978ccd4e11d138fd38dfc0a1fd9fceabe88a82d48f2a47cdc091c1dfb0d89edc2bf4e9469fcfd11d45a2d0da20599772a68763d861152ae2343948cbb1f49a6e0c222062419165dbe1df77091c96548d791a3a5631152ae2343948cbb1f49a6e0c222062419165dbe1df77091c96548d791a3a563cd4b0541d2771d22cc40c2dd0141a9fa73bb2343b34cb04d055be75b76a27e8accf2f41ecc87249c0dd99a808ceac30a20edd0a2b211e3891071839a5b9a7adaccf2f41ecc87249c0dd99a808ceac30a20edd0a2b211e3891071839a5b9a7ada196917a8188e6409623cd795eab3859d2a7dafefd9e818ef3f51b2f7aea23c14e00cafaa4c841937566f87c39e6ec615b1ee985dcfaa330fcf1884660240db09e00cafaa4c841937566f87c39e6ec615b1ee985dcfaa330fcf1884660240db092b2d4df8e7611a645c5aeac203d67f07fbdf1eccb46e2da11b0fcc9f27849933d43da468272ca21ef90ba9c4e2caf568d296cf010a8e397c759ce7386b6dd123d43da468272ca21ef90ba9c4e2caf568d296cf010a8e397c759ce7386b6dd12382b53d300074793bdca0bf8086506335bfd87da11c3e53b5a815fd914a416ba7248de3541ca67f64d0404cce68428c0655883026a5af08e277e4e10491b82ad8248de3541ca67f64d0404cce68428c0655883026a5af08e277e4e10491b82ad84205bc80baab4df39384e94f5e82aa504f8abcc403997491ed80f2c41651e486b2d89d440e1d5846d4a57f0d54ca13d86f8c3d14b6c3fa11d71c01ddeb6c0294b2d89d440e1d5846d4a57f0d54ca13d86f8c3d14b6c3fa11d71c01ddeb6c0294b622e9a97b291d6f61af08a53e687946014a9a0e1d221a558e2e00f4135be51b0c3516159e0d15fd5deb6e8f1482d6d7a8e08baffd6b3ac40746d2a2754424f90c3516159e0d15fd5deb6e8f1482d6d7a8e08baffd6b3ac40746d2a2754424f96c87dfe8981fa041c699b9b7fbc820d7499d1f18f66aa327bc64799041130f30776f4f6fdb6ba8ff8cc6b8f7cc4dab8720b51227eb3daeed6db217a169f16089776f4f6fdb6ba8ff8cc6b8f7cc4dab8720b51227eb3daeed6db217a169f1608988b09199f7e3ca5f01bb35e78c52a82a3e096b971abf3482bb947f5b9c2f9cb5d4bea61f7a89712cb8355c2ddb2f92d68d65abde4cd15b6ab65f7bb2de179457d4bea61f7a89712cb8355c2ddb2f92d68d65abde4cd15b6ab65f7bb2de179457fb9024bf57bc4e26ce6c1396ddd885ee57fd4c6aabe3841e0e84b7f0303bff611c14f99a34fae759ee41efa23d523ac1c62d9db5949f2a880624dd89098c099d1c14f99a34fae759ee41efa23d523ac1c62d9db5949f2a880624dd89098c099dfd1791c69c351458109ce5621d1cb32af857806536e9fc2a1fa2bf18e26fe41c5e49f372fc6bb6d6143acbc8d0de3d686af654968fe2f0bfbd0e6e5a7a7752c95e49f372fc6bb6d6143acbc8d0de3d686af654968fe2f0bfbd0e6e5a7a7752c96842d046466a5d27442da38b4fe361e696f83641f8028daa4e5dd97cec3b0a8dbe851808ecd8ab77aa86f379d06915ce74c395e92ebbf2b982eff77b090a4cc1be851808ecd8ab77aa86f379d06915ce74c395e92ebbf2b982eff77b090a4cc16d643fa95d976ed8c2c0287bfe782289d3835cef85d5e2f60e81cc1d4beb7bc8e1d590306f82216aae2c728b282fbe2dfa738142ede03e2cdd74b6a2b02f2482e1d590306f82216aae2c728b282fbe2dfa738142ede03e2cdd74b6a2b02f248249a39909908102801a38044a80bfaa99eb1421502d314215e84d9f2e2b7abd5fc4f0a4b970a8d065cae6004019f744e6693018b0d530880db1c150877d0d2ff5c4f0a4b970a8d065cae6004019f744e6693018b0d530880db1c150877d0d2ff58ea586873ed890e7ac6ef0409eb04624f8480386c2319e47c9c9e95e65ee19b328c15d219d4bbcd44684c15b1654b73ceecfcf32f7c813cfdbbca838cba1e8ec28c15d219d4bbcd44684c15b1654b73ceecfcf32f7c813cfdbbca838cba1e8ece3033b6761be7634c4f7e2cb92f337f6dc03bbbe45c86ce7fa28356bfea471bd0555f871f4b09d0da046115ec78fe6b315e767091d9a40ae54c86fa348c009ee0555f871f4b09d0da046115ec78fe6b315e767091d9a40ae54c86fa348c009eedbbc404d17c7fe421d208a3359e4a3d58d6abfa59efdaede657bf9d866024d71478290651c08beae2c91e2334593fe0a1475a2fed44edc1e206c6a4890958ed8478290651c08beae2c91e2334593fe0a1475a2fed44edc1e206c6a4890958ed898eb6606282f6638ba07e762ea452e54278868776a71e42e408d3f9a87d70edbcdc7bc4d3106179166c9df2dda3821ffb82170c91ac4bcde904fbadb7f300d7acdc7bc4d3106179166c9df2dda3821ffb82170c91ac4bcde904fbadb7f300d7ae4d4e42ccdfb4ae78bcf8859feaca778506c37a6cec7dcf767c0ed934621bb5e5339793078fe1911e3d87180507345142d212a2b03ae68ee9b578610cf1bafd35339793078fe1911e3d87180507345142d212a2b03ae68ee9b578610cf1bafd347be7f0af441a39fd769907805fdff264b84023e5552d449c4b0a1e4fed026e972c2cf3125de23d8b8691906de8adc4022145d6460c8480d0adceebc3db693ce72c2cf3125de23d8b8691906de8adc4022145d6460c8480d0adceebc3db693ce593f78a8009b35116174d50bbd37d5f43bc711b63b039dc7818e47868ebbca9d6ba2299286aef21c555288ed9b26c4fe4571bcd1873ad788eac6664badc751696ba2299286aef21c555288ed9b26c4fe4571bcd1873ad788eac6664badc75169e26020270b932a6f85d2f5f1476d3ae4221f737e33948d670e489b4c1e23554955d83b7c11f7d5866472c63a21f6c407715af049c7e946ffb189a052dfd9957555d83b7c11f7d5866472c63a21f6c407715af049c7e946ffb189a052dfd9957556892592cd569c213dd0399840f59779d87b5c8e50f82d4a6d10f78dde94787e4117a24109d74409a4f8ed6a1493f2dc7865b0e9877d8ee5c9133b07e637c2a24117a24109d74409a4f8ed6a1493f2dc7865b0e9877d8ee5c9133b07e637c2a2ebc6af978a49456b82308fd2e7b23d4109c9b640d3df6051149edbff6c3ec08ffb2b943506f1b6940acde49e6570d607732e4780f978ca27f15fb4c829336eacfb2b943506f1b6940acde49e6570d607732e4780f978ca27f15fb4c829336eac7f1b9d54ba7945b52bff74e8bbfa82000c186e3137a9c3ac255a23eb08c6e5beb3dcc705d355c3924061b406abcadadba327af705d023835f0c52da18248bf1ab3dcc705d355c3924061b406abcadadba327af705d023835f0c52da18248bf1a9f620a5c0a8aba0d3ce62d247345c7d437fe7fafddc546b295bbbed8cb3ee8247b5acdba83ad3a9202850c425106de5ddceb7cc291f8e0f804f1078a5468d6a37b5acdba83ad3a9202850c425106de5ddceb7cc291f8e0f804f1078a5468d6a339187a12f3fd69748ad96e53931aaf6d449fb800a74bc77c08d3a953a188b87859651d1f30f69b5f5db7ee7577f386aec408aa39abbada37b9cb62d62adb307b59651d1f30f69b5f5db7ee7577f386aec408aa39abbada37b9cb62d62adb307be9d229a39fb9e86c7bbdd3279af5c3a9ba3d0cc317f9e76bdf3388225948c3ea48d4cc8cc7e8a7c904ec7779e27901ff0dd65e61978189d47658633ba79d60e148d4cc8cc7e8a7c904ec7779e27901ff0dd65e61978189d47658633ba79d60e1dfddc3d2140ee4abc3854f1bfc7d5c8d7d40bd594d489e7254733061a9de2430290da9ca3fd1d736ba52914b9b9e1712460a6ed111295a13a882bab3ea4021bd290da9ca3fd1d736ba52914b9b9e1712460a6ed111295a13a882bab3ea4021bd2cac4a28e68e6138ac3c9c6283de571fe1ad26d3250024a42607fc5c4f8d1c90c6e0ef23696b902a2d705c7ea51a2f801966daf1101ad17307a9b20cffd706e9c6e0ef23696b902a2d705c7ea51a2f801966daf1101ad17307a9b20cffd706e933346300a8ed7d1d5d1d9dff4b44f4c4a3416ea1f27a54a83609b390e3ee47ca6bfc678196f58faaa7c5842f6a016cbe1796e68383381aa5bd7a26d32fd574db6bfc678196f58faaa7c5842f6a016cbe1796e68383381aa5bd7a26d32fd574db9b8c659de36f1149bd6d402b78afa49dc6f410da6606f74867d1ebf33d5fc3e495561382d700eaf22f81fd75adf44f2c4dcf71f68193fe0ec6dc07dfa8dd02e195561382d700eaf22f81fd75adf44f2c4dcf71f68193fe0ec6dc07dfa8dd02e160309a101b2843576406c1d584cc3492b433cd9158914ee7a9e9195d1372d5c82439f8522dede93d68d16b0c9b7b89831b5f54fdc3327dd0dfd21a7c7040119a2439f8522dede93d68d16b0c9b7b89831b5f54fdc3327dd0dfd21a7c7040119a349d182ef37b80eac7154ceffb38998ed7d82cdc3162f5be33a2dfd1bdbb278fda1f45233242aa969cec9a9bdbe4fe7c409495249a12f005fa108b7e3eaa25eada1f45233242aa969cec9a9bdbe4fe7c409495249a12f005fa108b7e3eaa25eab28d2296b937d17f1493e9b83d6f698dd3184e042f1ae187e20ac1a228c7033344fe037e4bbbe5396192b32222bb40430ec2b63d4cb514bf8e1614fafaf7e94d44fe037e4bbbe5396192b32222bb40430ec2b63d4cb514bf8e1614fafaf7e94d6f45dc12e5513755b80b72ff41e4eda6e20dd231967bae9dbbd0e8d074665208dfd50f411c93a9a0cc7f8409c08efbfddee5c95c32c545a05b47b9e3e1add8f3dfd50f411c93a9a0cc7f8409c08efbfddee5c95c32c545a05b47b9e3e1add8f3fa8dcec00cf13099b626c14bf90f6f518da89d8746badf5086edef1c48100b95f55499fa834a7a4acea80a462bf6a0ce85f179d7a03d961dd37be0ccd339e94af55499fa834a7a4acea80a462bf6a0ce85f179d7a03d961dd37be0ccd339e94a2539b65855a24ae30f600df23d2cabfd62c0aca481041d6d6cbbd5102bbbfa69046d406961491ed74213bca94b0f15a8be16dd18b587ce68c44a425bd9e57a0c046d406961491ed74213bca94b0f15a8be16dd18b587ce68c44a425bd9e57a0cf9f3e0d2d86df21e47aea10610849021c6a62a521fdc609baa082ccd1b76e2f0fe4eae8685e689da504a286a4ab3d80e3a9403fde4a83d1e8886fc278e35f28cfe4eae8685e689da504a286a4ab3d80e3a9403fde4a83d1e8886fc278e35f28c9dcfb0d38bef409fbd31155faddaad6a25dedebb5fda03adb4dcd293f949a296190d42a28d9ecfed4f616b809400ac85bc06436f56efbaab5d65a6366ed302be190d42a28d9ecfed4f616b809400ac85bc06436f56efbaab5d65a6366ed302befebd70156413f83af99ba3920577886bb5bf72c4698a5cdbdbcb069f6380d28b033a7973c0cf31200f164f48afd1aae901433f6ea8da2591538e4e7909869e37033a7973c0cf31200f164f48afd1aae901433f6ea8da2591538e4e7909869e375aef95657cfc447df93291db9d37e098bb3b08ac98629eaf03ec48ccdcd4d60b5480826437a4dd491a1906fb59e9eea534bd5a4e59e527674bd1cbbbd318befa5480826437a4dd491a1906fb59e9eea534bd5a4e59e527674bd1cbbbd318befa98280b6fdbe7f564b964f308d201688029fb7de4e859d0bffc99f24f8f6d4624787211cab31f809ad9f50a1e4ad666d1215f08c89b285608ae0cd611ec507d86787211cab31f809ad9f50a1e4ad666d1215f08c89b285608ae0cd611ec507d86102f0afa617b9a6b743722cc351de04babd1d2ecf2db289ff3c9ee505c82e9cf52b6ba2dbc67658c8b1c11d02b0385cba02da1006fd9f271e2540b3d0e230efa52b6ba2dbc67658c8b1c11d02b0385cba02da1006fd9f271e2540b3d0e230efa2ee9dc8d806c0b5edefeb551b2b0e273f6161e4cf91e79231d45e67a9ffb83b36302a9a81caf99b55f462e0bed287695f6120ad74a2caf015dcb322e8ee82a4c6302a9a81caf99b55f462e0bed287695f6120ad74a2caf015dcb322e8ee82a4ca7bc703efc0ed1f633765478634d62fca7d2bdf2cd1ace121165a08319d1c0ff20b1047d0c702e8e5683e01e3143b3becfd292e1ed54516972a6c2067fa96a1720b1047d0c702e8e5683e01e3143b3becfd292e1ed54516972a6c2067fa96a17842cd6a2d4df925e8cec58a7ab9aa431b309cc7df9e490aa3a1509db3721653ace2625c0f2d391dfc8f8de29d559563e3f8521f7a757ed90764212b76b5da89bce2625c0f2d391dfc8f8de29d559563e3f8521f7a757ed90764212b76b5da89b15d09df258a1bcf8565498bbe1163de421a743cb1fd571dc3bd86d37e15ab9637541dc7ea90ea40efb5e016c4c49aec61bb42129b8a31db95454835606b1dc037541dc7ea90ea40efb5e016c4c49aec61bb42129b8a31db95454835606b1dc03266e554114b294817eacabf28a067d1adba55ea73191d103a50a97dd688c07f7ae07265dd5349ee680ab687ec1ccc6cd4a45d9170b08438191f39b7dcee7dbccae07265dd5349ee680ab687ec1ccc6cd4a45d9170b08438191f39b7dcee7dbcc3eeb82634e1896d41054d4c540e341d447db53c46953a88f182207b7f7ba7db8cad456445f8ebc09b1b4d408a6a98074f14b709daafc79b3c978c56ea37bd1d0cad456445f8ebc09b1b4d408a6a98074f14b709daafc79b3c978c56ea37bd1d0f7ff302fd49cbfcfc2b3c1c9c891c6bf1d6fc1712bb2ebe5b00a8d64b709411df2f6f0eb5e0e8e856d58e210d9ae9b374e9713957580c87618768b1a820fa618f2f6f0eb5e0e8e856d58e210d9ae9b374e9713957580c87618768b1a820fa6183bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece20883884426da340b3a08124e44596f68ff24643ad668cc427b90b0cf8547f7a05c94b84426da340b3a08124e44596f68ff24643ad668cc427b90b0cf8547f7a05c94bc25ab3ca08d3c84d7ce0a8ddf1dbed93bc494545ba9ed8788a13ed30b53a34b2d89de818c663ce6ea6e4b0312570994abcc7e0ebae5df451f5e6ea24bdbf3644d89de818c663ce6ea6e4b0312570994abcc7e0ebae5df451f5e6ea24bdbf364444405358dad92df56ff072dba25cd6c0ed10a7853713ba3de35e16a14daa558e0545d1e8fdb29453e3b80cfc7f2d51978a924288cf270f6b4f5e71986badb3e00545d1e8fdb29453e3b80cfc7f2d51978a924288cf270f6b4f5e71986badb3e06fcdd2edaedc8e365ccc81011e67f7c8d82faec5d397b83f704cfed3e510218cb93cd084da6f2e02bbe4b6eb127bd9edeac5278799eda3abdbd8e7628d6697acb93cd084da6f2e02bbe4b6eb127bd9edeac5278799eda3abdbd8e7628d6697acbab6953b875945aa9958e6c036cc991e3ff7be7541ed3f5ed353921971afb3efff268878b2c965ee44118bb51439b7e25e4ba2e7a33075e7a79adab70ddec844ff268878b2c965ee44118bb51439b7e25e4ba2e7a33075e7a79adab70ddec844c7e2ef775f2470320fd236a7fdb055fd5974dc20115697fc4c276d6175517cf6178c7a43ad15deb6e1904d3624e49c6660623049010fb8a6cb60db5bca230aa0178c7a43ad15deb6e1904d3624e49c6660623049010fb8a6cb60db5bca230aa08ba15560241431b5ddd0b94258eaac1618f88490133ca102798161dbf5f339ef8b347e019e38d1f126b3b921ad25555a2f154236121fa1d0098dd1833ec43dea8b347e019e38d1f126b3b921ad25555a2f154236121fa1d0098dd1833ec43dea86268d30baf6263b84e371748590843ee943bb77a83f50585d5a53d8cb1085ff795a3700d01fd765f3c3e67e4c7937362eed558485c85b3e1699e58e17424ded795a3700d01fd765f3c3e67e4c7937362eed558485c85b3e1699e58e17424ded43c84aa57b9d794146af9c15c4b07a2095fc04ca90592cdff1c18eb8f7a3a2aecfc42ca622f8393befeb1c818b4739f442e6d41976cdd46b60da0cef2530c990cfc42ca622f8393befeb1c818b4739f442e6d41976cdd46b60da0cef2530c99000da64980c3024cd7614893cfdf055ee9a2c8deda53f8c3cffa57c10123cf32ad17c9cf6a573c7bcb35b90cdb39c526e364e2e637e95520f983da3d88ca4df9ad17c9cf6a573c7bcb35b90cdb39c526e364e2e637e95520f983da3d88ca4df9ab7a110bad459758622127944aca1e18553f3fc3f480933790489a66d0ab58031d1685d55f8cec7c15745249a355a664ed4de201fd0f7fd43a19edbb432692886d1685d55f8cec7c15745249a355a664ed4de201fd0f7fd43a19edbb4326928861de1937370511368345806c96f5536f5d92a57c01556b822c200d28e51fd6139c2f464c1ab5106b62631e0c9f85475d51bf4a7060ab9e218bf7cd45dfe18d465c2f464c1ab5106b62631e0c9f85475d51bf4a7060ab9e218bf7cd45dfe18d465cd6089c3b7cdf7649ec2077cb78d8789bdb6dd9b4f2934909edda521deea77ed097fa000b590fdfed9162fd7e0db48f8b81a9c050d515669e21676898930f24f097fa000b590fdfed9162fd7e0db48f8b81a9c050d515669e21676898930f24f72e7c038f4a7de3db4c5ca236f5f19cc01936f4004ce3ca1da9f11c19ffc0e439bdd9b59e1305c703ec776f0f5711b83df1b1bc8be0ee90bfbd70e71c544e1ac9bdd9b59e1305c703ec776f0f5711b83df1b1bc8be0ee90bfbd70e71c544e1ac8aefe68b9046ff4939f07f35f05a79453f74f0ad88652c02357cee569231ef54241a45b77e39099319b680bf8eedf12de3fe9282527b95cb23f0801afc8211a7241a45b77e39099319b680bf8eedf12de3fe9282527b95cb23f0801afc8211a748d60cb926c6f808296b7fa4b0fa7cc4ee3a2d4703b3d3bcd530301d68842f81eb3f132112e648265e980cca610d9274df7c6cef0256a6c23c8fd21c2191f410eb3f132112e648265e980cca610d9274df7c6cef0256a6c23c8fd21c2191f410c9c904b38d3f272eb36142541c2184f6334b5f3da49acf1d133320637b15312bf8dac0d583ee8bfc3d052ad06f9731044017893ea3ea65c137d20ca56365a034f8dac0d583ee8bfc3d052ad06f9731044017893ea3ea65c137d20ca56365a034653384cdec194ffb9a1fc8ef62fac95f8a9f0f6beffe8c2d4be8fc65187ab503f32d306bb72d760f173fb77a2d0d401617a42752c52f21a43062863fcaa85307f32d306bb72d760f173fb77a2d0d401617a42752c52f21a43062863fcaa85307078f822e67fee74d487e57fb15a363303e1db73b35698d218368524b32d6f418b32d156cd45feda47530504b715c08918c66d5f8480886a8c24e4d3e3612743ab32d156cd45feda47530504b715c08918c66d5f8480886a8c24e4d3e3612743a75b3923880fbc4f8f1fafd0f9301a537d61fab91ca7b1dda9713aa3525aa163786f3df335870e31b6625799f9c55b95e17c5163e1d95605c6c916231d1f00cf486f3df335870e31b6625799f9c55b95e17c5163e1d95605c6c916231d1f00cf443d932e36422f43a423644b045c3a0d491416a568be928c9bddcfe57ce91d51abcfd9450203b6be90552d54de6798339c15e4c70b83284c69435c799b5b4a40fbcfd9450203b6be90552d54de6798339c15e4c70b83284c69435c799b5b4a40f35b3c58eb20c4d6a08516618d7f1df71316bd70a6f7f597040dfc5dda54a10cb8eea46c536d32e86a58ed5c3f38d3b002b6587964774bed85253f265d9bd6c241e5cefdf557907f6291e05dd9fe357d3306aafbcb1131e25a4790970cf6237e738a509b75561f917c3d7edf1f2edd9d1c9765188996751a3c0f0bdafe5e0423754a93ee55f720ae3b54907f5def625e15c2bf019c24e0af9f9a8cd00c46ab1a99a8492a580bf85d3e98ae8861fbd45567e5a1f83eeafcf9574da0399d5f602ab39ab7ccd9f4e82579da78a9241265df288d8eb65dbbd7cf48aed2d0129887df5691597e8a40a891ea94d3589976ecfc33e6145c49422443b00ac2b5a0022964cf0e6cd91b837d5c5644d026e5ffeccd907953317cd5c0f689901733afda260b2c108f5cbf2dd9ec07a26530695ddd95e1664597ce6c056ae44c162cc2e28cec4ddf5dd4e0ef2b185e8bb0af7b6e90ebe74a84384cb4700658e76e754c8bfe550f6f1c1bedf1a0f37cfef81d12f5f012869d1ee7c984775a569827a1784d34f5c54270656df079c4da5182629a080fc633b6f84b87985eb016d25a560e2c38d4aa2ccfdc001858222885a9df39200840ac7a3f479ba889727d32a10398db7918a4f907b912e024625d36b8af307f1043e6ebc97074e31216175d14bb74c370dc3cb36e80beaf2a527d463da552a5c679a46c4ff8c881318a194bb0ccb61cb2d5ca42b23e21050a0f0f90c1f7a443b8087a409771611eae402861959a793be38e853f9f6be37d5c395c125a53dbf39c697fc3e5fd44a5f09f0d99710910f840dd650a34bad4a30a4b5b0a1bac46183e16c545442193bb822135c040daa8bae49d0b714a956eaa534038df27e0b43d08f529aa0895316b9b5de15a2705c1a47cf9ee8ea86d36177a3faf0bedbbfa70031350e721a7f0fab8526be36093ab666be97822182bb6da3d1295aeb92a1c14c42419e325559abf461268a17c5210c19a9721fc8c6a6e5db5e2b802fbb671fa104ee32e29b1701a35a8fc65ded848cb984b4b6a25595686705dab08245c0a5e4ef5852173d9cc4b5ae1b6e89f31b7780632bf9e90c9df5f2c6af0f6d5a2ae4c4011471df1b2e03598faae60a1613d5cf7bc063a83085d86e5c2b56ce5076fadf6489ea93de3ac44ae9fa69e4c7a39ab291e80f7aaf4c55925407436653f949791694831419f27fa4a83b10b2f735a8971ff17e939740c7b4469e60d7ecbba091971fd72a9940a9fb02d91cf4d7813feacb5bc1c572418a4035c66191f95e1500dd3462764f916f683b1b06a78a3fe8d8529a433dce1c9b9152af258a84042741feea52e78ee0aeea6a438fd5b59fcac2a3b71bf8b7f7affee67f19707d3514c565805efdf2e5801ea6b4186a3bed176e197540e9c2b688f78c0cd43c60298ecd353fcd54745bb6e83a3ffa6b0fb19e1936fbd34922fbaf2352268c029b1b0384477b0e94a5e651a0af6b7a2a1d3dd74e7d87f386222130f684ad9c976d3658a0b49e6829b119d624d8bb6ebfd54de6781aa7c49011f6319a4e68b113f2c7e54d97c8e13f42513543ab0402c125cb9f05cba1cbc52866a97f4c9cfe240f672c48f7cf41d0899ba4c71ff165440be87e8a660cb7d1d00b641b7209da983e7b97f5f40466e1109dbed4a10d75a26ae3c9e8abd822578e0880ab474eeb037544f9d4ad41381ef69efb0d41d7e976a3cb64ae5d0c62a6b617571a4ea026747642b43bca73b8dcd39fda1a34344f726e30318253058339cd27415634bbc639ffd62dcb4558985a7ab0e964709bb58cd6379bf79ca71de46a65539051a2108e1445ba8d2ec1fb3bfa5ecafad935e526a3cae09c4639b402b792ce87e56458b6701630f9fd1f04940748e48876c8ea877b559cf07b879fefea393ea09c85991fecef8d0df4130f7cb146f49003a84700a4deb7e5f3485553509448ea1b58b894a6dece4a158e759af730f324f9e9e3b36f32abab550ed8e961459052dc6a9ca57e587cbd89105322af6b87cb73d1b59f0e8b4ea4bf8135db0209c66f39c915bc343fb2d375175780311b23be085c4a11be9f7b92f419aa0231f1466476248f76f778d5bff1c3898c8930d3df088e612f6fa83c15c6b0b7b9ce56f04e8002ac161fe9532fcff6961fdc3eebf0c7d8f7f5a84afb7a7d9f85949a40094f0acbdde5950edaad6a73829bdbc71cc9eecd1fdeaaf21411f380c65cc41468aca1e069bd6a6300547393e9350807de058d23b8b94838e509c0f6505cdcc1390fda7e0c56cec8d3da43b24f4fa7c4170b2b2c067004ce87d841e24bfc97ab32ac8775bea86337f08bd3e598acdc452c3408953560568affda91c1378404ed5ab5a61f2090ba4204ba7a4098b0ed955a25dc19818261f2f10b380aeb492d6962f8696c7b2d7aceb1f6fb24b12eaea1322e5fb3789217e892770b753ab7b2bd6fc64cb81b74a116cd9bb35da33b47781769051882b1cdd68a9a3eaee18d8d9074ddeaf61c4ae63ecfe0d07a386a6b8f852d61678ce2dd427429bd5dabafcb91fe9fad064c988fe93b9a4ee64e78e43bdfc7774013e1d1e3eaee4c37a8a03a4ef5618173e56a8a91d27a8a5ed8b1c09ee1e9fb2f5070ab1e70da7a2979db26ace9575c4b1f8ec4ed1b97f7763b56f37f7c7f87c8c0b9a1021f07fc2379f99497f5a2414664835b4cf4f2dd9598637a99ce8327abf54c0999260998ffe4df439067ca91cb2d1fa96ca0c5e4f8c64c0c6847305ed12e52b3eac39289252faee80d5fda1081e53622c48be1663941c34aa91e91b4f97ee349f003bf6f55d3b060a8f7a8f9a26cb299110e83b010c75fa93a5a01cdfd4293265be5f7104b5d671ede826d94624a9e80a0048b41160ad82d68d55a7cee7500ff47b8f9b9375398a6cbc80eafc46e2170614a3b44d302669724935e8b45e79ef016d47533f5f5e89e2dcab450f354631c8b92187c2dc93b7e318f296d4b535db1cd87dc7785b666e60beddeba764c95109415217f36bd3f566a309232c8ccc6f62d5307e3642142909b8dca372945d2abfbbe505dc52ebf465efe8dcde1bc4d185efe68a1ca92c1f8efd60d8312607dc8b4bc88e23e980525478c066c1f6cd7fcadbf906969c262e11e562cad6ba8f03b09ac7d90b1e0a20f99a90dfdd8a4906fc14e1742bebc68d78bb08d350557c0f3c2564455b5a75964b2d2c8e2c7ab0325cfe6af6df70922a273511ffff7a9adc9ea8cad449c39b480fff95999d0d521415251cfb41f6333f458272a5a54c177c2bb0e7fbcd7b3d484fe44b5ff2583b2e5a4ca3add542c3535f6c4c9e0c04c3d47b290833ff9fb4688bc54e9f9e4eea9799da2ae531f0695369e38f236d91ce7c9f0336b578c5d71c2325018568d1323ab3e939f48be353a6d9b98bb6e8127b7bda8085e2923fcd3f43991ca4982cf33fd15eeecf5286e6f74315f4c26e9b5ba9a81747e8cded4583b3a01075f41c0018d07409b11f334c0b651c18ea1262de47c958f1c55cd73ae1298203ddc4b339607a54e5757ea7cd001bde2436792f558e4ad962d34f732ccc7ac4f60f906a9e15b801141c19f55e2c743f4a1d97e33331600d3c8e9a4e7e70ec164b34c42e874717e736bd0898f0a19ee8c606b35a10904951e0a27da1896eafe33c6e88cb7bcbe455f05a24a3b0f474e2891ab3746f751e317f7750300b653dfa59d93248f00b6426fb7acbfc55c02e1d32fcf2af5800f0204a952aad0d572c217c8fb468cf7e5ef38d5b5104f6a9c99d36c51fabdd3e290c6a7fafb8252e6f34627d37d133ee9381a7880e543c53cdbea7e37fce8da22413e338f63f6d3349c7d6f7fdceea3f7d03e49f06e021b42a30a7a1f340211764fd0175b935260f4f118b71f3f8d991f1c98176367d694c67682fc130b5181faa370489ab34a256dcd0210e598efaaa89055569a4e8b4d11dc9ce933ade05544a38d7eb98a7cb3bee40b45e5529dfad6759bc4bce572375e7a3d4681f8845cac7589a1995888b3538b36e4998483ee1160acda632f93bde7ed61a45ffaeca5f30f39c5d0e7f8d4eea081530bad71f7a321ab17a96d32ae1d7da399c5a652f7c8ef5017f3b6787c2e18c5821a7ebf74be3894909eeec33a663212e8c8cfbb70cb97a25f928e435170a9fdbf135a402dd5b075d0898f8525766aa8e80a2b0a18914f365a95bd62122cf802e254c7604acdea331cc30965dbd04c66c424f7a075688ed3e1151b67ada50d18bfbcd8c24bbf850e69a2c8b637683be10c1c09fcb754b15040c82bd08bc570a03d9aed1cdd3058f1206a2768aacc9ee32b01c698904032cc0c0fdc5210fd424bf58b7c915623698ffce3cf68aacc9ee32b01c698904032cc0c0fdc5210fd424bf58b7c915623698ffce3cf687f439b07fa1f0c51efc84c2eaca42150393736557c570936b8d16335bd3214d1c5ef169692ff1eb72d9f065d135f52bfdec35226674ae64c7ba4592833d9e1831dbda3667f443e976f6018558232ae3e4223c3724ebe023fa4b422c109ff9d5b70fa6b0952a2e692cce280ab6d4fe24fc1c8f3ae2aa3469ed3bc998a188c00def49b49b09adc4f78517a343dcb7d8a265391bc8a0570a2e5b037866a9cc8e0b7b0efd564f7672855271223b886d05a44742fe883ff9abeac52bbf013f93c4c2e5c51d2ae6918572e77eb7a365f69ab2134fe2468a895a732cc29812d305ee5877ee5f8afc2d06bf79da9056ad672743f8c496ea9fdea5fa25f14d1a12c4d2520a3b1a52d315e501b87e3fe1df85f27a35e24d84b86a166c48d12ff88cd7c33a00424a8169c9fe3fbb432e1d4b465e1947bbe65cb9b152762f2d973f1212de2a6a0f3223f80b6f27f67746d07180ce2fc1cbc88115226e0abe65a32891e899324f322c9968cfe4700849041add2d0a229b748f506339aab5832a4fe1ceb62b93f34e43913f6be5d9e7799744b6db55e9f5ace0a48f14019ed75725135499a8cf71bc042d4dfc31d580c38078cb1cf93cb695ebb662a99fc3079bb06a314c8729d049568a23c298be7b7909173bc76e104a96dc0200011ce4c8231201b8ba2049b6473c445512c484684c021ab24b9e01aef2a59b35e8e43cbb94b08817c86bc9d1b05d15804cb021758eb47165e5ce8ef2d44f00774cceb1c51fddbf3f542473c7412b1db29d8420a6e0ebbf71c3083166b90cfecefcdf871ebd48f121656a791bd72fce139b0cdfa27cd6975fb99dfed3c1654900bd5afcfce05415d36d7586c5fd1645ac428bc5cf8d15fe6c62ac33ba7ff0c6ecb02ba723792ae5e0faea0c96b6af7f4b6377f611cae0abc250c02b6aeb9eee9a924ee127cfa5e05823a3e0b21531fff65779582448c27513f29d1259f3651174c8e3bd6722789e4f880ae2c99ccb44bcfffb5afd535d25e9ff7a3e9561fcbb547b0540a9b913b7e49d201ea9c10af412e2243223a098140d6cf4d7eac733ac5f0c192087e28c4c020eeeecf59842395aa67adc362596e7744ae1cdd686d07918521a9f08491f61b90667dd2298494556073b302f73b6f63e2d3c43ab24af299422e485559620941d8e8b59bf81ead9e52fa91425e4ed01b8c62f9b4ed78c354dab8037f38681ce625f0c89bf81ead9e52fa91425e4ed01b8c62f9b4ed78c354dab8037f38681ce625f0c8740230fd4ea5234edb022142e723bb3651328adb48f3b85162c00c469e6800515a04f523772a0887451e8194e7158299fdca6fae3d58192cf5c1c23bfe09795d5a04f523772a0887451e8194e7158299fdca6fae3d58192cf5c1c23bfe09795d63f739ef798596adcd2b8319a1561a7dcdd2b43af30f6d7d4697f46dd19635e82c9c154736dbc6765cb2c1fb6b93b2b15bce9ff66e7fbb94f87305a715d2bfa6e5ac24e9d4fe974fe66b85a18d15c4fd4039d9345093061c59b164db575896db110e8e15511ad849007e4f8b685cb990f1cb86b7f472708c48a3731d01f08e52a28669e1a52cf3e60521cec677471373fee5c30de3d7033782c9487659d2fcea50d4599a4b4c44727a9085cfad14e0a4939317d4f44eba2c11cfcc9ebb0696eaf433b1acea75ebc78753560466dfd6e46a53fd07ec848aeaabed2ac554753a4a80d7117b7a7b1ae77a4b9add07ce1b6f46d9b3069609704d98ad411ace47ea7580d7117b7a7b1ae77a4b9add07ce1b6f46d9b3069609704d98ad411ace47ea75429cd109a2de597644b589f0e0a5fc78e603c8ae766219323137ea51848baf14e5059db58ce5c3bb5fafe3f4b02c4e729930a4f6f5bb98f67a8cd0c714cca10ee5059db58ce5c3bb5fafe3f4b02c4e729930a4f6f5bb98f67a8cd0c714cca10ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8553a88bae69842b09124e15798904bdd74963b1342181ad994a4eb1418516cd47c3a88bae69842b09124e15798904bdd74963b1342181ad994a4eb1418516cd47c7ad32ad6307d2d44a1a5e3cf94a8545561aa8158fdab4c70bc2e951d7a2610a03115a9e359ca65e32803ebc390bd4ab427aee2da721b506bf47a779cc8d66c323115a9e359ca65e32803ebc390bd4ab427aee2da721b506bf47a779cc8d66c32a613373321625b26eca3f49dc89e3798b7bb3d70a68ea19c22ba8076a294524aaf77c134f89b64db7d6df9640b3d5195daae9bbb395984975012952244ccc043af77c134f89b64db7d6df9640b3d5195daae9bbb395984975012952244ccc04329bb497d8585cb07059483157a7b6eb4beb4e831b56ce1fa5266c565d8c10fe5e01a9a2be3d477d743e1762d11c5b9144ef04a802a8ed23ce6ffa9e02ac36369ce42a828f8e7cc644c2e096f13d70fb17d90002a700cbf40f05defc1f4d4fcce9ccc12545732877b498b11e2951bcf854a6d996ddf3a7f7ef7f78d66eee9617a0be796d09674ddf6bd79665844d7d65f7ab549faff1fb79ba415e0504258f8ff0be796d09674ddf6bd79665844d7d65f7ab549faff1fb79ba415e0504258f8ff60ea20f3ef494f2f16c99c5da401d5532a7228cde3ca9816fdd734928c39b648609d61c93f3b92abbe7ae0c1a8bc89a0269c86a21039477ffa76005dd5b8f60e609d61c93f3b92abbe7ae0c1a8bc89a0269c86a21039477ffa76005dd5b8f60e06b1a320ee4c317e84c60df978a83673b214063f066986bb5629bffd74594fc38177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b8806439b1e2d8830389bc31d1089e924f0baf48dd2504d177c72c5c08620217fc8167ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85580dcfdfefe1b9e25b9ed1ed17f1f4dea976b066dacc890dbce0b633c49c6e3eee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855@@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlucilucilucilucilucilucilucirootlucilucilucirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootluciluciluciluciluciluciluciluciluciluciluciluci-0.26.0-93.el6.centos.src.rpmconfig(luci)sasl2auth.soluciluci(x86-32)@  @@@@@@@     @ /bin/bash/bin/sh/bin/sh/bin/sh/bin/shTurboGears2chkconfigchkconfigconfig(luci)coreutilscyrus-saslinitscriptsinitscriptsiproutelibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1.3)libpthread.so.0libpython2.6.so.1.0libsasl2.so.2opensslpampython(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/lib/python2.6/site-packages//usr/lib/python2.6/site-packages/luci-0.26.0-py2.6.egg-info//usr/lib/python2.6/site-packages/luci//usr/lib/python2.6/site-packages/luci/config//usr/lib/python2.6/site-packages/luci/controllers//usr/lib/python2.6/site-packages/luci/lib//usr/lib/python2.6/site-packages/luci/lib/ClusterConf//usr/lib/python2.6/site-packages/luci/model//usr/lib/python2.6/site-packages/luci/public//usr/lib/python2.6/site-packages/luci/public/css//usr/lib/python2.6/site-packages/luci/public/css/images//usr/lib/python2.6/site-packages/luci/public/images//usr/lib/python2.6/site-packages/luci/public/js//usr/lib/python2.6/site-packages/luci/templates//usr/lib/python2.6/site-packages/luci/tests//usr/lib/python2.6/site-packages/luci/tests/functional//usr/lib/python2.6/site-packages/luci/tests/models//usr/lib/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 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tablesdrpmxz2i686-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 32-bit LSB shared object, Intel 80386, 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.i386/var/log/luci/luci.log' (No such file or directory)directoryemptypython 2.6 byte-compiled  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR?7zXZ !PH6B?]"k%rJwMndmtXֈ%C|;2O? CXL&;nj+-oyowuU3۶k$4v=QR" ,'w+sI*ҮSxTw'6<66? a6 \\%:Rs]Pl_vmn m&Zfo~eSmM[ S[)me@rH|<{ffB'U]jT&ȫ$cG_q d%#ʕ1X`ODۃTnK:Fd~)+u8ccNbF⯸! Tөp6kb06&#j(?q/ܪ!+Vm$9e4Nɇ,J ܐbN062G i^lpo tMW;'jՊ>Է"r]W@bn?n= zy 6U<{;Rj,gj9e׎~=+jPօO&Ŗec0坡CZ;!y  o|RzM EWK [Ⱥݳ,agḢDb((%N& tBK>:]΃]`T KDF^E>UahbaM&eI)2EŤqdRص{wO9O`-׽Ƿ˽}EՒM,]Me9|%+NfYiF O6&ؤf6GlǫSKnd|c[6mM1"[/T5A3W홝 F*C|!lMV d:1 e0%B>:Xa@!jG:#p2!*QZd6$letjO5ﶔjg@p^9"B?&22PJvT3NczX5=ͺlԹ[0e}i [S3 U/wKtA"DMmH#Í9rΑhBp 0׀oYLK&귡~7; c$5A21?i5-Nf^evI2mΡTx+ l.'d=*F^(`Ĵs JC=un>)dΑXkMNVtҮ &M!#'1evAG8xe֦I9J$ΎsumaAr-9*@_Ye2&bHLRٯr0)x,| e)oBu3-DEi )~QsrƔzK Wzǜ`B"J6-!"IQ6bнO }y %ϓn vnZ?+;hDT쎔/$9SO7#wuu/y5R` %M^LFv TiNjǕbnr0V6g4}]+5s(- Y6\Π4LJCRG ] &gCGΈcUvcuwb9(Hl㞴>ݛ%aK特">LlEǥz44[9Y&Ȣ5tI YpT30u.0p̘h=r ?g3GU `r*9H+O2~4+{NlGJ ck! vm\F\W!>8]oD{eJ,> _,bGzQQS]֓=1zZXM΃ɦ#O^!wIX + fu3u @j|D.z o8iEM|{O5Ֆ$RgBgv:/1URP|qև䁥Ă>DfDH5̤: \~(!]k$,u]LvE=7Ķݕ.Љo/ X VBWF{HrajQa:ۇ'Nq?25%0[ /$@j zv뢵, ۔%[X L.O`o1+P~x@=D_$ʙۇsЂ;$hrk^I#Ȝt}auC/,?֦LB`t( Ke[d_Zis2 /dp3TIAג2*8,PVw";VRV/u' "LB"pIZăؔnp05& p|tS`S~D_3b۱MA -Ĝxآя)a6j&{PoXw=tü_@owNPX_'asҦ^Hb3\E>[);S1ylŻъmcئ4]!I{+f-Ԕ9g@g:-dQe q|rN%$hqEVR1USTꑺԘ&~_@t5@ 4` @*z72V83_+ɾ 0Ipb𚪩_B?vcm9r{nF ^Qڴ=t[WLlj8ӌIyC){_vyΪiGWԀ}kY3,PU|`a+t[9D w@J}P(BP_0̟辶cODF51mGy')K;/1t`Y&̫a㝇8ՎU2GEI< ">]#_C$ԋEH:V@-֭2[ׁAAWJAĥ L76~:D5+'OYG:=cs7!W<es`|A"/aXŠB}hhME$b 3WWo譄)RWm 5gxq[Pjp/i/q:*?7vת1_ l n(:ؐg#ܮfyki*u}y$|cB~`:B-$; W/t؇H[0qx,|4DP2I ٮ]v%!|OXOV.hcmUU\'"^"|@6Ytl0rOL([f-y#|ؖ8S WRv~2#n!o{Щ5P+wBZ7SjPfzb\ {&Tn,xbi4a5|.ָpR:3Z[O?Kֻߴ'+%ž_ߦ3Bw 'T"nuiK2d"Yd*kb2X[o ӎPݻpkF!!S5L3 ޛȨHc咊6 47,ȘTGΝ1kO%A0Nhߜ@{5ߍt I_xI0SMMms >+$m:m?Oӵ~@lߢs:zK_JPjQw0|n}ЫDԛ6*:#TƐ/4DB LPL'Ѹ#g?tnIZgRx܏Zݛ88n+_Dbz~gG}P[, d:2̯$bU3OCy)!u[Q1 =vORf;Xri$JUiC^ |c|NPQ'n*ܗYjf8w!Xۚ6KؓU8*W47Az A/c3w2b_[:Z;@-oLZH;f{G{Jav6.ݒݨ/hZZ% 8'  `mrT|~&A'Vk 9r,V F |l1_p-c<{̝<Px(O/E'g)[HcbAыvIT Ǘk?CWio*C0{@7ĊY vED7B̓3f) Ĕ|كPB~}*lՇg)aT4{_{ׄO [HmW}?;64G_8|ؙ1e^[ڢilJ@#b_x zP?݀T?g_:ڭA)B:k#{G 96rny ^:%Kpk+aDh=I,XOzUY9w@^唯z@JZ7-bg}> -F@c9W͂ZN[:YG:>M^gܜšm|@}| |1 ]~iռ7^L B="XtC,f7OVpӷ46SD G~ h$H]5CAC($U(X{Q.9ZC߸Bw\}RTm ԗƁz3]ۥy7(^K ۊȕwRmaab64U3)y=$@(i1kroU"}AƯwHE&Iq>9%ɹs,ׄ_j?ti>cxZX>/M72Ehglg\ChFW-tL3hgbZN!M-pGHPD!B1jxTWX4RɮݹAǙbI h*t @KB J2|;59~3CqNl{*d*f˹0m ܖ=Q V㰩Q.B]{@JZ R^2ܭ(gBY{sQa4ŏZ-j\vfqw녙镮̈8$\.Z݋|Dq@?z`)3 /ϴOP؄Wb]FٛÏ-RiDNsu.aq@nAf( <@;!*ݿŬN̫, .8- j(蘀[sډ'nh}o:Ks 6SflX 6i<wQ~)Z{oמ9!lQ̉K%s5'^ͫ/N$.m^/ +`AzY*3ٌ4qgZl"$F==3LBJ@ĜheDtKCǫ>k55B{K ѼS g?PoQU>l5C\9Qf ;`@DA΍`t!E"mOk ]y0wJc(}~R>":^I(eT b"{ FLheg*ie]P a?FGy$yTR=̻(fK$#q[bۦCg<mb4'L5D7& rvwȥj16EЃJ_%f|KWIFJ֯ @@p#eC0/HBQWy)[MAm\xن?ؐߟ^)D퍌:ɒǧյid̮aڟ\U|i2~@\ATs Ѭ1Wf4Ռ@ >xGK5o&YH│^꟫SaȷԦ> #us8B!T duw8jsiGD dظ -prO{uS:4#4ϡ˳\+Sb$CYu !nUs"xMz^2_5wnyh5j'k^qs!T6U3lH`"4Jl+.k—#7R*CGX%(j:T3Uδ!W爣.ʇ7j bZ&-B9xG* J.Z %-Bމڒɞ5چA' GpDH)x0 =\!@(^8kA{ f"PP() "&!oys:Ta݋L@ʣko{R@C6Q\iG+0໾J&4>xKTGwXK@zzX>@ FBH(륛Z=i`t"4^QWQ;Il,\󤨗=g!%*5b"r=Hk"msN״m;ȏl&7Qс] 0-̶'V|mCp*lIC*\]z)k߿ B+WV0 /iwADG8`TGV/S^&iYV7+ZSQeIL0 B^RH<=z([ /yසa~/`6$ `jT,_l@2'GS((?%e`ȓد٨yQ<^ pRmU܁o]ʈ``|_1Jiz;LEĩsOk_F.V{?.11Z|=(;ϻjU7t xtj.9 ~H6đl-Wڕ6O'p{ lOHÜ`t> 3Xhi!醧Do ! ~B)*3H~@/쀅~SSUagho[QcKPN|G'PgujuTxXR:ϴbM=@'K& xԇz}0R࢐>d6:}] =\b81<,%C:6T_V76_6]x|=d :/Gmg}ߓI֌ - #")8,+--dһpbԛ7Sz`eC|8B[Q3]Ѳ/mnN8SnWa `9Qeyw~_SgyUhD%p- ;~T>2@i1խA>l-gR:vsU*,bSX/ a-~µ)#\RQosҖs'Z-s#^C`yy=+ZL5G$஍L7I<&l&Uy9aTJn=f7{YgK*J@,g/Q?)+c !tB -dp+,ߌb nZa2-G3@_va[S+ 6Yԍ2yK==mral쭵 $@sThÂP@9dM$L^L,Ug؝ Rw{lȲ\:8r '[b4mi O:!^pmFx ~Eu,U\5ȶW]!H/|4m OݓJ$) R*A\5Um:۶)8.:a{7/̀?!?-v!xV0xtY~0<|\?mnxhhW;c\-҉NM? W'5.֘ZuL0h | C`:o9eQiɩұ|0D aF ɺIr~0yz2WN@ۼ0{a].kEj",ӄ%ƍP_'_se__AZ.ơ@X!BFh?~G nK,T_w ̔dĻgtr\(~Y< 2>zM" )u=j4\,JγDާ˜&+;&)u݌$\){,U 5Cٵ'my-[ ;Mhy6-IdK,SHVDHefݘi%ĦP\r.dҋ~WO0_w¾{qF;Wx> `PS,Sݬ˭06s ^4d(P#QiI5y)rPs?3)wtm="jiK;4=59z+ׂ)٢t`߰EuڳLJyѶzH%*<DyL?"[p[[lQ"R9Y9̚TH8,+W˫^A#}kOABXsqEf;MI!@2fj/֛׷&A:wK[s<6Uc2]$4Q2cT?00F8Ź8P?{[db}Љb/:NcLݙ}Tssu>{0IFք"ط9"Q#tAU4%Aμ:\ݛ=pEzOx!OZ5*1.\wRP/x0i gEg`gQw0ڡI+r ^,B ,Q3:dKr$Jfصywx>fkJrma@wʃHJ3o$<ĢBlnDWSQ\C;sG HqGZ$n Έ뵊k1#B`n&eѧ,c p#ꮍm,I!<+n,u_ygdoAKr0s'R2WM[qUT|&PTRB|76:2i?ڝ%Xw`>Ty+ě1I3b^@alj8M ofs]*?+"(fZqɁtgDKN\Ĩx⡡HШ}= SԴIe[Jl%*bQ[C+ ?--`qIQx}#Gy}7&1oSՕ(T 9;ȲQ\aͥ T54AIs^\I.v`"pSILƞ14xuf92qB<: Wmyd (cΈucѤͷ3$|ae 7fF'?1T+@?]T) d[oKLV/5^C}Bf 9Kx8oON$6Sq8UK}gCg \\7{Vsrc17&}64_L$m&δxL"jɝj,̠G*ic[$#T3ˈ(9706bhy^ \鉊a18j%XMИF7Į*6w6ZN<J:wJ SpE@衋+{,ɼ߾K"^2?i$,faN;ZM^Z5xU|Ňi8{X=:==K 'HE䮓ZnƄwJG`'n3"Fiv P7Ks{}b6("!$F 82T)hK.Pc=x) Z U$@my2V"5!g5C|ދd܀8f?n4/>hcNPHfy=7y2.ϗ1diȏJwEFx5LoC/]ݾ=MƷ퓃-GSH"!w!I\uFżۂv_"f z#"ކ ikO++5;Tj᮳W/?|bpZՃF4[6^oU#18t 4S2|VNpk~SlNwAg4%Fc4[x;u͠ Fhg<ϝHx(P(YM~7,3>`F*CS%T\`~|@޲nN <[0{| uvSao1)"?_VJYT Sm3 fF3p8J4|Q>])URZ z7_4%%@PAZ4V ͭ\=5c^mzyG}pn]>7zE[UF>`v;O6j* v@RdUد*Vb ӣ&IŦGE%"I?>lUڎf%dh;~gAKΣ[D* )๟oӼƎQ/)cHƢ˫'ȮV?_(ƙNڶVs|Nk=+2-3:܀(Z>WrLdҒ}Rut JKs쳮D RwPYrd=G7o̵ ׏M$t DxD]kh.,ڵS$ye6.k-_hESyζme{a\9{ZSD (+J$‹",ROIb cAo?81 '#b0'7,)"rhԨ\u:ERdQV%i锯M38بOk<ԑ H9SJYٲ)$e/nԆնA;vx<'CSF9| @;+ʭJJ\ \2-E|Kף(4E3KoHgJs?K:!Yz5)b&goi:f|~=y>q$l4CF%9>Lv/J aه -,jM}5>2MFaVWz0Uii>wQ⧫ ,뎗C'P2D7(3XR_@Gjd0D괱6H%,ŸB ˊڒW(4FY:);i_AeTsC`gqI/rM d-q6Y kt%Q3cȎxnk0x4,25[uupu8نHYvؿL3鄏N-c{(EHOp%ԯ7h`|[fށw츈))4|]wpODۏst+SybBMsn:T>F MR(M5bM%x㴙ד`0 8}F:vأ5-/+H9Og"h &LgDn{TJ<#er^DAe~B?4.8erGjE^.ک8-;KiaQ)6[mR#ai=kW,CHLV鯸Xuj4WeZxI]N Z.ڎTT#mL9pmtAv2>{(n%42uuN~eY8o|قRإNjX>WH)`dd "oY? Sl4q"3fRMY3]cWc K|Y7fCv൰bpX#ZK xhvL%*!]MyiqdAG9O܌miEd=gYA# ruފ(-6`0   %4FvZvsMQЌgt,_.&U8.|\;9CSP4l|K;*C<#>2DD -C_+ykqrhKЛʕTc9.δ9g%^ eRK|aj {AzNLGV2LO+RC{B&c`C]e P3kj7_r!w8SuBvp͋t i2*|۽<`0\9)5VG+e|| _R+0A%-–%<E+#_s=nSo#9 w5?/l11w) sܒu@*(yAl{qطD۪`]b -j+-r%sEp*DJ+,tT, -ĕTst0. !̱>$6//FQxz Z_h٦l#[ #.ҽI| 7e+!xi\V5 =/YR9 #A>&< fe^+7˩'>0nO˝GHʻ1(Pٲ}kh?ZAX\Oe ۉP6;c)r Yq47@T8VDHT)n]COhX,abv5=mb~uX< M5ʔׂiSKC!փ=pVrȺ%Kt!pխ|֗Φzj76<0ɸAd5Bi4C96q(Bg^R7Ɋ+.yDj}^%)""{T#`@wmK_K684GDJ/^o( o 'w0OFF ֯[ZK"!>x(|\$V/i>8? Fp~S:Fd]0 Pe 4*)l R"`ҟ̾Q_ e>*n Qv|bWB'KIqDqJB_*uIf>گ&fevɼ^^mRWJ!q\ ( =I^ΗOXdzq /iKI즞Cv|~shjs7Q~]4G%&;6VP@֞[#| м"MS573sb&a8RXPߵԂ(uwJUqj:UNw1,ۇ DaFP?1yIDE??ju..3 >p;{/[eqlYlPdy{Hl,s}1\l $vuKۗ-1-UXnJoTyվEHcp:+:JVdYv}i>XJc!6Rk)&VbͽFDj8oLJP\|7L8Jɩrp8#oD%\BfpKju+em6WU p:fl2{fBȒ%3o5EΏrd>UcCDG폳iQG(Z 6ڼ\gwNS=I^FKu* _OYq,d=E_7fF De]Q6تIL--mDqcE^P--än9~v qI/+b/SvW|x$Icnҁ{j|0=@8ާvXoZ^%'yzCpm74$^KjaV|rﭲƩfʛD<.кeVke1hθo]A)F4FwHiOMp囷b$wJXMpBJ'? JkPSA3yl&p,!)nvO S%պ8r#%qS+ %*P)`6:IkZ]o8RM]h@? &j(ف,jI͑F-MnSӵ;^gsyA.մ L[3׆hbٽ(V{/K+lWUʔvwѣfP;hS3s\^6KqLS%זԪF(xA,p{\>|_F>Œŷ5Z,fpgM Zk}H^ANӌ]. LCd&T#w> M[/#3VmF:!.Qk4񠍦j1ɏWtЕ*t4NBڛz Zvi9Q+ n mCNoEBЩ4" F۩#ƒ#J#~9S^)jwsǤ#h b *x5+^ eyCWa''xTUpyNxD21*G&@$a!_uA ƒ}Vˏ h:~hYFBe bARsrLOb ~IL%Ƞl+8zЬGn{`3E/a$XU]0nV1Ċmˑ(z)>DόOɯ)F95dv{!K+"cH="s */[ϷY&=77Ԣ\4 BfV;{Ry7& J*M5)L\TO Cotg81:Vѥ`*,Gy_C\<s>)Y~{71 V avu8#zVJ۪yH9U ub$s 3SGHm`N'!g(1 ;%i`[J|1T QxիCPʾ| zK9hy"Pф8ry~НY,_@%c{q+vs%ٴ?6O3͛JA@H01ݒ`+G'b\$~wYZ3L-v޷sFVbC_?LRٲ`՚FU',<5x[YV*[! )ݥ c 0'~$Dj6@)7VݵQQ('>})Ƿg> nB)gXnCD+Rٟ=Xi^뭫 Kg,LWA-YGYvwU`er+_2߰Ew7Kjl6ntNX2ɲF%fĪL:{ֆEMB!JNeɻ9kmK4"5+OD9BӕnDUzlv@UFC0= QZ`M5'^پeЛ69:$rզ%}[?H]i.ƇP|G=t毣&;sP)tC21[K.e}`{tntMf!`nCS{TffnE?\29ہVS[$} *<J=ߦiaƶ+;݂>V9UwKR*l-ŭs|;d0d`7}L:9_~BHOZ0#ta=펞SQHHWrzޖu% & N޷RܺjJa] ;[,߽Q<2UFѓ?d> Ҽ]  {~Ru'.?!TUs?Z\{.Km;x."RٯbQ@twy7.}G?ʈׂ"D`F\ac Y~ra݌OILM'x`Ec*}3TĵO;IW#>S0VojYVOC2@9UӱO*T8bնsUr^4 ;׺')=-E}O)^%0'5FGo')$*E@CRɛ좯Prτt,Y'k?߬ vy̩1  /-_CLkC罫5dNmh1M\2~f'{Tկ6maK4!%89TrMkpTq.gXG({܆qj#/|q//|UCpU^N q62B'f39TL!1:z0:,!ah77d|*ӣ{ԑ4dأDOĭ<8@/7z(0?OՓ%kօvwҘ,ۏcگJ Kʄ }2D ٿTj''TY9C2?Y5/i=jZN)~&X44phl"\n~i;Mcը˟q39MU t2:y'R *hŋQ2*X@܂f\  먜E/`?v!L2߽g,̳g-4\NMpC[٫>GjyVDžoJٰX?O9#%vZ QrFU6/+ify9Ja3;Y>KY#ɆkD2ZXͩR-Fy|2عʎd¹4`(DA͞EU^WjM:Y!(AD-M'2 hQ] ^%eZu+PUCg-0ܭ|/jT~~'4;\ |JBT>ܓk-E#$jyng#X>68Ye12(k5 ٯR<-@яF:ڮmEGҞҭ0W  ^pK8KIłO,nBIZ׏pUEJCȄ.ϲ}wl[ю&Ȝkڎ(cE %]q.8ӗB+<%Y!(ڣ#ɵ370h4{z#`@1+۫E)2j=d|h(p"l\Rd[\+3_bo"Ow>kCTbɓ4,I揎dϱ 6CK͆_Mr3GbP͞T=:v&2 -͋AljKḂ*(*E 'M7ĕ5 1\Mn^n) jk`Xl t,暖煝FCc{_zaIi[ocV\ /mkBUAP1*ą&l?z<(px2@d^\ˉꞏIH*Mw_~ /A˂27G_-;*ZƳ7)4[KLr6PetIдV4Ң=_]|2I\G&{=ُʜ֪y]s$n1GrRsr-S84~LY4G͞tB<ɲ8Q(I}0K(]Oy~ @0ӄn*},)4-) ]=;)wJ6t/جig)v<KL, 3y}KβKtaݦx *tEvJiW\jǏQ5=l-R({ á% rx% iL {m;T8i\: T,h a>îi痣KNH#bXVv飜>W-Wx8J$<o@~9bBfCE{ Wl]FVڬӇ"9+O0L7CO`j:Kxue~Z/:&Sy:2ba#/·@G~>dfK;e.*.F&^1ݧ:߶U[6COXwxUC]T>RIZ].GD =2=۴ r%Փs=}M- Z`]XQoQյR?LZŹY++o gbcqlDZ0ϴϫ?9Pp ,1%CdRjܫ0oۓ[*6J9e~~01N,oR,I:|ζ&mQK?}Ϋ`WAC$\[z#'\T\n.s{eK:V 0- ` $DFuYJw{$mщSt,azՀ&LW.L/T~@l:Q˄}sK^ 6z]ȽNٗ 9M_ 4BVBN /4v fLjC2$4كs{ Qo3&6&`ٚcB P-Vh_E,Dq#p;i 6-{d&WK# AaD#4jy<@խX3kM)91w)N_IQU#~;l^t1SCoX&Җg5<l UMHAۊOVal4t0xA 2fQ~ | \r]%Uc7S2,5D.I8GxJ q왦FTja_?ir}Q}*GF< uBj [PBlA6J8ҏD߸fG8Ю؞c)H\}0*n9:|9q*RLSyYr4`tk'B:?J/C%[vb%drC)m‘Eyݸf8;ERc^AZ hD+r}1OYPޚqӗsqhpk)@WtX汀@#U#43N1ɾmˌN]N.JJPϻ=^/JR7B^8M1;N lQos y Cqvr]ߠdӌ|J oۉ7ͧq6e[,YcVuCI*X^mQa3,Jw|,:rdosI}  r'ﺌ͚rt Bs<78>9ոI"S4 a>! 2,# ˉBJl_Ǥ oOY`N:PKN4aRqIʭIfp z[-b8~p:6fz"{/S Y1I ͓"lǴ7M9Dx2#z''sx 7SKH\h@!L\yu8y CkǨ5Nӿv[} r'$* O786Br>?=Kx76+N4=6ƾ޽_ 09( =lHfՎ!VPnn '1upzB{Pd3-Fu "k2.SGo# %4 nebZkvCSS +B ]ZҾJ LTźuH:jB@ wµc?UPU'``ZG yŔ!jLD<Ü/$EBc{fNMj#fxD4 lO(o_AMh~cF:KnJtnb‣5͕R/Ҋsv%.ԃ%2̣$.jcau}|6o!k/Mՙ17BcfR={|DV^6 b\I/]+Ё 0N(ihZ8JXMM\bCJ6x]9־J^}ֲU#4lo3*Hr:"c73-5<"v'gs`Tλ<("H<|?]@]7b/*UO9CY24u,eVN\ޖA ]#u0.XK|?v8QB&{x [0{xK}ػNSAɠ404EhKeHє"Cdh w\#nhВ'mfТu8'I;yuZ!$.i'8P EA6 21%(j$Lus9@~c6]I:v01L)F3eӟp+e>,g #rC kLS51r,(BMlj ʧ"6 n*@s9s!ixT?'7OÃt%apcH˴GDa cm8&TxͳsM>=\ƯWP-Uy+p6B0t=+,,Rs7Xe̶y2t?K97'+1AL&YbȕΣSʬv,2tv Evu`RK7v^u`W?+MG8>e|p1 71j ƪY4QzԮ*ybҸy?\Pw1s>)ItDtmZ0q? [ G075$!"TÓ+ "T^A/B0[Jcra.`I4ZEmE+ .iZX9G@xՊ MF~:yS݆a q,+ee@ʲ呯mϊh{Nu]A;Z l`셔ΟlKpЀU,#'mK )HJʷ/.fӐRw~oŻ~zٞCe:7w̖6^=]MFvrDOCߑ4,,]>k^QO RҼXj䕚1*w1-;^)_e)ߎoeKQ4ϐ9W~q 30i$ wO[Y->@,aANx^ia1noH 6@tF^ix)޿W!O!%aبs:n.>藜hݝCv}N(LgmpLGɘɓL*^&Od"rC8_l2y aTw?*?7 qA/L Q@tG!9B7w@rJa7[Rp@ QX,2]F=">ߐþ$ uYqװnÚ%vEdD̜iV ~wk)hX4ӈdi1AUy4⹙T**TGIi>lh]n5深MnfV 4彘C#ÂyR@>f8@Jޘ)Im('+8(gZ:Ĺil;ZT3PǹTfb[텦V/@YJ9cMw(p=݋jCTP= ፒ&+YWNF$?c_-{>"w\n؎7yu9YA;$L^NfiWG $GU1S^ ;xR7Rcn`BH>(])n^ !fw3ʓmHS0GXYOnCA͇ +L䧳 ^:NQH.et-'Et[r#vɺ'>u`H*Gb QU J;وQg dKz:Ҕn6$A%*mBX4/ Dp= ;D)5rR>j(1O'})ZtE0fTӋ@3z`˨u)H:t3jѪBYgbTZtDbs'g`;(OמY9 ^w)FϏCiTAʃ$UO6ilG2 9Lc *aJ^D jstM6%ݦ}H`IT=F2ƜGFb: J`xYŧ g66!gL#K@ 1D6dך$q?GB9-UT3 &G/e].҇#XW@>HL|h$ϛjEfLJ>N߇=sq3!͔@"N&Ƅ#mgUӡq= }M' H.;TQ38afc4~,آtM7RSm“E(ߢ$q~L\H9+$)͓:+B)[0 TMSK_\l6VYiY524em~MzGG>/OoOTA(dwUah#:sg>zߴ#Ir(Ɇ ݕ?TCbo~nm GJˈ;}PېJ#W n2¢\d42@eM^UhHTӭT;Iּd e//蓨lXA3_ۥD f0zCZr1w)bPޔ.\O~*Ɨt[A݅pgh_dY׿tU龖˙&pI|vDu 9K N,Z6䭧B$G{0y9V oP7 N\<~>ͅD .Ayj≘vܴh"1?%=whNfƌx'Va18E~< ʑO[w aP eԬ-g0bc)# ܀dAfJxV?΃w&vH=mh's<ԇOfԒccis@_NB`֌Gg '-bt) n+-†1mq &!6ȚjWB%,-9~ϗ?j .Z1F[`ޡpy#dY9F| _RO{rdj L93ېMز9~2M! 1L{WbFJ*R"ԕ@Wl!1OJ^wn<@ )jp=8I7lKy xmջ[ Ŀtbٖb﮵pT*8!NP "Zux2vkfe_ ;a,rrΙO0|\(#CAIbķM%gTb?ͯ&lt f,N{AzQx+VQqCHdRs 3 m[ρ C<шΘFás[[6wvrn } ykS'cI,Rp0Kʼntm084ڠcyuǙ;dNS9 ښ`lɸ9 c{o.:ބPh8 myLR:ZWDxm+4woJ_3b y+|-6p2%] Z<zEq+"`$-cA1\o¼Lήghak cNjS2Bl N-7b1΅[¾",䶇{XPs|m>!2ع|r״pmyY#J^@~fB8ďq9 @Y`B :}_!ُIvd} nc+&Ǔc8 u2`7vAN&z;/0_ 6Zfٯ!8'KIۃ=O?۔T VlDs`IMw3U[0kc6x@Ie9JjDp,?z_xJ%G_?4G<@UTX) U O<ޞ~=*Ok єo鰣dEp(QpLw|׸0F7`YȝG*`O6Lis,W s/S7[ Bti9//Awku!e0ZW7ϕLsi\μeU"kOspu^w\a$]d9LxEm#!Ǯ0w&]c-RA.Xz?O$;K623nKYd |tKZ_Ust%[ϛqqSܛwێ{ZnbZ|^JFƃtW yG(ߧ 4y'HK4D&6?x'D% ɓJo-:މ ZWрKD!|;k*XCM#Ԉ{l$RH' ]68R9V gW2lO3QX3zes3>SmGM;/?pĬ3M7h_Quiuֱ2yM5-8Eyfeɡ'ͪ7~zP}jyVv~cIXYQ WKs s 1`].K6'goa ezN.O|[צ5[yKtC{^`C3(IcgR" OQgS ZN!d3 Pn5P~+P5}wk_bBG1A_Y<X]4ijЖ#DPOv\d'[OC@Ԙɦx"M {kYLQ6LkHȎB,HC`]S(ָiurBϾ<[EMلDXxo] M`ptHRsoa-h/8,4RlbDl~8H;)p%`<ٯe%NĴFV5k5wBgY5Dݢ>!H6TWCR񥳞h4;EY2V544780#pyn?>jAm% &ׂ%V)?ئ:%^::?(tyQg$E1:ڟ~ΒAt.(U[vs@aa5l;wLU烽T!\8B*gi=OA1;QT =ҞXx3+3x?T 8r1Lk=)2hM13wiIԈk¸9wq-rRd0 0KWvGȜ;qfaA d2]AI79EvF?'jY%r={N{©ll5kEYwnέYY8kA^?= QXv"Qxb1#iӽM-<9ΚS|7bMJ ,LXmL.FqdT_zSE:1' SLGha)gizz\`s_ *ĉikkɞknWϩGPqH("+@[} 2* HOӂxȶoR`y= RdžuVOdV,T>yYzEkPC=\~(M0cjil]۪G><'=W>Z^1V{Û7+Ec(ש.!w+ugݒ$AW73UIM9j8] N.ү90-S p5ƨzҨTfk<+ZWAP8DD)ZU&i\"L^]98[aD .4qN*ѷ*!Ob %3$]ft"OCXfZ])ç?xˉ`YQ)ZZ`>R/'$oU[sח-MvGhsj#6~,$6^?Ci扆/1V.1TSA" ;SKՍ)gApOpC F3W=HCx ̢mKxv.Wh ?K._0vs f#0DfjrMqʵĆq,3,OߛʀVp7JgE4p& Ϻg4"cI"TOT"ԕ3jgoUp*>MwiC`X~NAޑ`=--[:Dy .yC z/t vh4,RGy*>5ɾLxTRB]J5׋Iz.~?>  3T(t-&SDgW֮ce"jkD=NV7 &[ | eևDm;݅9L/vЊ k5.8IS!O =}#d!vZZ&#Z]?#O鞟\Zԛ<F2zR# l94c\]OǗ+W9s%zo#IS.bǤQ.?w,5bw]q7T@9tF6u!&9APwX)>ڏTϾ+NF ~-{ g+"M׮0Ӗ}`ty6ѵ?G^z 4lXQd`C+Vf1=I_4&b8nDž{p8I CSQQ7K_lQfMwjNSQU!tmǡA+sKuL6"W?\-=um[2$xm&tWEjOLye-Cu <5MzeOz4˩< [>yg^ƞ".z?T|YTtW