pacemaker-cts-1.1.18+20180430.b12c320f5-lp150.2.20.1<>, Q̉]I/=„ !+O;|Nʡ %lӂ| 1S{)ٖŨp~^";ִv1z:I EWTd_/KutG8 ]/ {PM%-wT]E8[mFZ z62lZ`:,udt\M4t=Ƅ(Vev4*sZ `e9љט6%,esfXm?n5ae#]>I ? d* 7 g +FLS  ,J g $  ǿ  H0Kfڠ,d.(}89: =>?@FG(H IG XUYU\U]h^ bϘcAdefluv l w x Gy 9z d t x     Cpacemaker-cts1.1.18+20180430.b12c320f5lp150.2.20.1Test framework for cluster-related technologiesTest framework for cluster-related technologies like Pacemaker]Ilamb10nopenSUSE Leap 15.0openSUSEGPL-2.0 and GPL-2.0+ and LGPL-2.1+http://bugs.opensuse.orgProductivity/Clustering/HAhttp://www.clusterlabs.orglinuxnoarch test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in pacemaker-cts-dummyd@.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in pacemaker-cts-dummyd@.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-pacemaker-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-pacemaker-update-$service-new-in-upgrade" fi done for service in pacemaker-cts-dummyd@.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset pacemaker-cts-dummyd@.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in pacemaker-cts-dummyd@.service ; do if [ ! -e "/run/rpm-pacemaker-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-pacemaker-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in pacemaker-cts-dummyd@.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable pacemaker-cts-dummyd@.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop pacemaker-cts-dummyd@.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart pacemaker-cts-dummyd@.service ) || : fi else # package uninstall for service in pacemaker-cts-dummyd@.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fiJ1IE \wFr0/. r\uD!=A"p/JJ 3 C77K*kF%E%ò.i'5yt'F `$78# 4E})@ +0# s# ;96N;Pg 9X) D9 `8) 50,X-bM @[; ' V&-# ] , -=+ P^ (dGL :N )NL :!JM$! rG$&C !qdUb o4h?_s _s pQd sn o w2u &t93)bR.Q O 4[ Bh#L. 7i= W4}{ ,7 ,$ <E  & |uwy{  2'{ di s\I{.b)N^wu-IcCw&)A _| V tO UP NjH QS(% =O&sNe: | ?J8 NEx?r8 H 0(7 *_Z# ~3y.2~.&Bgnb& o 9  v4! wyC[ FBN55/7 { 6cC>S; {M ! mPC=53 P8D Vf"VGO$y%l)z2&zrh WZ _/R ^0|% L.1x 'T2=5P + ClL kil : $( 2=BO%9$'/7hi&"I+ _J ONG*a8 ß'Z$NY f #A= ?? .!G0 g-L g-M<L m4E%^C1=D3 =Dh5PmD-$ g>:lg W=  o>  W= rq g=Fp0z?2s7aZc7Bc =o [sC>  s5 q^y^  3}%huJ!BU-n3LbhCe4_  s+|R5ip(?mG xY O &,IO$ NCJ( P9M<#}  U,c Q  EO H" %WBS $O $O3 ` u a?  aU@]UI^-@/E X K[! a*k*c(h4&- 8t&!g/#, tg#,2rI   4q  yt{cRPZQ " Y >&3uK +Z:d fR {Ic ( K/ #cn } %\7^= i )i M }gaXGfU =: , 9 8TPaRO 05~n%PG< /4jZ* t^ )o,WUR ~^ E LBL c T  ~rOY3S1hTT' NA?* [O O 'A ^|=; _,C$3eo22, 2H$1;"&jF3x f;= % 'x 4 Q;K3 9E× U  `$ pP8G&=*'Z1'LVM%^] &{<_|.A7 ĭ_]$ @E >;Wk& B!+" 1}v2 2IB;-!' M4 zFv~A<hVeԟf0W3Y=r ,I_) q8{%  "(& fDduT u  G ;%-=X* !qv2CB Z$  s%d ^%d;& Z"s # }#=m%'%z%h$ g "s u#PSN%TLm;\v /%  "7 %. (- = %&^%d4 t5aX42s >Me HP|/   Ig$lK 9/J /JpI@(-B[s\"'W" cl'd[= $% (I2 @  @ u-a,(Ui U/>י =_8{ >(4 JtLI$Ay  9>/)f mC   R % yO T M^M-.Poy-w&_L0#[c [ T!. )   `aW TzCV Tz 2qa Qu3KD E"5K : &;q 'y 7 ; juPF$@]E   3!V[C$$n '.$l q3g>&d'j >;f(?(s,G^( ':#*R $ W L*4;;B {2g%?I .E;K! %gL@ p ?~G i ?  =XI u%m  6[S{EgG *l J$ Z.Od  ^/(V 0+ sI6\T 3? e{ kBWG{:>EIb ` _[hg AWyQmA -}27Y0%jpnIwpQ V!HW&iCSxQ  э ^`#Z,B k)gOWMX l/ 5Tνq!nk* Ala $-#^/n 5j@0" g> && !Q$,8 '!pwI !q v$J*})TL' 4 =6uϘ,COu!on qTjO6h *(+"7vE(v E(+1 {Z9R ,y 5Kc C R C  ) 6U),Km{BE)39 Nk HvYjuw $b ;Mzh7 |%kz L2I#N QP/#n B? *j?z i" I"R " hv  v zv v m z { { n{ ~{,  V  | b %G %  % %m a S >k5#Gk%%)JK _y   b {_ _ XU ^[ J$_\eKN  L +%3 6- -HTGHT  _$K U<O$3S^   ):W{ }! OcX g iiwJ w_, _W 89 Y:; XH97J: Y: ;* iJ, hI=+(   3g' T  v`a bc a`b b cR T S E39 GR1  g;> ez  ,    G} F  t G] =ij kl j;k k l[ ] \g U|=|8u ) 299v9x')8f_ 4))29Z )8t}RN 9O $(j  t`&N e4a9Bp| |k } <8k /7y }4%e{ D97o \,5Ud ' i _p)yZ!]= `) -uG#FTH4"):]{,} -F tw!#<>J.> i 1!Yr[Sg" o (R-1Aԭ t1 7y (D}PRA큤A큤A큤A큤A큤AA큤큤큤A큤]]@]@]@]@]@]@]@]@]@] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]] ]]]@]@]@]@]@]@]]!Zr&Zr&]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]] ]]]]]]]]]] ]] ] ] ] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]] ]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]] ]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ] ]] ]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]] ]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]] ]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ] ]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]] ]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]] ]]]]] ]]]]]]]]] ]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ] ]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ] ] ] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]] ]]]]] ]]]]] ]]]]]]]]]]] ] ]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]] ]]]]]]]]]] ]]]]] ]]] ]]]]]]]]]]]]]]]] ]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]] ] ]]]]] ]]]] ] ]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]] ] ]]] ]] ]]] ]]]]]]]]]]] ]] ]]]]]]]]]] ]]] ] ] ]]]] ]]]] ]] ]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]] ]]]]]]]] ] ]] ]]]]]]]] ]]]]]]]]] ] ]]]] ] ]]]]]]]]] ] ] ]]]]]]]]]]]]]]] ]]] ]]]]] ]]] ]]]] ]]]]]]]] ] ]] ]] ]] ] ]]]]]]]]] ]]]]]]]] ]]] ]]] ]] ]]]] ]]] ]]]]]]] ]]]]]]]]]] ]]]]]]]]]] ]]] ] ]]]]]]]]]] ]]]]]] ] ]]]] ] ]] ] ]]]] ]]] ]] ]]] ]] ] ] ]]]]]]]] ]]] ]]] ]]]]]] ] ]]]]]]]]]] ]]]] ] ]]]]]]] ] ] ]]]]] ] ]]]]]]] ]]]]]]]]]]]]]]] ] ]]]] ]]]]]]]]]]] ]]]]]]]]]]]]]]]] ]]] ] ] ]]]]]]]] ]] ]]]]]]]]]] ]]] ]]]]]]] ] ]]] ]] ]]]] ]]]]] ]]]]] ] ]]]] ] ]]]]]]]]] ] ]]]]]]]]]] ]]]]]]]]] ]]] ]]]]]]]]]]]]]]]]]]]] ]]]]]] ]]]]] ]] ]]]]] ]]]]] ]]]]]]]]]] ]]]] ]]] ]]] ]]]] ] ]]]]]]]] ] ] ]]]] ]]] ]]] ]] ]]] ]]]]]]]]]]]]]]]]]] ]]]]]]]]] ]]]]]] ] ] ]]]]]]]] ]]]]]] ]]]]]]]]]]]]]]] ]]] ]] ]]] ] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]3ce335671cd640505b8d6d7fca9b280fcfd18f6df80119c42029febd2a48c923e5e1fb7459b2205da9a7624af16c2dbe0549a54602607a4363735c7788191f632894adce5e7c04665affa0ba64a703ffcea5cdfccd751ddd6d495a5d3d235aebc149725d3b7ec082c20cf7828ac6d6036c43ce58cf5e76d09932da86e680e1686c0b783aca885ed882ab04ac7e104756bcac12c2fd74354d263c22ba283970459e43eb43c165b451904cbd93c890869caba5660ed0cb8219fe50ea5fe5ca4ae8fb76292144861376987391252b71bb2f90324e41e84a8868a3b468147e2869e36c18f67ed377c089fa11757bc188fec03d02d080a60b9d5c67a78a2e03a0eb97e69010f44378614f46a385a59b04af64464ab0ff4e238e9883f6924148a9201d49d8f6a0b84e11d628996603fb70f7e6bcad0d22af5535e911eeebb3e998bf24652a4283872e5bb9a1efa3a5c8005fdfd7b7bbfeda1be1633af601856f1335457ba20ae7b0aff8bb34f0a03c4e41ac904e4f8c9f12d7fface3ebf6dde123bd375f87944552f34334c2c3d9a9f280ddea0d0ee1f44ee4142adcd1b9f29f79bfd9cbda4daef92f7d4035e4a4d8d0694817e31cce93292b0fef8777b232c3ed1796dd0986c6704d5c92824fe6d1e648d8141217745dc21a02dc5236120e535bc69cb6aa87b826b90ac861a4b4159f2c27083b14648504c19aa12115deba9a5b5fe9ec09871c19f3d55d5e894ae37c6db20695b3f7b412144f9b23ade33133c0fbb4653dd3f649450c475e237cdce864084db31416837024bd6c861ab2019f4dc0cc8cbda4f076a6c6bdce9fda5360330a8e4f15339385294636c528ef975af67ef04969c656fd137fba65310f4f64388fad78340461c9a2fa611b745f84f2e5cc9712ab6d6d467cf101903959a09886d72ef2d2ea19bb0dee896af5477481e78087fbaa57ed4f75f180e81bd13ad3a75a85b469928160a0580273ceff660c452f121b561c396aab01fb793311f85d61b247950f19d4866cbfcda9ff64432f348ea7c51b7faf18313ce0e8974a51b2ab24a7decdec7fdde6f2f9ac559bd97a16e344f82d9a478da4e21fa9409d17640f47b6282768d30f20517f55ddfa17e6fa31fef94e924827495d8ef24e757ab3b2871e2adbd63441d041e2a2f509fea4ea9f54d1c539d7e8c29bd1b1597eeb47bda6616c3027ec6fffabea4d479a2045cdf20d88ec8864ef2582a0fd4e04b5cd8ec8a62cb62ac662c11a2d00ff4f259384cf8f20f450d39f1a7b6a7ecfa56bae914fc270cb7566fdb662e1c2b963d88f77059b6d83b97254b8c0629eb7285d32ec2d8dfb7e927f0d985a3cfadad46cb7f03ba6d5f2f6a0013dcad5f78c3552e1360a8e9aff437d670fe2d61136728acc97b717702f3f2f331f318341ade61c4bef8089e78367b08772bb04a45482cd459a421daa14f1e7917b99f8f944e954fd5f1957508c8f49f5ed02f0dd7aa6b5e3aa8f5cdcd4bb00745d657cb161e55fad41b2ff6fa647c8abff0ebf4c2c9f4f19c9739ef850b96bc5c1d5df12e5df03ca057f1507824db2d5e6d793dfe90a6750bc49dc6430c2c6f6fcc0003bc043de2808246d4c13f10553a5da8b3c17cff15c8a942eb1db004250ec393fe89f33652cd787f167028cc73c8e81ece2c50c17f9a293659775d8d11c75399b1176b5f4508ae7c081fbcc9638dda64bf47fe51abbbc93c0d6af232d2841370660121483d3987b1bc7e628835f4a7b54320fc1408ce568f1a227ad3940da047aab667fe119896f06ba460f90d35c40ebdc01d2d45122dc05b853a967c2dfaecd5be45c49ca6f59b47fb8fcbf845a15c346fad2e234386fea3f77605d7ecf135bd765232d388a705fe53a5e02f6563047d95b455b37ff9f2cfb7890a01d55e250201b585be0938e9885df6fe70f4d40d27c97fbba0fbbcc713908a185ef6fc8891a91b8a9c8527412ce25772c159a55dc408734e4b2c6f9508c067ee3559d4507a22eaefc62ca5f03288d9ba9a9c1d3defe9b048b85044b261a0678e6fd4038a1330190db77530ef99b600699575b2b87ffce381c02433a4e273d648197440441f13a296b3f624aed64e583bb1f71bda8ff919018f4768b9ee4112c881484bd61b9debce74de22166ec455537d3f53b2ac1cbe2cd5fcb9fa0d64049627da6cc748e04561089286acd18f500c09270e508114b603882f829c5d362765adadafebc2b9e8308934331703d31fd9610c7c24a88874abf43d18c155f9098b95783028d72eded0b885a5540c15f97a04cacb20320da6b0fa7210830835f489e0bc496cebce5cfb1cdaae9cdfd8115bbdde616a557ebb4e7087170f21eb6770e17af8675bc1d191df6df0a91c24935d46f8f69cc2b8fa734fa856d8a3ada5ae7b9bcaa071b8eeffcc87e353f25e5d30e64c25e54d855f5d679023b52d8dbeb6ffc9a4d4df57192cfdce4d222535cd7583133050e4684155b832c02859286fbb60758e73bcf0fad937668dd606099260b0380f1886f999e5da8ea86f2424e4b5f8c0cb3c30c626983d11dcdbcce6b590ae92e312320cab1dfc7625761f4b17b932ce72040449acb461fa4ef0961dad301179f1d9cd5451f211130ff1b2c08d817fc4795bf13ac9f09f506d0712dfa4c6a321c6961f319e897f0ebf1c9bff632caf54f9e0bdc117b81677d07cfef4728c660bb264d804bd61fb3631d961680c7781a18887d1d7dacffe2d3977c91da7647db7888d3ee2d2a4551a7218b8081bae75bee8e8e7fd0d3f640801fe137b1238b06518b0067b7bffcdff04d980fcc188d6b7eb1802366edff2a19f872811df1f0253044e37859be194eee26c4fbcf6dde2fce59ed3935d14b16147d09bc38b3da9e7038dc0f85252ba6a103daea47d70e90c4411552123f0ad13d526b06d61bcd975dee44cf084e4399fcc62241d3b03dccd574fc0e372002f9282a0d37e6b846c05c6ce465a27f27d50e232fd32b29286fbba11e5ce99e0f052d0a6e81973573b0909d35ad8c48f3457cf3fed74fc7634c25b77b8e73a8b8614ead94030ada718954efbc59bb9259224c8ee3b764dc388e44cdaf40b5e963c5ad9f58537062466207dcb9b59fded60b91298f74993dfddc79a5d05c0c21c05754270a45924e522287b8fc8abbbb45a58218174584db44a679cc4b423084c796cdccc598764fa1621768338ad4b90f2e4329dddea2078b8318274e362a390555fbd74b20dc2dfe0053879f515afa06256087b82a408f7deba71025f9eabd29ee1e5d1200135152b0d73782282c57fbbe3bb6b92488bc07bbd3985635b418dffcc6d3f95f185db8f56decbefd68f42f3bf340acfb84f0f3872b97c0077201cd6ac7833c37e2da6a5c61db6b631c4ed75c29c43ac7b0ce6481a82ca19a5893842bc75d03ab3d957932a9aa76806a222e708aa5cf4dfae5200b3d1bb2f55c41a3a64182f6a201c9c50966ca46d8698527410192ae91c145759c745828ea2853034914514f98f5458dfdb507d2b42637851578c400ebf54a70bd3083b8ac966a260814c42af29730f2b5d65433472742b90b5fe2cf62e3d158f6c66129ac7f64895f385bb6ab7cb1a9b193f6e50922276776223b17b07391baa108f5a9e4f7e1f8522f4fa6588c08c3a8a2844895d6c59a1fbcb04a2f1fc049cf14f6abd0b0b03bd800d6501e24b8f7623bd1bf7cdc48bb14d3dedeb46acb3591274dab6f8cdec85af1bd029fe15287332a09e59ec9c2887a691c3f916870222a425b5a508a572e8b372705990cef5c4b8d2026823eed7d6f8902a7639afd287aa925ea1ac428889ae4d8ada3cac5fc7506bd18f98897a91d32aaf5b3325d1a9de3c14417b852274e1a081989a25906624666e711a80e46163cbe05825dcadf7bec3eabdcd5ad3434f088835ccbd98821c49069567ac3b3da862da1d32d272930be8a2481a34c9764e3d390a49b7902d5d3993f4f2d0f32a7e944f554daaade3e2a68c07dc13c5529bdf217e3d09e997d79835b7c28ee9560d9148f4e80b7e8cc3c021db9219d6c0c25405d3c65dcef84319440f8ccefa7496ace4b0edf717bbfb939d21751c1cb161bb36a1fd29fa3ac0a1fafb0dd7d57001fac4b9fdfd4029241345d9ea4f3cc60dc2428723b347a4d0186a8936bc0d5db68142c768b878d442e37f228eedda5dff9dbd47f33e02305e1d82961e0cb671270a53e5a601a637a7f3330030fdb08f0b73db6cb969fdca81cce5bad6e148eca4017408cad0eaf56ed67babb1a47bcfc95e26c40c31a45759c2535a499763b850e246940340519007735336b9d7351b803a361f72732534072af25eda6afd6a1a63fa91986a05d3f705e6d1ceb16b68734d03342b6885b13954baebcdc07532744596d7365d5e78f0908f592720e675a69745d274785bded1c65cb8aa31b4e07257a9c981038b8f2b1ba2e81eb6f28495a2f283fc7b54c4cc3b63c990674ced215baa06d17a230e4789d024d62ba33b5c65ab69c73ac727c3d57bc25c03328f7e5ec999990888751adbfc40bb3537ee19288c2a62eff47b11c87852a14c73119ed8c66e1a4542c11554b77c251c11caf58e4f5ba2600966db5768c2c033690a2ea4eb9c128af628ee03017a2d815d608ac45e36c0aa8532dbd8b6666e8f227913c8879ac3f68d18c00f0ae6918bae6bf0597a35f76dc9f88e03dbe0d4f3396bd06d3ecb86c769dc3c6a568be68679668bae0e4254b2b847964587211fc1af3f14384b9f240fd609dd243032d6420f032f4e01b359c47145a994a4dbd1e1df55bbd81fe100c9b78e71f47faaa69ff54cdfdedaa0ed90f986eb7df491ed701dfdf622e8ede490149479961cfb9bc6cf6c54cc587c21a2287195321a18f76c8ae6d61fc1f1c332543b47243bd3e2b2e332f89cfc076a8d74eea3bd5eb425fcf91cc9563c3f9c4b730b92e3a75f30724894687d849186958bcaf2727a009af0f55ca99a98d4e49bebf4b13b9d7548320aab6e71c5fabd1ea1b1edae379977e5bbed4b1212c711991666e59656402820ddab507464a1f1d4e74fce3cb80fdd71ab49b6ddae595434262ba537096c31ee6d31a8ee3c33725ca9c2908e2898513002644ee9e8f566f5e350a7d2b28fe3d7db9a291ace2445872f7b5ffc1241126fa2c1281ae938dded273f81b4383ed38768e108f054c90612d4a70559085b341cf2effe8962ffe1889fabef515094a7151494b2fc48b8f00ab1b92a4195d39345bd55e9ce71fe079890cc130f4af704d800790d53ae7b97f0277a5b58ddde0639e028cbde6143b963545bcd739aeac3bf51cbe00db982b1ec8a8304d5d3f277ed9b19e0bc513692b216d1caf0cfdcdfbcfc85d06e47253e0ac80cdd0413a89e42a9aad179c10b38a1dbfe0088c47e321f4d09cacd40d8c59988705e5e463fd5677a12e48ebf57f03ea7611cc02b42b066ca25ef63138201739320622e7b1752f48ca647fa2925f7b799135f2c4b0547e8ce2c6991336dc030232b05a0f66608b10495a3313faae3078190ddc867f6ba0b6b779811484addffd646865a3c45d8bbd4d74448cdfd5c9c35b7eb779182fe3f1b1af42c0ec99a54ef05bf9ea02093f6639b2ec67898f8b12034e39d7e1d396de7b75548d147258dabc2b65816e023561bac7e7c7eb9b001593edc3883a1eb1918495b6b9210b5ad3a03254cce2257d408c3e03920afdb13be6a944f2f27401db2bfaae385762ae0e00aa55151a10bfa0efe127f9ae673f7e447f20b7800192c284ca4f2155855ba7b2320c024ec193eb0884e360b558c7d4f68c2e63500406e087c85bbd108d379e0b86c9204c6dc19ade6170f3a712b100375dd1a47726a50164717fc8566586ee4d5fab1ed43ca3db5bf79c63800298827c560a8fffb0f010eb4c17a1991f2dc00f7f66cf9d2c0be7702fbe2e48629ac7ff1c51c571df12ccb27cc6402d1d7f0c00c22d7bcb98d4aeda8876cb0281e33e54df2c32ce34c389aca21e30caea4af1f621d47fa9d5e334052678b4f152230ad44c2de1636c240e063c4a4d094a35504ab2510b232c1b4d879aebb077e5939052a8b2801495c5e0328a6b17a211e6f9990418f5b833b0173fd11a4c262c3ac386d9d0b7a04f13afd2ab7fd785dc50e4c22fccfd29c0c7d20b8bac2df7bb84cb886b5e3ce909d2bfacc0bd111459d812511dffcf6a824a8b71bd7a4a75656af73ff70976eb6a0e10e1d7f64572e7d9d89ff27398bf091d5fdf5cbaec8cfe87f23f4cc3f1161ab70e27986fdbba41bc4a6cbb999def0edfe18cc1e83beab76e9ec7d8eb2d708102a1e935e71d26d7636bcd6407009cd4bb0b7b973cc4d2971e0713ea4aa4a87786d41af2a27dca9a5b5649247d7cdb18997bc2b092cbfded21d647fd8d7f0f4924758578f19268f1c2e274f5ce0647133ac6a823b3ee31ee14497f49581a9bdc0de86d6e911d320727ca5825ca18713658d319c7c0b9e615175056b56c14e03b3448dc20a8acf0ebc126018c05979db0cf19be9e9ab73b1ad3c0887ead0a177b2aaf7d90c6a0091865ff0cdab8d936f67212feaa095aad594a184c644d5e6dddc65e4b8f3c44b82824233468721ff465caa80c084bd851e3c176475396b4953a8480a4699f2649818fe6ac23eefb523a9b6521484cae46d3c9ab51dfe39a44585f19c5f10e129b2796a7f4d40e7a9b48863b6e99d75728147df2af705195d4da955de48b62152f7c46f7bb1dd658b66419dfb1af46f325f22228a145be61283298c3bf999bcbeadf807a80da1c4644f364eee397565f5d24e93cd6b9ff925e5a8053c0dac817344764cc9773a2fbf2da18591e7c4e9efc1c8abc68244cd6409b347b563fe1bbe83de3ec5f2edab7985d290962aee2677c8a5fb6c111e4e6552235b2da04d11842b9a8a5a5d95e59b257441bb77121b0a262f5dcb6dac1e7341af0d246377dd7717ca2a0a0060018cd766f4ca7bcaebdbf0ac7779909d4ae9d72397d4386f5cae8ca5aabb9dedb4f5609ec32399e1bca5109783a3f1b79a7a0a1fc04eb9a69be334f5f4bbc3f12cefb476009db30d6c5557aafd0a2576171bae72d9948c53fd8a87a8df8f7652b52ad5a79991964e138e2b1203845dfa78f9f4b082e87cc59f28e06fcd0a431820517d71ea63f93b15691b35eb0e5ec8cd3a0ac1a9a771a95e6bb970f40035a611e15129108c4f2e78701efffb5b23401d404ea96be8f5856628da8a490aacd3eb1991672d7e9b9f633059610656544020e9ed00f00ae8b88098e1075bab4e75cac4f58a1a7efb7d483b1b0a12c41daeb56ced400e11b2ad95e333d77e81add627fb3fc1f34814148c2d649fa18f122855797111fdc97d408c4db3fa50a1c3f505ef588cc3c9a5c23ec366b595ccce233ff694eceb9933eca454a56261f5161c917509edd429ec6b96f7c78349b49984b6b1a950a3add06e13f435c63ac09a5376a004a920afb4b93a5d5d52a60dcca078f72f811a9a8894da653c398d57e7a928903e8a964b83076edd220cafb1f584064da2d7ec6b37cd4b90db1621ef1c499bbbd50114b503d01af07b1a71e6a6765376d0019bd6763a693e9f719436492e817369691f48a0f9c9bc54a3253ea0467cd28c757e4cc937b5cf178f666f27c35ef90e889a8292175099788ab5d814a9e4c461a72133d2fe1d42f8a2cb5e022af5d8bb43a14721c12a7227a2bb0d569124c34ddd6629b2bf2c8e058073eefd3f8f6f5379745fe2a0bbc0f5d2e5c4de8b3d10dfc7dd09f4c82f493e3ff511924670ac91ce8c6f46aec0186444440ae89a3474115059c640e8361d49cc35aa80776dc341b627cd387930235def587c6f0fe04a41b6ec247bf813e1bf68e4958f39ec6303955bf53171514c18ffd54d9b2aaab07d608fe02a424e0280c9c2c3764e87ba209c5379355b71e829c65ceb01f99a323a2fab3ed59d9a82f789e5d6188b3b3f3db93793cc2f7dbe5b762456db6a8c4c5d1d439e43a940288f25b3d1aa67f3199875e9b56d2d80a75d293c58a6e09360b50c1469fc2da14bf68012ffe963bf7c5525d7e9ce4fdae78c6f843e9bfc01472a3f6053d6049108b84d543c0d208e200e751cc5a55b5e2dc6a0fb2937db08ff84ae1508084dce828c9a58dc25f514aeaecb4344fa658dd0e98bea53b03bc52216c466182902da7b066bd00a406645c444a6270d3b0014a6556611406cfc6b74a332c54289b28093427b844b486ce9cfe988d1c4125c8d26a73ad7f14dfc41fcd39dd00768dbd8696dff8a9875cb5ef8373e7773fb230c771ccc331d8340401b36158009d3290d07b55b2bb9bcabc9e962e0114d5211b5edf40a2bb02b741b82b35378b046978b7beff2c17be5526a25003d951b566945333e548d33205c8a8009d93382a4540aa542cb256bee564b54e09d64c63f368c979abbf16aad3641878994aa39b6f4059dc6fa72b352eec78e7cde53d49bc94fb3e0ce186e4d2b06c262f0d0e57dfa5ffd1c72841205bf034941e88b53b2dc1fe7b4c98f18230e39860444bad1e46cdf7c15ecda563b28f74776b0245a57d7cbb0d2d0835ded4e26a33f89139ca971ba90c5169133502df967c4a5433d25f10dab2b116a7ff5791df1b194bcbe67944e4ef129de91feae29fed04a052b021dadc5ba5ee48d5dc5ecac0182cd59c6c18269a2f8c70ba2c371c6b366e3d9f8996b4fbcfb76865225cf411497e191084db52a383fec11ed8c59c7fb25b786e551277ba937d3b60aa736fc3352d5758e63bf7b4b8ea5fd49d76e29557e42ccd6ac66735afcafc44e35baf4ae29fb299cf0b95bf0ca355908312b9841219513c38204ce5512ff6c4527b4da93061e07ec5851d94b36c2733170b758f10aca3237a2702344b1f99334d05b0b7ee37183894562519f236913e4f7be95ded3cc5cbdd7e7210fea13c03ce9b6b3e3d76ef7e1e5b0e5b8d08aa2a93d7f2881b25473b4338d1f81d27005bf76ee937608beb81ea258112a49807685670dbaf4fbdf1253841f96562a8b5541e33dbde43e01dab0f3ad3828153e7cc0b875d4df06d72fff824946ea8b0c4caf79e26df62bc64487daa57a7e8d39d25a4da9418b6ab838291a890b24826f1976823e859fd0b2c3e7ab5ffd409a725603663132fd62bb061d86465e166176e05547bae5263838f66df1cc0a4148546704523fddfb4bab41cfe004955d25153451293afa3ad4f356de4bf68cd7c74543ea813a43be7c0ecd8d34dedf57e76bdb56d5f6fb2c79fad5bfadc53bae5d6237639ef7d8d887ae7909b95fc9b0cdf2acba73d54377edf1dd253a6afc4f8b1d74dbff3987ab75d286d07ccb4a5312dbf492886b490bbaa2925b124a517cc571e747252e4492665dc54d031c39e4b3e885530fe9e06d6632569aa6742c1912b0c4355d46c5422278cfe61b83985c2c7c64e319801fa938f31b0c7ad1e10522b3697d5793983f4052e0ee0f2a238253f8919b2bc9b18448d503d93b17f6c8d757d655feaddbfd3ac54805136bc45d6635c201b7921eccafced4d055024509d4710a51482818a710cc0debc835051782eb200d3b4bebc3796f7cae7a84603b6520794eed036a2d9bffc27046347dbb76a54c23102be59f37cf1091b0778dfe59607362760d7b24d4d8e0c3e40690a0317e4d77c92ce8065e9f61636b0fc345c490412455fee21874d5a2afffe6c2e49f1fa154f1001c96fe5085456f20f3193be31d2079c4689a14f34436f5ccb4eb7ffdf8a45887b7eb3bc4154149fbc80fdb1ed1567c6a19119410ff4ce7b3b88fa52cb5c437de2851853f4b986a5007b566360e1a952f0ded36d1ac50f0e5bb18e2da32eb8d2c9ccaab0ee128562fd4c669dfc957ffebe0cb3a9b945a29b8791443520ed204cfb7deab9f41ae5ffed457a5530ad7521f68ba804d06346b8bcba3e18944f80924a40c418bd5ad197cb5ff1762eb5f21fd4a92f0ddfe7d247480a1808bfd334f89e3eecdc711e0733176b104ef8aaa410a366e313b0aca0b2df129777a6c392d04b72e2870ab1765c87a9870fa7bc84d9b910d53d1a90fa88ae577284954e1508e2d3aa6cd109945c5041869134b71811593913f0dceecef4c4118ee6b5323ecbf034672b587ebe3c047a05cd36b18075b6c34800fa815c1e35c779d1425c23f0a198bed7e319b21b0b570894835a347fce46b86fb81e0b487a3d04b0882dbaaa741a5bb2f5293e8d941f453082cea417c6ec7a775e569dbf09328ef0225dd66888ed1fa1f477ae729a6b72b8e3d4646f315d323a8a8e4c8857a2f84f1681b38fa072031de22f1a44832a987fc1a55114687d4c88d6d105681992574dd50a3d3e33fc349924508e4d53508d1ff2c2812a32e6bc39e3e22aaeeb94772b6363790b52fe9cda03236a7fa44772f098cc85259f3990f099e36169e0e32133469fa1322261d01b1f1142c5c9215c5cdd6497a9cf938ae3ef028f834ec21481bdba50c9143938bcdc59cc85cfbc392f95689fe98e0498527b2cae5be8b4367312d148e652274cd3c58b7369ea5e7db97a6e14f8e07f0d3116d5c9bad919f9a4f62c562f9895c2a9873e9ffd95a11c230d90c15b1f3d6eee89c9c765f50dfc7fa5220c49dc5fe92f68aa41d7480ff16aacb9880170522544c534acab8e003a05ceb6b481d4871a0ee163ab9c38d38adb2798658964b972a6245f7e6a2d648b3f2ae5883fbce97d48ba0bc6c7a0d3ce18d3d73fb29b27efd7165803acece53d519eeee52b380f7095693c64f31cadc7fa2cd64723e26599b61292e01c1e2bb476318a6829f2ec34a29d339264b3f941b840c4c1cf9167d7d84a1add22fdb03a009609d5430624e47803144a72e0750fce109dfb471fc0edf3640aaf42fcff43b6c629dc9d31a9e0ae1ddf3bfc39a8022c76f1686442c9ce65eb063d229afa16f073b8a27cbcb6c2582ebc16238f5cab674f0c7ff788643e99b1523cb6e8bb0266efa091c7ac7d34c352b8638ba7847ff65fb2a09b8568ec4fd1f320e4bdab0beabc476570775d72432f3fea4e6db57f4b7a5981ad099fa34683def2c171f7ab4d95e2d0beb75d2d1ddc9b26680f91788b534f7ccc1728e8a2e697fb22236b17a88aa63e1fe0be94cbb5b4550d8a948f7ae342773de5c9e47d733892ee024defb3de722b3cd44162d097bf1cd9a16b7e95c5c1e43c5e830d6f9f90950a3cae5689b5be6513c6d35f1ed3fbce5095b6810fff8fe9366946e5a435581e271e4d78d8f5277568cb3fb2bb16e623385e7bfbe176e9760eabd633a5daab0190ae43b24d43ecc6de15bb21f584657efeed5a8379abb956f0a935cefb81ecc37200ddd58ee8bdbe1f7c5c55f646da07b8662bd5a3d3b2f0a2b0b0de99d536635608df860f480ebef58adf8c60fdbbaaf552a8f35b5c0ee103a22585382c0bf0b4e86074983c95c2fe0efb252854bd08cc5b49ebbe4bd9ad2423f4c4a784b89df1271ea6a2048a76022c2ab41d95b8d2d9f11e3193183755da2ba0f219c39140baa246eb311447aee59f1baa086801590dccdba3d5a9082329fb8f57ad002b00631d934441e285e65b7b67bb2245dcf8a02ccf1deeac150b8f2c1d18b72901b196302320afe95c008bb2e39101f4221c6ae4bdc3f87c972d803d83d33937e324258c097ab02fcab2ca3c9146eead8d75d982db804d7f55a48f464dc5b0d57b56f8f12252f1acf38b8946246beac550ee04d5eea566b20fad1084f9e01c3a661cf0edefc1f504beea20f1096a53341e29ac1c05bb89e0836f099f43ddf8822b7d5eb56f7c2845d234b003db4a250365fd98d6718eb9fcc6fb708ba61d486c3d6fd581a34dc03303d1ac5c87099be6e30f8ffc72ae4905b2709e92b8d9d4362fb0a1e4afd096f8dda3ac37f2e26b6a896081d9741e082a47417e9210ef7aa5a9793cc865cc0973fd12476744bd0b7b3801d1817b75e8255507267db0d62dc82b47a5b23b3a862d25790fdf6188fb5be9d91749628aea2fb9fc2fb95f4b9324154c5b48e0799d889a051fca83a56bbde8228640c936564e9eea025a6d056db6f58c21dae08d5042f5b06a49f3a06ca92aa3394107d6d9dac67984cc2b0002696b544ca11ae4e3489cda4f3112ed0c10d23c127e7ceb4dcf8d9bd2859e1c1f4df2b0b504b32d110a052fd6ef717c00cf7ba5ce748272c282ca64f7978d4794ba2bc2fbf6c00173990f8de6d9e1e1aaf97d8010ccb8c07ff9af36bd98e22e0657c9d135a94266e243f6410401f1be594d2715bedd7458bf5f05c88b92ffe777b167263ac1630e58e8c17ce0f91e587892c3ee7d9844b1aa48f2a1dc4ef756150a7e3dc60ff608ff1823d585700243bd8f9ae0eb49b89ea6bee6c1a08193b52bfdaf733337af97c3f66097252ddcae218b860212ddaa5dfa3d003269b34b01f1c6655989b0d51894503a1a0983b4e028117d7ab74f7312729ccc7dce1219d8fe713ef1936ca72ea79a9432353e72a5247514d02475982eba87e64b6bb85c2e674f07445bef417fb4464ace120a2db8102e3a7368f725d0ace5b2edd7121e4583afacad5299dad430110f43cecf438f2de9f8fa1806b23f62db14d81829e07274d49e46560c49f5964e7abe7f9f6bc180f65f859cae8567601b85bd3f4ba64928fbc0cedf0fc3253415f4f1414366476802859c357c3d0788c4e66b146e1d9138402c6b965a7d3bdef0746c572d200fb63b7229a86a3c2f1e1ef66287f2c5a09b94968e7dda09874a35aad3d22dde1f4abe40440a6b94af51c425acabfe76e660e621534bfe88f38d784da3fdcf2fef4b25497dfc4233ac50e02bb151385c1f3baed265b447baeb831ae72870a14262896528adc8946939467c4b824c453c90be40b8c2fdf0fc9876d1e47d1157a960fc5d0b7a65b642c071dff603f6b8044e4d3220266a9520bcab59876cfe041e0cba4435917c2c265de9959a9408de79a4631026e98e1cb039eb4c10b51b9feec6ba0f95c197844ca130a6fb03f4fd0eca013170b4c475b9793293ba8f35962ba3d4d93f47a42ebe7f19e8110b854b0a9a0ebba6fa3721e1ca6315462b23b6b32ffb090685a3e22ff2d3e90cce67126ef93892e45eb74360d7e4fa2aa659ac0f2433b83a12a79e2c88b85c1e7d7f58beb96d2822a028a7a23608336090c325165c4f767be69948a2f178f29898db950af2e73a5b4f4636098a52845afb9620f498cec9315ccd08775bd2aeb09077719e2480f8381bedfb3a892cc0eaba22202c696656cc962b616e33d54cf10c687ae2b317f19fa2f825756b7acc15850ae5a0b34e565d74b245ba4a803e4d7aa4e675a1999a661bb34df96dbd0de84d67db4930e1aed41b8991a4499093b54c4a9da3ea41b7ccd3bbaeddb62d3a76863c5371fd5493de84b8f976478ebaef8ffa44dc6f516968e23ab84b214b52a2b0ec66e463c8a176311ea91f7ce1011c09ca61449ab9f6a12e88f13ccbab6b6089b78d10898c6b5a39430cb1e5a0a47f845d803e6f5a5e06f0be8527e581344c8083bbcb7bfa10dc0c0c00643a37680d3f21dfc6fd805b145137bbbfa39d618138d227e2a7565999c2a7fc611417c59404a51d82ff72bdfa5e25b03ca05ea3bbeba892ee7abc55faff6af25375a864d351ece474f0d7707990982ce3bf93f5c763907199212b6eb96ab6111e460af4d0894e0bc0e11c746aa2d9fb57ece8bbcdbf1d125ca7b57efb100eedca0d3a3545a9fda2c79d00a639a7b76da41f030d9c157217f57bf592c185d9a63b9da96e5ed88ea367f7c506b14440bf8ee625418a069914433f0e6a114bccfbd3dc31020e88768e0dd97d4f9494cea9a6abb324d24df8344e7bb1ea5159dd3f055a28b464bbb6be672d883be63401116e9e36914ec7564bc9d12f857e10a5f42bc749775a1546280ed486dc86cfaa07bef878299e48337dd07d42d3d5f855e9db0584be43ab43d7dd5939ad9a35b107cad714720896fa14999c01ba021ebb8218a7bb5cab3f120217abcbcdcc5ec3b31cb96d169a6801821178bbcd6df9915ddf641bb6c4b040b0dec3f89887a9db23919990d619ec8a2bb444c3d53590f4452f0374e9f00fd7fee165af0b43a4383a8d452f77ee3b56959840bda08fb2305ce6c31d681204c96ae925cdef57835e1c72293b8142e72e6099d01b8f8f51145ece6221e9944dd5ab8226ae6c7c2ebc9bbdc90af0fdbee7f6a8168da8ccae3b5a182bcd1f1fc3cc91c2846797aad6e6c93a0b46e187d1874c309edd8c9e8b2f2b9acb5383f5bc202173cd393ff1a930a9326a904beac61a108f955effb136ff58c9312a9b625cd4a7fe7f8190d235919b3badfdc4954e8742db46e7e07641c4322dfa245b24d6dca575feab17d54e6f9cef00e2f48aae37b18b84fb14f062af6fb66ea34d27338672555177e95c3e078f77a6d513927de851850e8262a4e88e0fc21227adebfd85f5fb5c95f2733949211618356dc74e4f578c3275fe4cea56aa9690bb2c48dd8c4f4df764eca7866876965844d299bca8b9a7d60d670c67a942929e7a0c2529b27f4e7f3efc4d98fcd0f142a487a09f1bdf98681cd51d218b34f46069775934d97820acc9331f01c6ffe9297a6decfdf23430c7734d7dc6bf3795ff946b5b6de793799751a992fb28d00433780ff398d92f146a27b38869e669418d1b8ca0cf80634a7c9f13d104678ccbabfbf854be488df24f614eecb58d3f7d5f2111c8e7bf1fa90628c54fe066dd9b47f68fa021c5ef4babd555bfcc94328aab3a391fa4e47dfd9ed0821f047374c4780fc87a6ea7f0c950c0aca3117ce2abc50990f8a143027f0115c6195c5e27d8a5443afd0a47e7d615ea66b2b2846bcd26652d7ab79722875eb81a6025d51a99f85d7878e0c0a6a462590794958bd06f59f274c36f93acb759ba17e3b1043174737637cffb74a901eff3c60755eee72a7bc4fdb6146d4e624c6ccacdf85a9e5d92b163a60219239c152acaad0220a1ad4780d71eb3cfa100e1524946bd206aaf08a4cfaf3fd0ee337b7409d198c0ff964f203089269eb85b7e22a7687f73c50269679a9e20a1235dbb8194156aecc1e0edc4729cf961dd84e60c967d8822878077986ab2d0a937ce4df7a24b86b72b6a64942e85244ffa70fae505972c1bdc63ed442a266c09f79a9982495625a4b9bc33590b5eb699903fa9bf012c20d06160fe0c67e854f8e48399b3192a331dac4ab77a28f934830065a08cea4e7b0a0157dd6a1825964e76720abe63f73027e5858890f0cf75944f6709bb7b20d4c56ff4b2c92af2352a778b233883f0a6cb4df1bb58c8f210af02a26e6cdea1d9c050a65713d62ff598b7028fda11ccbf5cf58c3803bf12e2914c1b18ce89ac53414fbe121ac7b37d761aa6317c481f81f3f438730b2f3ed52177091cedb275effdac1e43612da83667ee849587b1eccf62d9d59c624072c24665924ceb2fc8eb3e8f405e2f279d81439a4b36720a576678bf90eaff74cc750ff06aa325a0e52fd46fcba9e4934930073cb3790f78253edc88b42ae916b796dfd1499e426ab0e307b8bc5e6efb74394c051b9351a4eac844b289881e303cda8a23e1a677bb33bbfb3f1af93204e2e3edef5e288f57737d041e37ba4c98d78133e5dcef63b1661a78e6ae9ff9aa3ff6d324c9a7681c86671c0733d1fa4f010f49b15c6e27da8529ab4ee5d1dc5ec933b97d29fb567dcec7105c62153f52554129ae9d9c841c6fe0a5793c10db1b915ffee2a08d01611075a5e6629fe2295ff8e21aabbe56b2ae57116a50f91a4d6bc0978c1b5d15049d00be09e9d50bccf75fcdb797f7b556ef65166088c27963f95fd0635ecd8ebbe42ef3f5eee826e1fff77cb726f7c6db18aa02c75753a790c9d4bf48b9073f1efd5d2e894f7eeef9cee42426da7986b498e1ea6656ffcac19f24ea0e449368fdd3b42fa3d532db29c1f4b5aeacddecca51ccc503e1a859f36826e65dce076263c39167d948846e1762f4b1ef02790bf7f3e015128e43cdb0df1f343665e4fd16ec15186b0519598876daafb526b0ded3ce67c431d0c35c34a24d437b9972a28a69bf441cad3c1c43349c086ac098e6bc02cf5eece1159845add66d28680db74e65521573f8ee0a49579afd8b3cc4f27bb8864dfa7655d03276df4a59b1d24fbf114b19e35a7129ee00d623aa5fa42d7c7ad2866acfe70dc22759c352af3fa28a7136c710c5353b1cf23b478c89144a2ac6b2cbc5647519cbc8462bf190a8acb1131d369b0aa57f503677a2c1fd7c3cefeaa668d62e9dcfc798e557a0fcd2b1aeba66a18cce710955ec315052d1e1d12eb47ce05eb8fabe2159fe3de70f1b5473261c8cacd810c5040f9b24e88686deb7ad31b3e2e05dc308ded77cab8c73080f3ece8179259ba6a0ef7a07276abd17ce052640e325ba94160c830a7d92ff6b28bc448c7ff868d133664d4cf2f9efa32a2b6c186e21d0e741308a8a4d995aa793ebca5ef6823a2719ea7f09d4037afd27d7fe416d531b4ecf19440e6377fbeeba68f28d04c84176dc0861311ee320e6cf84a994309bb073c1022c0517e77ee7f80b28f7d8725c3965a5be784fd91b40923662fe79665600ed4a3dddad2aeb6fd8bcecb809ff8e6b1f37af9a452065cb1f54ff8870d743cf5c26f6af988ce6ba674feea51554c55efd3bc738c25e6e675c6681d8e27194c18fea8a60c9ce575d1112dca13f81774246a3f8b289f60aa8e93bc04633a35a8229a6ad2a3aa5dac34a16c0758872f34dec320d372d1f531884447f5d9d4332c06636ffe0b654404d6b277aabd52890a36e0cec56aaafea12a6aff50e27eede11c4a45849ca083799433e1ec16ebacbba4e9e70439a790e93c0eb71c3f2ba120672c378f8d6b6d1df3201787fb0416d24da86c8721dd28cfacce9f26e96bc1734bf2a0539fdea891e775b4313ef8c2eadd1e44041d3ecb25f14846fde5a548ef5cae07e370c35b7ad6769514409fe37f809ea75230e0f92dc2cd98bc39f1dcc30d8fe2978ef5c1d285e3c1f173cdcb620384be6353da06495724d2368a23d0d687325135079e9bc715946aeed6f4c39aced593d03f68e59679b4fa012b3cab8371c04ae3e7a8a61397c2ee27efad5dbc381b06eca6474ff54f287ff25041dc676b06a8f0ac18b7d0c0a36ee1877a168e0518df95161a3dbc862b69378052000f5a9ccf7cf0cefecaff6a87799a931522fecb29ca32c9d26f1b4b1ea4c1be51c8e053d1651ef8c42b6181daccd768fcab1ed967d0b3c36412d5b63d9baac078d6aead1a42440fcaeac379bf8229891f156f714debf8eba45e11d8cfee0bae000f88da19d38fd272e4e34a6a677c03af828ba7ee89efcd99c0028df7dc2ee74052c7711480dd0883f817cee52e0fd2b7e51c273428bc8132ea3f53eeff2744bb7084d64eab2ce1a8d91bcb7165be0b130f32442091dcba5550d962b50e2d3d4c20ecf5a039c6a8ec059acc1ff99bb304d16e4404019f7e6cfbb560e3e9ddb554e2b2cb38bb3caa5358390acad65569e6a4326e931e312d120d0c9c979429546fdd52e2bcbf2b9bf5db40b4edc4f8137124f3ded1b0e0db73e7987d163788989daeab328184747920b2af991c87bcdd066c582882f1463a6d4114f3648282de8fabe7f806b959c867e6346f84173474f27e7f68aec27bd6b83b25571a492c803057fa72b9d07f47551a14bbaebf08a2de1d8c892462f636a7caa09bd0b8f47887b44b15c7723acdede6eabb5b31d33a1e981ec7346742a2c8a62763c806148d3a67f456f8527a1a59ec5b7aad260b96622eb6e442257a495562885d3846249a9872fee494a44e899f02bbd715df2ccdc242956c26cf9b0f6836fceec814ec64da6644714e022558d6be832baca5c0abca6c69e5f78026211390b37379586aa10011b1f380c99bd426800fc0209670b76410b08b2e0d4348aba9bddcb81409ae4b00ac51d4c4650a3a0a1ee89318f988af266f810b8d23b94d7bc306e4cb14eb278c8eb2fad87d5786aaac416f1a2f4cef265089c48e8590d71299424803154c10f44dec1e6c19bf2f6449f798645550682752536afd3f4925b9a47b1456841ccf2020705341bfedb2bd5daab9597c6cac8d375a03239366d8e258b71861b8003784e35bf3464010470d426f188e4bc3de8d7026812cd24b205a13fa14ffae2d18ecd157d940285afc8a2c5d920b915e3d19ecfbecf66c293eec5b93d03fb72fa8bcd46f414fa97ed193f401e0170ce924cad5638bcac3f51eb55fdcdaf82c6de6fa5f75e77182905590a32188f0e6fc7444795746972f424276de0dadae83f61df9de02e0bc46a478578040b6305b7fa65e7d689230a35466f1ea5b42b8f4ec2d1afe2fb42a9ba4af61f0703079f917a028f049e2bec15cc4b1cc95b928c4b8305a3f81e112c1f00608cdc88c6f4e0ebb455eacc6f3d9eb8c79f403540404ece067d6bbe7bf72fb7871ea0117a8940c1fbc484f7e34460f91c8be6aa936133b07c1923d56030400bf05dcf4c47a593459a900074e04d114551c1e1335e8b980a888a39982d0efaaf1fec917ec061a256a6f3f9395f36c672845aaab7d5a9727385254f05af8132cfd1f85049d9531bf960d39fa6b0fb73e5042ed9695eb4c6d62ba0d1d22493704f13266c844b07eb80d40b8407d2bbbcc17cd2af535a28af3d5c0b909e7d388b47cfb83484e0b6f72a25b7d59f83d0b2c0769e3914f57e93abf46f151cd6b82b13073592366e86d78d748f273a56addabeb789f9661dfb3364f05f512373b29e39acee124ce4f31772d7d8377cb2226b1dd46d0db780e3c0fb16c56496508a078a7caf5bfe2311c36c585d4aab522cfe6003e7180bd915cdfb0360863765316ce8fc06288a655b8dc6958bac93eeb043344fa6dc1f4078d8506a595b7936db31b0feba692b744c3756d6ef38fcd27a8fa15cab3cc5cc87aaa641e1df9c312ce7e6693660d7e01a2870362cbd12edacc9a1d855cd4142041f4051bcfda288dc1e551ae710161a762d7c64a2747b80d18faab8675a2344eac38f198f7055927ee9bb66f60cc320d209c2c19bd0b9206e4adb7629e4c35ac13566c834eccef12acf531b4a7b5949fa8291e1bb132a0a89f4faa7745e410a4509298c837196d4fe2ec618bd364385bd06aa45942983b47ec4e08ded7b07fbb152709e81d8c6205f3e95523e43ad89ce9e50a69df25a6d0f1ab7d89495f8e889ab571bc9931bb1fcb67ed2584d5446cef43d75930a5d0bdb987a3d6db353fa12ea3b6104d8f5f307693b9d84d811f5117871cf567093c31015441ccfa02eae3421bba5f4c1be977763793c29647f213f4c240a5050387bddce30dc0abe7bf4f22f2437d301ef7afad524574df6ea0ff1b797e82cc49f08fe487bd2e69066b19bb7cd56b9a42a4f1ce362a6ddf844c7a6c6b661fe9d6afe3be74b3c29fac49f1d40795c343a8d4085fc542f8e643d003c6cd98a517570e214e29f7061062946b4af510a42d58cfc403d99166a203776519de27a78a936efe3dfa9d5ad12048c132746288cea29789c5cbfbae15dad176957640084cc3dbd7e1c5739a6aa3413ea8f464bddf1f0ef2c8fda924861bcefc63f5c529f28516c8c540a22135adf6319e582c882880cf03676201efd803d3245fd0693d6d2f1fb97eb6c965f8cf2c2b351d9a94c45a894fa259ea2d54feb7b4c5cfbaadd8820a6cac37d3b0744c28d855145c801ce509ac46319525e9b2b43847fe4df5e00fe606c2ea0347a4cb17814251160f82ee2a48cf156e1ada9402a78c2522c7b59bc65a99e7b9843f32026914c7bff13968c2d9d58cff3db489264c29ac120e66fe43bc2f269e78ddc377bac7c03ec00ff487bec9e88198df1dfeaa20f74646a530f4b4ac841f4bc21b94e2c48e4825a7783939a9d5c7f8fe356e889c97e0ebded32909351923ee009f9c17c8f88cc1e5a6f89b7e0285db74f8be568ada0296d56a9c630912aadd22a8fb6031008a4a8c362bfd48fc04e45898d5012b310644014bbd157ec75603ed0a11888e0420b9cb9116b938ff29a6b11c822b89ace6eafed73817c0aaa4844cecb42ff525f60ef0001e7447715b209ca7faab58db5f7c4f88d89342a4cee73b39152c2106a1804426348acd23a4bf37c11dc5a7f5b92e3eb7059bea5f00c934c9bbd8bd6d47c537d8237c3a0c4e9c35d2dbf3dd57dc7134a622cb69c09b6abafd5f5a7b3bd5ee45c9242736be7fd96e885f9290969bc1661d991f876fa11bc3133a252cae72add60217a335bb690dc2a40ba7a96e39826d5a7a015b7969b4a722b7e3ceeca3dd61ff8a8b68ebf6d4ded4caeb77d26739d53f1510963c66efa89d060d8270e6d9e4a58827390df8b2ed7dd6f7cc64baafe28b960505adce6960104d9f91dce2d106eea4670429d31c271284227c882f23148550e977894ef4fafb0e000a508a16f5eb1d6b808f11e7f34095fe189efae5ea618f03f8b92a6ab5669de3dd6cb7c3c22e3929aec59750b9f9247409c5c57a9ae66c241441f135d02dfb2907a27e619d717e2ccf279765168a8a3b393ae42f615c05cad74560c29b83a276b9d37cce3f9e2ea04faa516b800c34700d851c776ff938e67fb0685b184b4805607515abd78c86ee8a43538dba224fd8f708ca709d13008b577be606b9551331f325cd24e3f25e09b98c1d37a29b8e53fcba5e31ccfcb09dcbc1bc471cee6e849b2f0daca792ce1c46290a801415fb53c9f434892010c248ef427bc8076539f300ed74296dde2b281a9c124c3ab3daf812b962f7bc2f055534fb95aee538436761d34adb2cc5443aea9c38360408e5163899744f9173e5770978830f93261ff8ae00ab31b279b85b238022f253adc7d9a2d886daaa9d1d0b218c2ae5b6d12263cd89f6d7d0a70b4ebcd2ba047589dee8edb8b5986a97049bbd72f78798f7991f2ee3d74c31306c41673768ba10d03f6f4754fa2331a973c75aeedf35f1864621c6f93abff4eef81c54b76a1426b7ad84fd2f1ce0a7d0db9a77a4782d4c8815662ef0b6dea0636c3573b69884ada37a87a550afc941884556ee9ee014cb0e8bee53d868e42eca33fcf25ba3b445e9994768e2814cdd2f7151c122d9d024d01fdebe9b0324813eb8005d8f0ef0e687928eb7cf0005922aad59e1127695cad6efedc02b6df47ecdffe42b859f5cebc83fac4bed0ee3a9fbbcf1f0704c2f061cad139d15de866efba65bb58b0235d7ec53ca4572027d72c4d7098307ef4fd0455e347e9416f3fdc45c1d17c865fa85ca128f87befb8b970e44ee295ad18b22b89bf834c137144d09edf607c452bf13076689d8d289aa9e006fc04f3ffad5744376442a1318d3eeeb25c8ce082753cfe911605262715356a4ebe9292eb611d8358b3e388df462870659b7ece89ead2e2e4cc8427697b5c0c5e91e147d55791d3006138eeca31c327904f6b83b64ef83f3f83590d9bad739018e3189042ceee05e5ce639d93494d519b0d36b1fcb09b05367a7619edf4e1902d7d2d79d648d8128343d6e5157da479cb9dbdfbab5397caaa2e17d2d69f82d7cf4836372c05c515510d55449815d297d70fb69b12972aeccf22abd31684a158a2fa7ecc96b258856d9d32a16806b790f646d18798fa347947046e8035083591be10e0dd6445b7e9d2008b3530264c59606f6606e58e5ba371fc8a3387cd2c3a45ca38372f2d9e67d5a0fa3f8782e9d54d6ea65e865de301e2acce8e1879bed0eba0283a4a5e747e4e1547f246cac81c9b77deb905d91263c1655a4ca200908408fd97cf6eceb2d314f59e6f8c78751266b29f5c0cfac2564a9f467fc4a8b72ef204f4ef96ec88361074c34002f81c4c1d33bcd88ec29a5d878b76c3dadc86631fce2f76e51af8d26bdd9c4354b985e639eabe00111cf153b9483f48ed37523e4ebb7cf4def9f860ea71328ec66f22929676c63c3332229c26eb516876af5f908294d4623fcd9fec53bf117c0b3318bda16a815c3c344a028c5645f5afc66f74733ea88e5128010e5c715571cbd5d3fcf4bf914695def85ff5f15e8663bb9f5c9cf1de44704cf0e980bf50412c65f43511b560c799de317c0cfd12907f9ecfff7488c6484c6849369b29f3bd9d60dd68df01aa1f095909356660b8dd5f26ee7b4a6c5e4e2f3c19c4115bdc9e14a4ed1a55a182790b0cde934bc377e1a83a97c5fe4714ca65801f866b8ae0648096d821d2668a6c58df429483fb3af4fe3166799d5406184be317b324077bdd4f286045b7fee2ed013ea0221dbc3c83ea6a2343036a10e8b2319090f338a06192a79b654aa468f866c1e855c945a83546b76ac47a541004116ca1c12f103c58977a8d488cdc1f581dcbf25cc7db62c76ec68a0dc2dbe8431bc1671034b2c22ac8f3f445959b0dd74f607f0a5c06e1055ed523d012617e0ee03cba12726e78192d5aad8ca7b8234e437e84009c7293fe417183b3f4ffbf2637a2e20c87e6378cecd7b2950024c918592b08e4e1b6ba066bfb4c2ddb58d55a3753103633aa18cf5d788777101967d91a44a7f6d75b8b88fc56577821fda4a686c6d0bd694033a32b93e48a46e719dfbc7e9cf110d9586828bdfef95eb180031b815863698151fdc540dea87e932fa891a9edd5a2b8428713a07ef18237f328e5a6620cca03b4299ac2eb3e8d1f652ba0533c7e5256206bb5d8b30329364d7fdbf13711c0d72378e685180e911483d15aaf0dc1a23a545ff71bb8851cc3ee5f34fc7a9964ca7865ca79b5f6e20e618993ec1b4a200119d4e38dcaa1afde001efd0f609c03a868491e0314ea98374504a24d63a92fe4fd66d2547676c0f68bdb78003959bbef637da019befd2e1537369d7f130430948cb26836f6c8f428dfe758255798fe3e413954a12c091ad1aee7b6113ffd7f1c63d4a3701207dfe7a111775d4420d8d6311c94542a433a1ee82b5ad3161400e2ed944b69b8ee59319e767a341dd6f3e91988919c3167bc139bc0cef16fb3ece476c9e8cc4f8fd050f1e54ebbb9575eb50a510424c151b27ad184bd825f5be138449f05045d97981c0724e2e25afbf5c6dc150faf2d0dca16db3d8a00123c131e25bd4d7e320e705ba51ae72128b4e6019a4f3e22a17eb04dfb2d8ad9ce7b0cdf090a4c1b546821951a58fd43a5fd9d4b0b63f405abf6f54405d95c17f8f9b267a01fffc944b486252c5ef6ebeb31275ff8c8c8f0a4393b72a498be2a07e0e5d1f7c37839f7492f0a9f931a0be883e23fe9fe478758a01e57716acc4c21f24d225db263ebb2f995cdd20606b81b2cee32a14e3f95fbbc9f70f78d61667d22e7fcdd1745014492122b056ffc767534a5773816b487c47a34dafbcaae05d3dcd8593d0d26681c20f9696533b8102c5847b31cdc9ac7dc4750f36c243747f16ecbe6fb4a4f53d94f7b440d86c93976d320f250d3d987f76aa8b066f7800375d3dcde56b134db6e1b71874a014d3df63fd71997a11780cfdddda78def99fde2b466a872d28f97169b8511e247fc70327c27d60a54670c5d6e85c117d8da1cbaa4e94daca5fa939e30d8d1e50afe3e2b50d4de0107935810457539da5555a1a10f5905d4a434f53782e39eb05f6fb8969bfe7ab2e3a81b42cc699fefa5f37c9d994841c4b9fc96f2d35881ceb96fb947b48dfe942d59f8e00eb06b7df4c2070df3175b2323c924411864a301a19ec56fda980bc8283cbb6b9f239ecf475d073419fb9aba3e6d1be050aa37fac876466867c50200f83844c32a712d1432163f8e9f74514fbf83e2ae9821f34f4eb2be3c19da057afde4c2b4673d23e519b3d7a89f3decfda352b93d88f893e5b4431d93afc93273643d61b1e72a2cc94c594d6eda53b28a1c13fbc6feffc3b411076b3fbf3392f8b327537882ef14adf74ad6df32b74a8d5969cff55579200438375269ebac254981704502ca2deefc3865f79b2073c6a9160ae33ed52ad644ba8d916dd80242f1c05d9e5de605aaca45d549aa7881d0261d24b78f82060965cf99701e12964c1aee1ae7a991f9e600086340a2b994be5014783d8b23bbefbb5b681213ffd202015b7b877ebec259d92618fcd05c493886ae51806a810bceb1521d5d62cde2493ded34a8eb076a0548659bcf71771d3f3d1f566e4af9082bc958541148f0e3288865b4bcfe8cd06f923dc3a32bf17075008edc8913034777a927a48e33493e5d3b22ac893b4a3b70c9f61c06dd1073947c43c783440b55eeb7f6b90a90a2b63dc7182b06ef8143ffdd180d71e9b707edc40a5a416610001bcc6de19b1ceed74381812f095fdc1d483c4a56a36836d34da20f9c4112d9b46ce2f4c260ee08513529f3f994dda269ada47e8ab8c3fa4941b1aa90db232d71049699378a8993e537833b5d16904eefaa1626c9633b8c708173bf9a358e05498f38c55c547cdc753b0de4916e56c9d10a0c165961f098368da8c22ebe67f4e415c201a2ba7cd900a81c6e487165bdd930cbe15f30adb76e95d0293347da0a8c3f7c8c242f09c9962bd88e44da4b83a404dd2278dc29b783551db561626ed0592080a6764cf2a932f1d2afa87662d51aa9eae332d3a9435747dedfc04b2b026272772d10c64fa8839c6ef41ec534436defbc07f19f0aec398662a1a5b9add91c19bb58552de2be469707216d46dcbf323c600168b7ec0df7a43e77cc1532995edb404d1f21ed4417a60a286e33e3ca100095e08ec926d687cf4e67e4077acdb22f9b528ad80dc49044d3bee994a2f4c1569db3e3663a60ec13a5bf5f6ed45f0fb017761d67760443aab86ac259e72dc7ef4f1f5266b5a01b8caa5c8646b1b39c7fa573f27dc43aa7e57b479da377ef3f6c46439fd3933bd67fa2483f924306f5a78b180074da80c298cb06ee3610ea2124fac53b3875f36a3d461091568b48687de190c27d6c7f06d0e46b16a219e0081fd5395a1c2d75510a9732eb565a646504d34ebfbbbbaa072ca13e5a7f17f71fc34f9d2c49a3cf71179995bf14745f1588f82a30b60c6bf3cd649b733a1ee90091ae3b3b1d0e3aab5ea43bc86fa1f98b64ec37ba5da9c56642e0158a5cd32ba75c7b4386bcc708bbdbe055856ca855e2d17d70ecf552fd416bf3aa87e0e14cfa72c38384eac297770e9ffc36eae927f79c706e45a3b31630219a2b02ab32b1e03e7b7a595c2b370880d0a646add33e83b03057b0f55a1b0b8284105d21bbf8c4caab3bbfb9b733f0469d946aae73e493aeb197f7b3b74cb89f5f1f744301a8c6ed884e196472546611ba1a58543a7c36a402707e06cdd42b97490c31968940abac8b7679e6398a282efaadd843a445b54fd94ae2508d40c895223ab50bb6e03741c177ce583f3639f907775616a08af03a20d3fcfa95ec8a24d55510e034eac4ac908cc8d2e3587b6b9c8c4d24ffdc5a7fa145037c1bdf703f30754f32bffa10f8b14592910ba345cf65ba82f033dd4ed5ef6d9ab5ecae4c83b9af75d92ea8198b67c2904fe49346c51ff38b1e8e2fc591bd22cf47a5d960cb7b580f99f3d34b62c6341518371563b2bbd9868048b0b5bc8351991021ea76c0037feb9301969d898c2564800dea5ccc681f30812ace33639b7efcde18a54da2c38350e29f87bcf9082f5cd6175a66a64c9e9159f943b9c62a3f01babf031d4509adec4087b7c9a992db4f8720381f5631da277194cfa4549f827889901f35b473260237d61e21adc7bf828f3a1b62b6449c5dbd7b793f49a7e89bc4a69952f0b75730e7e770e3d96b21b1542a328ab95879982a236c28e0495e005f3731c0436e83195a9504821d86ec7acdabf7eaf8fc6d90ade6d48a5a74af27bb49bfcf35d9b224e0010957e5ef199f7cf359e7ee37453aee92d16b85e2bba25e9ed1590c1b8356f7330ad308d719cadb8e4fd0b4f6f940328b0e2f03636bf2237111ec878c94f55a508486ce45a7271f81925a6bcc49ca2d71a416f00c293670a6d686f11e2d0ebabef352f73507fd7d7f5bc6f5011f1d124f3b6cfcc578c5bd47d906ec9e289496838b18d6954c83e10140b9400231f35b3cb1958b70181c117089554a00270e75fd11b624a7464861deea5d3f4d52215a88294c979f0b90431676f54f6c71a53edc807542bc7513e4977b52e1377ce9ea26cbfad37021465c91bdb107bb34343e25b18b4ca15b20880d339f2942d643ba472a0e0ebfaf58c0651cec6d34c1bbf8a3b3eda2d490bcd9ac48afda3ef62f8c5bf38facd496aed6b4e86e5a3cf5f8de701b6d0c6c7a24ba7682f142095abf0364344699838813171fbf88a18073ca880f6d6d306438c7806d257d29a7d738e119a322ba7021b7de13f6ff6c1ddd5b98f203cbadf500fac847b150989c7373cd2c7c602482c61b6a525c20705c594ae0a39d583a81628181f78935a8a0f64a734a461855f1a625939741cf6174c4a325afc0ac5eaef557f8516ffbc5563ec7b46d5870f50fc0b3ff543efe6d5f2da340187e4a08b9835872b1a6d91abcf4cc5e9a6c54b7078d22cf6d3ce6c252127c31e032d46f2e8f84f87d96b98d67eaa235607c0d7dde254abc4e242e5bc2d4feb4e7a6a90cde6e0ce7b9a48ab7108853ad498c754861a8a2268862fd1c9b17d22adf11c701753492f10c272fb42bd2de6e7bba55344f9de99404a3ac6bc734506d410aa4ac140d0ee1294301400c8abc47cc47c7c794c46c373436c71d23581fdac3c143e145a815b2baf34a5fd5a1dbe131617c37d1c9e79da11987633bec1b69e5fee904f65bfcdecff78adfe75da0079e90c6cc67210549c80900d02f9ff750184e135c6e5de9cbbb22605a8e7737eec9bff264fb26d0ec8ec5b8da001804c8f107a63288c38ce8a754ede351dc083a352468ae4046560449ef38889c383c3e4f37557507ff188d67110eb2c1acdd1c8160a12284347cc5ce0072dd51a094f59f916bb206f88c9112c6251b8c96185c5687352eaf6e1162707b396fe6ef64985d80d7d65fa65d2065f02a70d30a31323fe0f0ce7b5f8e1698fc8630436a3bd3a8e93fb674a0f86206f74aef8a86253734631442aa96e18c1a398647fd588bf0380d6fcae01644fc86e99eec72084d01ddfddcd129eba68000fd0db4def92dc4a0907c1f842230fa9505bdf28889907172992105b1225f51feead9c147d6c9e61a45259ee42f04d357a6a8e1c99fd129ce822c965f0d23326185031ccb071f25162e2a9d099dda413a2ab779020e344129bc037cc6868d8b80c3d128da1ef4d362fb9409682b44d3e595c313473dd42986dde25d676e03fadba0b844adba589a176c5eb162aecb6e957bf6f847515048c085f2c1af97efc9da0b0a1332042afa1a9a07d833c51c7df6f952cb76e44fd70cdca91584b5e8f61c711fba7b4a41ae893a6ea4eceea114d0f309619c22a9e414426f3e6c44f42748079efe58b2c268caedea4c24a04dac3bf250eb1e6ab2b627a6309d8cb8172f7d53d6f682a6e1e2c03d3f827ebae5940366ebe2661c68f24423bdb10d1428b341c8ab366e3af9395278208e3124a8d96f9950bd8fafbeba13b20f9b250b9736714cf77b66f152019e4f38b7adb6dfacdc46f0e25196527f1c7a7e6da7d0e60f2c9f80eb0d53234d0b08b5d90604d7cf1a22006f11e1741e773566ce59e7b9571316049a3b714feb72217573881a99055eac6cff328d0481dd28814f60a98fc1611416bae90a1d9356d608418f026b79f9437cc866339fa559a08dfc6922ba3c8e12a8b0907b27c1d38742e61d206f74269ffd8ba2ea56188d307856d9789c1ec7378d0c88e3bdd2ffdbb840573afba6647c9924ec579e6895d913760d54c6ef69b5a8df50ca1984fa2b1f67be55f8bd05016f3c2c183e69673313bc1b810c47ef403c52224106ce00df43efa29d42cb12ea756a74efd2bae3b41d2baaeb009dd0a0c34a1606816ae6a362d2fc7df102eb6565506a90c8e25366ca28ed0fdf9936eafe5fe75ac7440b442bd95d614fdf2564a76661de884fcad8e91bfa49d4e0645ee44291edaf6518e6e773010febb448d7dde3cbcd7315f616fae594c017d4cf1793251ec12f5760fa3108e9c52df5c88851b3cc0c1e3d5b7b19d2bacbf1b70b35e2c2831375558df67dc96c0f96c57b8cd37a0ed2a7bd5f2889990f4bd830309c78fab8e87a7855ec8483c39e80576e99fc804fd7d04eaf5a6a9ebe52fd6031b9df3eb5bde67d4ce5b7f00e19a85089ffb3363e3b222fa553de63cd1a02aa9dfadc82953f3a51a3dedaf017d96770c0a278eec4de02ac4df6ece8b5cea9ba3ecf0aeb8963b063423e5b60e33cc5ab9a6b50d8361de5ac01ccb44105884240abd8e3f24ba7abfba37386339593d8f96b3ad8d92afe1bb1bb1321734c22e69b12c4dfed9b26c2e625a49799d0e1e18e6a21ba09e704e1da288c34892ec7a44034f9af406c1998c16d677843feb3c41fe21efcd074eb7adf8ca640b5c6f726c46b515696c77f21762d01ea5f8812a7b6b0376fb9689759e4667889f8756c23ed3170cdc0cb52e8278097f49f843c907b7028ff3dda5cc63881b09fb5c2fc10d08cfc48a599891042658e5de36ec2935441515c1dabdef18022505928c0f91455709a890b05dfadbbea781dbeafeb51dff50a1fd2288d960d4508bd7f49e343458570e3fcc043e72e5e3beda8f5131fb3f7200f3af4d42ded87aab35dd6cbf7fb4a389452cded27e976daa7c5b4451590923676cdcb29d1c8369b358c6cfd4841e09c47822440b10f467832c6990073883995a3079d4509cae939779edb54a876315cc562baccdb677d2cbf2e1334e676f74efb7f9c6219678963e4128fbb60e6b885470862f43640c01f907496f721dfa069da99c6a83374a48d5546939f077830ad55301c6eb9fbdc465ee7323196a1084265991b2db06f27a3d192b47bad6d8f03b1e4204e2dca2a4a5050ac6922928e0932173a4c4f566fc98a77c6dd53ab963d1ff48f132054a51911da8b58a1ea991bc53d16d588429b119ec6d106e0954d0e4b3995e56f632232d05a3415a15fe852af46ebd223446e7ce5cc11404c57756ae7989eb7a58a547acb0ae8118d08c7037159ea49e67a304a22d040b03d6b10c9d13e3d2218c6f2426b96eb70c5f02327526beb7c6baaf03dda38f3596a515126698861848c2b342294031db4862084b2dfcd3c818b109524bf431cf7a8840bcb8613c42962931bed1ac022606d48bd2ec1805df9b562cf9971180a38e27f8b950ff3bd8b6bfce3362166775203e52a3a423185eb4cc1f680bfeed87f86cac7325791e86b6f2e0124e36bfaac3f705d7fd3a5fa0fd89273033ba5bbcdb4dac049a36027d2ee61f9b92fcb2715a5d90f8225858c2bb0726b7ea199eec976c9a8fe9caedaa17898801da0f9c6f357fdf7533efdc0bb476c83fa6566ce198d93f5f21eece6cdaf06c3907a1df1075f17efa31126628a2b62dc55d8f9eef48e067c8ed862167c822ed135b2abcc989eeb0238a46463e98626571376de483ea369fe183c930e85769b8da7026c635232a5c6cec4e2994dfa6017836ed85c8e77f645d15f181ebd1f68cac15088501f905b1d09e5e7d52f16f374d3549c93b5a0e73dbec05307157d4179f1f1dfa94ee0c391a1505e55c0ffba79d1bb1dfa260e63878a28e6d8020dddb382878d9870a4792f9900d609bd7b92a24a77a683fea7bd97972277f6e0bf2eccb7d2f89eff95bb9716f99b26ccea98058ccae1f5f60523d2e9de0f41095de88340388087a489231ff56edd28a1845b90a500a1dc6aa53bd4bb781585ab14484d6deb0b718a5c66c4dedc512ebe33b0bdf5043add6dbb9b46d24d72dfe2e13ee5c01dbdbe504828164a78b286a7aeb28c45e8407a9741cc596c002342c01621d0e9a1d89c10b3f3fb055a4e191efdf70225f3bbb51234c22825ae7b237821d2da1cc75b08f43d0d82559d60dd000be7ef786dffc5326c13b3264f18fcb46cfeb555559cc8132d5bf635d35114e71c721534c4c618934b395031348473ee908cd0cdce340f4d0845de4f84c32173ee87887a16bd71469151abf0b424773f671cc5a054a9f7487609d8dcea5bfa8c6ffc5204fa77af06821597349e9f210dd219d0cf33b465cc96d7456f266dd60a0a1f4b30035eeb147c37e2616fff401cc3a66c53e4bc81d1bb4655bbb7d29f4b0639cdf106cf8a0ec39c7bfe7f44b018d055224c3bb0e1651464a7e3367e65b8d23ab6eda01a192dda9284e540f2b887a4ee29304b585e90c3118bf2971c02d98c02b9722b48eca3fc61ea5f3d65e0c883b7b55d8ea32430737779c498a18bb281f44968c3f1ead25072651c17cb8e88b7fd91321de9ac65264c6b75b842a1799c2bf97fad104a99487bf84ad38d156cc82685cf4d83f1bfe4caba17a922a0b81e9160adc9663cc300dc0f9b576f5da7e2830059b400d7fc2d162151884311e70c5f36f04333c8f661ff9acc3f9cdb9e3d833d04d6f1a55bac5607c8211be91f9b915f17215ee168da93dac8823b460a1b646a85d4131774e0741999b59c1abb0e1b1a6d6438955b504f3dfc86c6503d673be67a61383a5bec106e8dd42709fbd28ae67733150e1b8305ea2b303bd796d158bc9c1069f4dfe530d17f4dfe731a82cf095531da6c9213f2ad114dea5e60e1dd6d6c922fc9196d13a71fd020c5b8d3632ee8d17f90bae4505447a71a3a522cc4d93f5a8deb004ae515d198063aee111b9abea7f349fc68a4a85a089ea8ae381b0e9295bdc7de65c69b33749ca8eb6372a69a1779e3431f264f480fe8485c0ecb0bf85041ce3a2456da1b9a899c0ac280d88274e2fd1762d4bcdc5b350f7f4b0b962f26f247fe152f00bff1a7783ce949f479b096696af0afe8dd0effb485a8ebf2499ae445e39b7aaf015b60d76bc5b88f3ecb3b36051a62cf822905f77ed934dfd7a3ff4740e3b01549aa167b8301af577e85788871d4d795333c587c92bbc7c96e03650f807899883393319cfc2a21fc7c48c878c73d91c06dc6d47d0b173281d18e267fbd892d5e6799c47b0da2b4da26769b8f907f8b6d279f4daa4fafb44da420bb14022fb3076518025eadcfb5387d87f164de221fdb714e1cdf6469173125f71449ac0d33ec1576618a3d90c0ea481a2d119c8fb1067f7bf65f7c45848a7a94d2f28bad3959be520d0e719faf1e7fd8367d50d355e0c54977d655bff94e05481a13f21df8fc5be0efd713eabac2c451883cb3e5e5069f5aaaf03e44cc6da7217aa5841b7f0298a535a5814e1f2c934ec116d5e95e194ed2910f87860df29fe3a26accbdb04796e1598f34c2f21c0c385a138da30ee7b12541d73ca022396356967e5e77076b4637073df36541d8c7fd944e9282149df72330a5e827340860b4c28accac2d631de0bf839b1d700e65fe6ca891e0c0fade459d28e8686dd1e81a6c430a1450dfe083dbef23ff529ca016d9687d3bc5d33c29bf8d22bbddb49a70c475cb7232a9db133029fcf36022195da4285a3b2256776dcdf3ab9cede605e33004fc40d0a71822ee14b1cfca92a1e3cba20e3bd54ede44764f955f2262412dcf660d47e4aba69309a8d977e00648999a131e9ce379d7e3bed1db3134d1a4c9f2ef365d0ceafe87a0c514a524a0517fcc73faa3fdfffccc036a2a709b351cd19c784972beb77ddbd074adb83ec4d49f55fb604cacc937ce09338aeb043ff9772e120f3eddf72cf97f105ee1a67238d60bba20f6b7b654e0e6082bff58f974cceb84f1a49154e3737f32df26c55fefe255efc4ed89a5951061183eac20e36299da0f255036d648ec9c7120679ef6802d2a1bf28c33b5e609c539b333d5bee2157b4ffec6c31da36c28dc0666cdd414b3e85f256163ea33fd0704baf72384136b3eade55200c00a0704fbfd54531c853c54013f79874fff2325d270041c18bc9217595927eb0654dda69f523ed5914befeb7de0cba8028a07470359fd6f80bba6864d0bfb9eded159014e6ec41081fbfa8b0c621113f8067a74a8d978ea96831180720c61057423bfbf86e445bbf3950b04a5a56156f3ac602115e503272a350439f3983df14b215430a3479d65d6e7e1de01e8e2221abfd693a9f3b2615d22cbbb21f3166b882672454550448052af7a797646c8e8cd69543212fc9958e851a7730761de312da8cf391e562d9484826430bb480828c25a2591375200d697674690eb6a6bb5a40f96011e22b731511139256a64b98c14ff91ca60219d384161a73d30b3e7e0cafebcaa277022a76b82f0bfc348a3081fb09e2346ffe89c6e1041484b140dc23f595603286c18f656d7e73f8c4bb1b3ab9007a43d85715a2586a9582f798b09760e6220d72178edfe94b18d73d90b3169a7aa6fb0ce6306488d23cfd9c7783d44c4190fc9fda445b829815e4d4fc29e6e6e02641d0a9310c2fda848f4ffc78d7a2175145459b4f6eab3d8084f1ca5a3696589c04e55552735f3f3a1c29e72d959e00e035edd1ddcc43ec5318505167651a8222a706a04eb99f1db82dc8cf4baf72b97a99a967e3b090cef58b5b79d01895180f4fec809b56a08853087cf0a4f9593399e6d3bc277c0ec0795bbab9ff6cb335d3851cc333324d1747699dcd994a05b67960c983770938a641bb9a4136a695a2410df3e9b8c77048469cc9a5473a8ccbf412faf066d612393e71ea59958170ec11a1b80d86d05332400618959afbc3a719ad07078b61e3a9ba51b3d2a981b2df8d2b8f176b2e055d6805b48e9e4346ac1ed27ba483c42d3ef701bb48fd94e9d215a82ecc22f686c378a3c9a3805bf0810ce8eb1252d617699697ae440d625227c45a381c03747355734107a03d9d9080cd410eff9cf671614f397e0e9bccddb45588014b0ba25a2bd29db2a60062425296a7641b2abbe8dac16c367a80662ba3af2ba9f294f6b93355dd83bc4bebf781fe03d93e9e29158a68c78c70abbec4aa87077053c131969156dc68f0f79e273520434b66486e1f2f332b1172f072a1bc0f583d8aadbca15bc136a368477e0c6e4e6227d9a523fc037c963c013b5562a0683f52aa6f20cbc39039c32cb246965fd60ec012952ad72b13b35d80176d6bfe6097aa8e90b60bcd11081954dd0fa6fcb6e25caaaa40293e77b7d388517de7eb2d5438fce1ea709a821b2e1a25c621e9e8e34969f711c4cd65d4c517525ece3236a8fd18788ef10937badac7af8a320775b1f4cf0fc48d1293a35d9afd6a5d234d2ce4b29fa236a903204b47943a1b571a7b9a30f4f1b6dabceebde6ede4d188bc86097cbc5ec3ced265f4ca4741db02c9bd7270dfc525a60379281fb25cb8052adb7537ae38467f7c081ac71171385d1e9c38b6839b82d3a34d8fe37528f5ff23954c12fd5195bb2e1fd4dad120b86a9e61906ec9d3b8285de16805274323295406e9281578fbb22472711f40d4fe91bd70a5023fdad4bfbf2b3184432a85f18ddbb4400c0fd8326f1a17686fc672f6a9481f21d321edae68d55d6a8a5156aa4e1ac52b19a7820aad4a1c0ac138f60a177efc83827c9f50b139c2106cd1284c32b4d34e6f2faa76fa4ffdd9ab042bca3e607e322c13f09031ddad422a39f254599a3385f7f0750da129ecad9a09708b1eae73219ca6cf42bfa7f43e7cd7bd13db291dbb2eaf75147c4165336bcc6bf02ce311f74e04fd5eb1f1d195722e555d2714c9fcc1070bf15e0a34a9e831b37a7a02c16eb204b9011fe91d4dd026d7b5c98373979dd9790440e8ff505cdd92d2956bfae5d5be9af9a8001c44b724e9f60963496b8aba46eba652408fcf20abf092bed4ebe52bc9b2371389e6549a205e4cad43dbd7feed24f652c53de8eba543e5e7338f10090de8a957a662f0e87e2589040c475681475833fee49b4012c2928cf09353583aad945cec42d24095a8310fc5256eef6dbc7e7cac118fa020840c3cc636200e55fe2fb6bd1009a21598c1da166fe4f25d1ef7e392eb6de6c360d313ecad18331236257bd39958c04ac92a664ecb8149f09152c83b0fd4b8b3c68ece69c849aceafa752710b80c2f0a30f8f56aac9a56411c74402cf5d05daf2e3315921b15bd7e486793ca5d9669ba3f7da96eef2e53b5d8e4f81ef35805c80749f96246f29c2971dd7f370a4c5d01d18fd4c23fb1e67372e3a9e29fbd98e70e4d3517d9ee3c0308c7777b2bfa6764e643d910d9555cda70ae9a046dd115cc98faee53109b961007ee93a89243fa6753dd3d94f7592e318828a23a689e2eb35f4c14af8a4bb233787541b5758bc4aab149f5dd93424e5a7c861193f7de5f33d1512e248a88e6ba7cda1464c654b61459ac91822661b83cccd698bcc218456874758dcbfc36c946c3d4a919a87cd993076e63a7795704482eb51981ce93f3dedc625615ab613124226d6d7013383147b4191d433265656d1bff00408f3fe673098de2d94be6f61861cd21e2b04b6d6f8f4c6943ce9488bee602a6185b1850267e2f90c18c884c8b4160b7f6b269a82d71724296886bf0ca13012b632363a34bc9f95297c5c5b031237a1b226ec080ec3e6ebd05298be73a58b45b66aaa618b5f85f73f62fcaeeb3b9a95ca60b451718b80c31639da62610166ef0f8dfd13dcd7f4749038ef93a668f0a064924103d43039f97596fc73921c19b6b41c6f1b6116dfb358212c724aa299026d75cee269118d641ab99c4025a4c3dc4cdaf2a6875fd861ec1a500a7c9e66b8fc1bd786a95c840b02ba38a14c837979e161b6beddafd6416578049f638f22d85aa0a49240d0c7e5dd5ef400dcc07b5f5238928ba5da64e1f9935e325e1972247c103c9f39499a395fa06a46f645d70d429f295a5b838fe1393eb5bd96e37eb91cf94d749ffa51184feddd4a50ef8649f5bb00ec7edc431f607f277dba43a3993b08b396982f61eceddca1c565eb00e3efd9a3fbce52df3ffb212f93233cdac6c775d833574b97936363fbc43615da3009dcaf775517faf35c7dce1cadaa31919aec72b6e3e14bf9a784c15a1104dee9c5e622702a123301790f2caef3df76885b0998ce72dcc0f5b68bf0baef7076e5269d1c3d93065dfd54ededb8615061cd72e8d513311e831826bf1cca888e3d859b6c204ed513e1eb4d5cbda9c252df565b0ad4359c5a36dd14a38bebe5d8883d9f42f7b37c72b92abd570ce127672019950a4535b516545a7f68848127558b984b0395b5cbf7be7608d72ea0065e3db7c47a75bd06391cc0f278f50058360e0fe1d4363f050143ab3080f54145dfe6ce0fd99c0d00ef870c1605ada71c390ec22e51e7973ea68763aef095a8137a15e825a2dd4bf8d3857af3cb34c88ebc5dac20b8cc519c8d9db3a1e737c85dd26a38efb2d668efd8f3ea2315342a5a05cd4c5e4398585d2f931105092a38ac43c3bcca1840648a8b64e929704c1792b14344b714f26ca3aa6eb2fd8c6e62b829a103e5f9f99fd3e6d62e7080cbf8f20f8f97337e9b87a364cceb4f9447be5ddc7ea9ad98d3dfe8e7f009bb08c2c0c5d58a435105d35191d64c871f739b898c4fdf79bee25059dfd005c3712bfb978daa8028d435de6633b832607aca6f386a580d15514e12e373a096d396a7d2f0f239efa4dfefef532d57cf20f4ba6521d24449f57663a539dd44209f3f5d16fb6be61743806dc2dae65ff22822629654ea4fcf9f553536ce10679828c8002a9b0556f9aed8672a792e03cde393f4918b5244e2a41f92d9b4e4b1b92b0edead28b3ff22cac4d80a07ce82d5d2de5089f402fed057406196f47cc4ad35efabb446567fb906f2323fab717173c606b21abd395b02007c54daa0420bb2f72d278d77ee24fd2fb5cd7d63f372fa344ff57654c6ae09055cc5b292afe0cda95d1849eab449795a1664e4d5a392b6131dd4ed3693ed16b99eb8d1892b8ff3ed3ba8357fd8a2d5a472839e536e2891d620669967386f52ff5d4d6bffc7a1a8964687dcd14947a5de6143dc84bd0d372ce11cdaef7a1fabdedd015329cd05963ed31af3df8ef70a5600a1336bfdefe1642a3a2bbb7dc8ac705b5272ec48c76905f93d8de883a48197b92c00fe086c5fbfdadfd9d5f87e4d1cf214bd66178fab17d77bc0a2409c57993d6be5db0382f4fb7eefd7a38a6c9286d8624c9ce1b67df2d93625e6a1c26db7b6f9a8a4a969a4c53295a948ecf0e6950863c6219161c4e24d5c7a40f96b46e19d5c26c52b29fcf759952e76acf2c789c2714d3d4904a460770bd7b157d50f89aff1330c645155250effd9dfbdd0058b5f857efd412455d26f7503dcef82272b7a21d6238be8d8ec06f4c6c27acb9f599f7c0351db2ba554790d3f157d45e52b685c1e92cd9d412d048c239dedb1e74a499139e8d8e5bc7d94322a41d70267463bcf56e23f4e8c3a496cca6f1327479a0dd8448913e19e66f5cda16e3b7d6e64cb9c73984bb9ab572ad1fec08fda70d2babb0279f339ad373d57babfd86fa09421bf2564c1df8cb52cb105d485a9303f452e2401dd77c63b324f88ea1e85ed53aa6ceb6414b1ffead1846b08c607b5a637cbeef8c25aa7a63c22373a82408373350b51b7332de289e6ce84113f68778903efbb8226bbac2eec785eff08e43822aae2094175199a9baaa5e4d65c4555583bbfb817c08fffa3c5d98d1a3bf25b991cea5dad3ece92a74acfff3fe9d15c2058dcbdf585bcd64152136c4542d2cabab216fca15636ec430004a7a32aa5220ca18372e66c38049e8b9f7c748e5bda9d14943115a4a5ece9b44f0903a8b03e9dcf6e82f665020ccab092d3b9c5dd57c904948908270cc8b328d974cfe4a56ac8ea197c73b83c719f47876c788ca1bcb338d7cb4ccd0f69bbcc6e91c27f14fca90d60602b0b331e880ebf4053ffff3b97f0c44a66fa924ba3d63b077921ca46263022a55663dec60448408bcce65a457481c6f42e1e796bcc46af9e7f80164b9eec48eea89da68e7201e3a1709ec7f4f33b455ba12025a66daf643a8e4a6a69f1c706257f544759b62dfdd684c237e27a6135ee1e0a853fd53a4eefcb46de9fee44217a67e28725df98e7c460448ba1980039076a8767ec560ea7fa667a70ad302383ea32783e8b2402906e945642944e7c2cac9f9543ad65ba3e24083c3d7e39b6c887737785afe0622a3cd6691f67812d7bc0dc0b17ab704787de1b6122e8db25ba0dc1f1fa1de672c7008a5e2cb862d71e4db6ae5c629c23f13c82c2b490f97e15c4b6a6b10e49b612d03036d11518387ad3707a6ae73ec4b372486f82bb8e80a4a0ca8d80db66a4b939ef927149512491011826b3eaa20f4f99cff982c62416dbece815d0cd2dd888383bbc99d4d088609e8ddfd2d09bf3d97bcdf539b5345a2a2b9f57407acd6d93bd46fffc5c0c77f312d458659cd8c1ead555bf315e70e120c27154f008fcfe78c64a94fc6892e48902c19c38296d6280dcd88c4f6e01806a1f5662823e907fac83452f40fa58ed8af5adba13c5596840cad8696fce34ae8e1375b16e9bab32e4c261c227df1d70568fd75ec8993b56362b3a2ebc4ede76e74d9ddc101c0a23313cc9844bd654d26e87be1f20a28b8917bc68effcd95ab258ea2aeb8cb0f0816fb9115f9349e4a58d2532828dedbd57f439c23397b4b8d69868e20b6470c085377e1955589b3985b51e5c55106f7f0fb3f51d8aa90c2f1ada8fa94969707f335c7f325eaffaca34f7ec4139257091e9b93303d72181c580f5f5e45f61fc8b264b6f0cf8c754df66bee265a7a3ccee5462786f65d67e3a48b62d1dd9c5c0c153fc04cafee92b88d848cafeeb007d85b05f5d6b633ebfbc02d0609c6fd97d920a81dc6418a6e3634808a3db82131f51750e161b60be741ffcbbaa6d5b7c2de16ddcc69a718fa35b85dd5a957435e950f5192c68cc9dd33ab1751c626b2c8197208cd52a1b664df4b2622b520565290fd8afb3d5fefa78fa69743f96346de0b5ae46e3d90520de342a0f2a6900160fe84a16f45ddb8f65d99a5f286ff18e67a80f2d2a39e329be806b7c4a3f069394d702b65df0500e2b6f24306c0ce0a398811d4fbced9142498ac33914e53dd9b2008b5c5dea65a51f901cb5ec29874ff8c1d061aec07cb8bec7b28d164dc962250c4ff14b78fb9c24f2a4df3d1aa6147f10783d08d5793ec50265ea8b0299e306f7e00f6d9a1f018ed9d8e281c4e6af46a49304a26dbda5ef60824e491fae6a617c804ed6a97dabb935bfb2ac5787b1b375ba687b9c923045e4f716623369f00152559fbcbc3d8248029d1902a372e07d4c3f55745aed5a4de402f5b7c790839ead779d8b14b31ac5bc310de4a1f72803d84de85e9bbac4f7bc0dd56b9cf9fa7b8e5ab0e9e6b521951def70eb3dd1e8e90d6ce9fc9b332a5339a5b55723fcb668555c7356ddb8676d1af21d281ba2b9d11cc7c22402254675f159f85e5c1b4a3eb1f4371e8e756d858ea37e75c90f0077a355c118536e72a2beb7c476ffca608259664b5def388168cd09cfdb7bfb95dda742959b27ac74a59ff005c4c236bc8c8958b26b96e295ce472bf30287b976dcd5e0516b35aac2cd156d3a874d404443c78ec7c28de2f4d25ca3566a3d8772c4b1c8bd7456718b45f2fbaf664fd4c56e9fee0b56063ba8c148925d0dabcb63b07b8b1dddde2f1193b99190fc3c19210312d75eb48cddae7779f9c167f47c97b8f9bb1aeb13150a6f8ac649e3be42930c6188c8a6c3e0dfd120f7450fc705369be1b49bbdb708385029b38f362e0e7a3a5c6560f10dfca4bb65c8f8ec2868a49344f62ec9dec6d9b08d98af805be2829a381056a3ed7fa87dce5462d62f88e4e71c83761196a27c7af0371628578b76280965a14a7e34764eda92eead97308082c2861a32abc1ade47181fa0a470f72cc9f2ea88ea4e928541c839b337719db40356ae343f022c5ddefc8b722597a75fc826d43910c0acb48e9b430dabda60e3db3adba081cc59c7a963b94a817da900cdc83f418105d70949199d891edd241f4ae05d366ba4ed67641eeef5926803b9203e9e190fd003d164f041153a2e7447d9f04c09e6ab3605222b0bda6259c64ae42f6ebc6983b6e7e2457f7bac6d886e64970f6de3a6319f67bc7d4b00168b63d89ef66bee67756d4689ad3ae380b5e3140e15c73832f9bc698344c9dd3e082971e7921fabc2a9493e78ef48f2e161919ebefb5fdd0338662e5405e5d9a50effb2db4b07db4caeaf9877cbff4325525c3f9aa17bf7bd2d2c6fcbeabca0e8d4678d1e4b92760a0ebc1b3ce5a612aed2be2e9fdb98c2af420fc194d9fd060c1adfaefc738c5dbabd8fabaefd098c48ef259ca5d811821a91720d0e7f7624ceec82cb2a696a3e69ea12f681696599da0ec83e47519dc4ccc869cfbf5d30f794b4761be788114fb52035e1818202a24c0eb43b3a83fc55e9b0e8b3d3e46acc92f8d584f843b525d3ebaf6ba4840520d1699c6cd073198241237b2c039ad9160ee44f33279dbacb08804062f1950ee1a6113b6e629f0bf415d1b511bfc1025b92df663e3dcde744d13ec6e0f19757b7feb1206efa432b0f10856b3409c8d505c1e324ff419d8f06ed41f3e79c5294b348feafbdfca32fdd813bfa6fc098b0e13cfa534e08fc8ec5969e463099a8904676ac3705b2ba233e28f24cabebfbade3371e8211f90965cfc132e789644443f678dd1c1333992262737ac0929e1a79a517541e217917833599a49efc4a5fbbce64f00cd7465333631f5c7e0f67197a589ea938a9f878d2a45872d59585386275bf4b26f1c4eccb22be778129096a330c1c1c6762dd15a30c83a0f444a17b80b1481936e1c75ab219d3b0e165d6436b87d47bc628905903372bcf63c632569b206f9292dc1569556ff4b0f8ae9ea5e950406d9f601d92ea762b5e8012e990bf733c38e35852a81d36f19b921e9500284769da3fde4934bd2ed7e2ad7d8c6f101fa29cbc6bef5d7c150721e23d1a86bffcd9cb0d37356bb0eabef5b2ef5a9863a307f3d7b52c070bbf2aeb6a1d99a310b074e1337b8e7476c92459bd3809a7da7281a73525bebf8616b7fbf5ba0d6170693d28f4ab361f21a978845753d8e684a7e41de0c25ce3707899781ec4c56842367ed30e915e923537c2852cdb6c7a20026ba05fd01a7189cd446ed72f271df8fced45e72b1984852efb9c3cc00efdf802c340e0ffc3d5c6afe6f2f08622c0b1cbd918f4c6c4c20f354d248b15ca54b82cb46ad87fd8314ec85a8d781bc3ae4127b232f581cd58b68cc9d1a5f7e4755c284177bc55c13b0f3e3a873b9f1cc977b80e0c981c8f73c3c42c08c67df50a126171cce3857dac0490960f35919dcca56e55511eeec7cb2982c1455d672fe5b04ca36de8a675bc2461719488af62eb69509a91a6180a1c9f775bd8633f2df678e800f7d2be1bd32740c2b754fbad6f0c64c65981cc89e30d8a2e1b027f09065b897cbcbf75d56c73c24504e7011c6e9ecb4cc51d4567be33969346f8a138ff76dc816c871c70e7159b8061241523fed2cc67f16ffc64d711c14fd9160fef5bbf067a56847b82165cf9b706cb20e677e7a0dbcb765b733b086c4dcba5a2c5dcb4f389bcd935fd619f3d8f9425ecf3bc209abde4ccc8431d500b9aa2591c8963a8ecd6f92f911705eedf77c5cabf316fd9765ded9f6a58c9f2cf73d0f4994e6515e7586cc5bb1ca1eb72ac64c0abb80373958ec28439384098ae63c67fff134e6d0509b3fc793e05248ffc3b0e3a837afe02a26972150c77d53fb2b93067a362784c9d11fe2eea9d007c85095c3a73a63223720df0f6294020badbedf744bf787546d8ec4bacc6b2d8d48198b8235ba596deb2a598d93624eaca24ca18894955692de4fd81a6988e140e58ad121dabb7c0a14d981c71ab84ae94aba2cdf9ba3b75c5076662872e52abf88c7ded9d0bf5bbd793b0cc6d2fa41497fd1136d18cbbdbe380f51014cc18f5dfe864dfaa228b5b9bf250be0a9234f18235f223eb2af88fd0b4470de615ebcbeeddcc61e5fda07bd6e00e8ea7889522f9023bd0dfaf49063453be61961cd6eed2873292bfd6006385b75ae16ee722f27cb3ac91a4eee598309d6592c2e6293b6c4044bc354584a804fde0dd1355ec6610d7bcb2556cfc880a74c020e82d2e1881f8e4d3769ba54f0c53a2e67e7ea0f7ae7f228e007cf69cb9edc1e990dcd7816c67df6ee53b66c96aad0062b79708cbfdf318c02b588e32fea166935b323f02d61644bfe14aa11898dea93ce8ed3d48ebc692a1ae679135122c1a06a7a0e92d7abfe193244bd6888726b7d091afbd6f9b4b65f5c8c8a97db8784c73f25363eeff587d94d82f369cda421ece9dbb2704eb4c26adc91f4ecf8d7ba1918d3d614f89df7d95d84f09aa5d5503dde535bd3b61505c36764207e881bc0baf0d7cd98bec44cfe2266eb1e8027b6b0dd28dc8eb7c6aa1b665c50af3d985e9cc4d3388d83eb9b34f81ce7738a7b5b3161eaefa5a0ddbd5f727c3fa626ae4b2ae3edd1b285dcd033d762813ae74e969faf1eab12097c4de305bd9ddd5b2ae3977c7034cc123b85c210b2e4edd82f942d328cb1a7e34aa021326682d7e894f253d0c5be80309495c82c867a0451568f135bda6f312f667ee4ecdb8eba2db579e70a1685de8b71f19efefee05cb3bc9b2e6aabc837c3f7c32925c214864f51d0d2b26beea010e8dc8dd60421761447637c124661bdcb88005e39e81e5caa8446b2a29a41d947d488bb59f75254c855af67451d931f19b85d2b3e8011bd2313cb33d04b58c753070ecab0096d8a13131448d31ac21af1843b140abf034331db32e45a36beed228317d9b1c9f4f0dcf50ce57ee32803d9169d7fc9db85b3c42c0d84b6219af237372483b2cc4602cb6a20adaca664205dfa1e639ba20ae635f24f32c3c77e5a3f4168c99979b61f012cac868746c86b0f03b51b306fe1359dcd0ab337836fce83a10b8b79ed59c25bb4fa305f7bc436053638381a5cce686059980f672e08c5a85b349154a0a7fa57ffb0eaa675a9ff8183776a431d57e3fa087da7aca755b2a85bd2bdabe8e323da40a5de799ca629df3baa8d627b90e68d51209e59c0d31ccecd71967bb483ffd071f6f106c43deb8e4879c11aed6dcee9f9e0195b22b70ecbfcf77ee437537c357979b7fbd62227bdeb02a9c0cc2f4e01b783e3bbf7a4319c068a1b812a66cbf4e367fad2ece0d439ea83be9109ea0fcf1e77fbc541e82e5d7b3843184526be45acfa9031ee4aada34ea21077d3b5ab656807a68c7b6d7ee63da3d6ea575c9beb5609a2e290d185de13863a6ad69d5d9964061ada2094b3bfc205685cc0e26f11f6b2550b4bfa00d40c7746e36aff154e77401c9d7ebe3f2c2a628288eee064a52a6fcb3736ea6313704f507a97df6fd62dedcda27fcb7bcac1b9ae8eb0fc66e686b79c297633e57369617d0e2bdfd51b9bad37c52ea917ec692c0f0601a16df0a8db5bdb0c0948db72a10943caf467c07c4a6b2453b49759f57179be00125a4eeefdd9762f017b3962878e5eb488bf46b3e6165b44c210d9734b8315b5d1953a012eae85753b4931c8fd9fab7ece29562737d3ae65901a6fffd6ac63970dc3fb55f280dcf9c88d56e62e802a25034802f44e22ee035995b1378535722beb96f46929c981c046a9b9ab1a1c3dba46f0a3da73f291ab1602e6a99742294170822df375afc32b70ab942ea76eedd983697342c0d8f4edb1ad6b92bda5acf39976525f6d29479eec39f2a60dec9cb40bc016fd1bbaebbf54bee818469841670139cc833df8259437d889fe818dbdf948f337b7c142e4e045ae12b21c3addecd7a4b49f4f71c9e9c5f322fd4485adf6ff25c477be9ce4a7df95e432f4536f5e96e59216b5f749bbd33cdf3196b3a312d6962ea015cff5a8b38d3bd05a67954f20c5437f6bed08bf10be01d9978932b4515586b8e4b18ac84d3443ed3873d944242084103ffce99b22b113168b2d97f8dfdcc350715c3af571686e0baad1b5fd5e338e70b580e85e3f2ef471d9073a768c1ba9a2b22e3eac216793f773d26b6a2cc779d0f1f6d0d5050f6dea4465b078734a71a526ce35072806a2d0ba51a9ab581eec514817db77f80c635df387da0192f6971b221edaaeba2ac62059d2e8895f63fcf573cbb398ece09919c2f2dc6ee3bdaec46e3b516fcb5fc43a3a254d51eed791a4b36c9e261c04f96c85a687a55e352acc6717330ab9765c90da11d432a54c9bc39f1dc4ddd0a015159188c1fa09e73116390a5424038b3b7d64693dd67528cf2adf5f7bc798c5baac0ee305fa3fdc593727a14dc6b3b1455606198a66aa78c83c9604f55700f0b2bdee54da7793df2b7e54450f3e4def0b9456f62d9b8db4be98507cbb7f33c6926ff4fac144951f52c87255be5e37fca2582407e822171148ef3833d8332a406c36628d6f993e11ed276264682a69b16553ee1db0969fa2d5943dc789ff41b49bbf91377c1b1e084678bb6af10fb606adca930a7d4411c013a02be365d798bec7c1e04bb9cf66b82b7092834a257deba071c8337f01ac32b94898c4b22fc6ccdc1603d9a4c9f4ab8953b4becaf2c7ad29062104ec852ea2821b50f3a75f4b9579b211c8eb65396e6eff1092332be2d38de35e3737e4c661a887db531702eaea0bfbdbb76af7e079d7200297f1721a48cb1a4f78f4cce4493e52193d0a15ffdaa0e1aa15e25dd42f851c0b465db2936eccb26940ad4d60477273e002de0967e7375c07807f32f7026fc8ef3bb8bd1370949375e9ee33f56f62ad10eacf0369de7ab1af8aa05aefad955ca26fd9026c5a1f74e55bcbfb16b02b34791ada51df3d7d9efdad713991d3425c535374e5c72e0aec98de38446a70cc0fc5fd69e7f682073e2f7ecb5be4268d379f0261e106b6bc93787cd74b54ca919b9a4bc569ece3642bf7ddea0737b2cb4a23eb847fd85a944aaf5fe2161c83bac8367da76f8c851ea8e4a233618b86f56838943d9ddbc1f95f338337393628ce3bdcf14c464cceeff48de9c502dd27674bfff3c5647232c0c8dc8daaac71aac267ddba05af2efe118542abcd3ee0cbff27cf4f481602d6de71887148792865309d56f43fc66367275664ba6586639ca038061e5c69ab73244f42b1185d64657f7cec1a5ac2f207967e7e2aff2c277198c3e611525ab91c2c62613ef19b2d19d5d9f2200285eaf37c457cfe875e118be2b7289a7a1f5c649e766d1779bd76a77ab7a9d9efa3b0f5cb85cc3ccd3b1fa34e6a4ee3b44d48242864aa83cf3e05830ff5756e8ef36b571ba2925a3a5b868c1ff0bab77b4990999739dae66f0531c785747e84c62657483339c26ea88a8fb2a418923fd03e4b77b278e280fc9c40634bc5aa8e24f9f3c89d05ec33fb61fc434d723dd42d75df9ab7aae2ad366fbfbc62ca7fe8d57bf0e4ddac40e9f2ab35a5288689b7501caef274f124db60b92e7f0eefca60a716d526d0bf9af2e323b814ab120007a9dab49ce7dd39b2ace8812de835e6e3c321f9079f8ef553f72205cc8a02d48366be4a3af5ed4c814ef73c375657f38318f2eab7e1e99e876b28502b54e6e86a731b3fbb6097989e62ff7b3056a79e9191210b6af39ae674766d1ea64248f9b54f01eebce1327c1143af6a875a81f06fcb2b31c908c0b46cf471798464f4c7bc387a7d30fbc61a778189e8720e7e3bad077c43060463a464a7cc7dcd265201b9d0a0d5bfa5cadb9c85649b0306f899151c5d343688ebddcfb7636ce7073884df0b9e898b7ddd9e4eca2d811e9585eeee51460605f2763865d4ddc6cc7812a40bae25bfa827adbaa998bdd713ecb9e9b612904870faa0bc17a0d39f166e4a472e3208352eafd8f0fa3902427101f37b657f11417600331008399a823d3b4803374c99351f0febc3fcbdb41c80682ca68638f3493423845b0e982b7414ae2fefd6390a58a0f0cfc256fcf6bdd276cfa8f149fd948eb421ed26b2e8d8015b063609c8676c13262b2f9ff26a99cac16358e4ed59918857bed219323e2a6ba9d7648d3fb48d1302c1acd671a53773ca754960cb8708205a373669e93a36774dca19596e75013b206f7c643f5850fc73d10a7a6b1fc047fcd7f56177088c813d3b8f2ce7a6b8451c6cf5ed54e21f4f25e3af9aa9e2e4b8bf399c616dd71eb6855a31e1f840d3410fd1ebf7acf776b71b1dec7b283e7415a684f97e8fa007757dab0a84c92a7cb5cee5ee6a76f7a719f24f993d77af191fc072e6921a812464e067d6ea4d76239fabd1d9b463aa7ff2344bf5f88dba1ad41eac357a30778840f432c8b920019d9938b6db420561f1a9a4433f372e557ed9909390f4cc51d022bd73d659426949a8450754f9f181fee7d6163dd2f999fda9a569a873d4899245b3a6fea8741ee86cc5e509f3abe7d047473b1db6769390d1034c1d311afea8e0c5d732eed000aaefef0f581cf9450afa4e6eb7a9734870f67f0f4f65103517d24f98055d22185e4efa7dab1eb78f876b7aa9d624969584880cc4b19cdca9faeb6e39c362f28a1f56993a169bad43b45ccfce753d374bf33e71c05f2f735540196435e242549fbff739b24e8ba6bdcdc0919a70241658ef50021f75f600d759c4b82fd0ff2b7f965dc492be54559b781ec47e011f4788513ab58a1eef808c74736082042cb54c3c17fbf843bbce760d48c6ea9aa4df6e7eed6ba42477ef2acc983f19304573204f27b156cb181cac54bd1b4982dc67266ce596699bb3492acd8d7d1338a4e89f2d5100a0dff43b73d5254da192d0cdaade3158b1e4560d3849ae4675e5a244bea2cba76c0b8cff41278d89928eab94e168657918f5b6cf2c031b90d10dd0bcfaaf6546ae78fe0c042160c35837da55c2e9aefb079e89169b214a49d2de0bd38c6e0a961e8d65453ce4dbffc8a252d2142b6a538607ee5e6d8df9f0c9349b69dd87c42672865856f961ce500a6358664ba831d39afae8fe2996361a81b749fc813f98180ea802a2e5cbcf043e835424dac8821c4771d19bb662dd33b6db2282bd741eb1c6f98de0611523185a26031cc8e5d2483fc16c3f1122e37b4b81c333fc5ea9d56cbeb7379631050626e984974419addca89c438f0f180ef482a460283d85e3dd602d742d50cd194a5309cec3ae7e11f5d41044a70fd4202ecfc1de3d06bda0d5d268ecfd7ce49282ef697391ad628a80a2a810cbbf4bbcbf8a4b7f74e26a5d03f4fd586762a5a3cbd6f36ba370c80579f204db2b89afbdcff774bb6bb2dd9fdf5451ba8b80382c946a8eb68da8532c1ce8a689f5a42c12860588b8c5091a5bc9bd2cebcf20b98a36b1eca94c6956d4fcdee12ae282d131db14b75f0386c5dcb081aa33fb2927d1b25c27d1135f154919c3db79b82535bfbf0650179ca4855fcc24152e078c11cd80f6b9caffa1b0de9a2bcfa3b3c2a539385d0cd255b6d786064856e01da8015f1c28b0b077a158649c348a164403077954ebe00102e546d50d823e3cca069485d77d1bfba0a5ce62235b6120c05c6703eede01378bf0414292dbd93dd506872500dd9b73e7176ea2f88adcabcfda54b5884379f84d36499c2cd49517736418b499c5ae45d4f80d50e65802032c77894e767291edc44193b89985ffee91fb5096ff0750f4c479090a0c74063107535fb43b0394c6c1e256367256cc030d6c6c09e38b79c4a4f05af67afd5f54c126faabada764f2f1ca8c1b2e142c1212e7eb1c6220039878755650afd0fe04de08a6d26a21327964943ab9774c531fe5ee8cc22407def0b75983a4313df42f26e46d745bc8cfc9d029f1a71324670db3e975f05aeed7f81365e52d9275c3d116049b50e2172cc916c5fd42da23d0a6124b592a3f6df3a40e26318cd18369da785fc2fb85b0a13e23168953fe2cb72caed3dd4437823d8a780d763fd879ac6b7e042cde4942c80652b4a8e827d68364f36b9b0eaf047b46009528ad6ac4f7b8a448b39d4f150db4fea2de9d4b0bbd3e3750fa9b16340af044df314511ca630c11933c646fe180aa49c6fafb6d662b2b9bf9620099149f0243992621710513bd7dbabffff212ab539f8322c1b0e348a9e1567ed41aef9e0af9d8ee6f20fcdd3382fef129e26aaa65bf4fbe9168b2719c465c0437bb953d430e55da0124432c76e3a823c78b2d217b6de1c860cb8a990fd96a350ecaa38ada73dd47097faa60f233ce752768218ac57b3a08c52b9d0bfaa197c6d7f96c4bc0229d2f4f0f17e8abb855ed9adb68f098a6af884fd1915678d83d0d3e1de8cf80d45f068d62cac55270dfd15af3c5df38f2821cde2c3526a537221c3751348de9dd6f74442345ca58a909cbbef6247af0ff305bdd215bce55ce4e897015c522e8f4fb02ec44b806c97ee7959f3c1052f7b470363db7455175cec7f1d7bf7eea7fd32d9013d919e0fbde54c2245bbc33b523ac8356482d3eca4fc5e6736e28c39acfd52d88eeb8639d4bf0fbbc6e5537763aa262f3ae9f0dbb6803f5c006d8b97f6e6686d3454c1212369c466a2be9e173538a440d6845d30b0208c9d8495275c3752cdfd07fb59ab796b9c4fc1b1ba12cbdac006b971d23b346fd4db787492142b88b34f5653870f213ca09a3dac63ded5386e28a4ce9b4da2c46e5cf53fe6917a3c372befdf5021c3defb60f43bd01da839ad2d711039cda32c4b1dd844bcab0e59a675b2b25c43512ab26dff4535b74967c723bdb6732b42f3a2392573a51aebca01c872e8e14dcbd4a98dde43e5e04c0b8f698fe1212a15102b0300fe2a6a8371d41a616d359d5d66a1161ce06cdd370ab82ffe84ee8030eac500a5d7261fb664a855c5200675d69a703cc8020f86dc8477daaf4afccdbae62f0b3d45716fc7c7b03bba9435f60d9c78ed8bf5f0b2b0442158142d7c7e36a0fc8ae1c8466062bef08489cad801774dbdcb7a04d69bf4a266be8d7c87dc05f2c9387d770e214eaee8c026cd433542c9c381e95af905a4fd2d4b392412ecd00745338c0b4ee05887a5c41e7f59b24c893153c8fe73f6e9459f08b6aa86ad183505fee77ee07263e2fa07fa778e9dc36c63c60ae9b0331f3db934b18813062e3fe947ef53b82105ca7530bdd7ae65cce18eb2567627aa5e63bc5060d387b6a7324562d8bd4eed6fadeeb3623b5d7ee644193767e0e08231c35007348a622dbf0e10dfd8b528719ae9e20d10a4c0b616fe87b4ecbe23aa9b4f1ddac86ac7b10031ed93e55bd06ea7fcbee811b94f12a08551ac173b2b5ea3cbe2570952111799cdb265ef2fa22a838ba6cef2e6bd1ba2e4bb769b75028efd386c91730603e9570555725203ddcebe1b15c18fc47fc5ac456e25b597408b3e81c30b6fb50e5302872568981b6e95ebedc61ac89a222b2e0cb32692bdc4eb6f9a877035f6affc505a16bdeeb20a3d743f3ec5688a896eb638acc7a62b7c91f647c07c516921cf9ad66e850c39c3e6fda0d7ddbad79b44e1f9181c968fe1babaa2ee59926f230e32d749b3f0d0aaaa714379b3f904c722606c6c3925b9221294fe55eb4be6b0cf5aa503738670f0513101a2ebdeef52bab0fc61ef75daa125b17d819785680d7bea9e9ca1c16ed425872c5baf634309a3444278c1e70a39ab09778fb8ed1742f374f96a0c0078fd94e3e3537577c0cf4a549597f9c405060bad5df6334a437ec5535ba9bce3a3b75db2798ea3b5862b11af5cf9cc28ecb2bd13241de9edebba047776a2a70ec1a5a97bc158eeba73ca382a01c98ef9e156be02bd5787b6fe533e8a9ce55f47088c25bed4ef6b2568b4f48695e42516baf6d382a66d59a4665d9d2a89237b6a7a3bb3ccecabbc6b42ddcc710ad563675c08da825cf8b69c7505e1c9d932bd5c34584a9444108ec203ef98e7711f2b1832a7499ee6fc3784f653ae2dac8848b5f7259817fc2272187fb71cbc7e211aa9fe51eccca45ac75695bed06f49c7aa8b77686260018efff2d15570328be5187a4a2645d02da73fff00e8a20a9d10b65c8301669065627b2382ac9eb5404a132015ee90d75564851f663b47ca2ad707e8e6bf9de51e6a138a136bc91398f5e9b1f32cbf942205da017dccab7af4c6f6c4cdb03e0b25cbf7f00b6b31091c84b473aef07ed6bd9bdce0289889df7a04ca6a137f768a8b41545442bfa947fc6889736bd218ac9758baf8744c12becc0f7173649a2db4f8e04bfb1cce44e6faf3d9ed987d453296e2dfeeea5f34479d6a28911ffb8ba286cbfa8c599fd7188b4481a394f7c564956bf50d00c46f6aafbd8948d3fd59d0ebb5982cfa2ab55fd4132dd0a3b0c519ead56a1830e1f4b3f89b788f9afc88d653902134411874a8a7b2d7b1cdfa5c1b43c369db61d6a29cd80846d2aa7c7e7492fd96457d6f90166c0a3d31b28b30e026da087ff7076818db0f2ac5174e3b8677139f761eab25601fb1817ba15b97ee8177b6ba822374936d2f6c153f8ad48581b1a2d53cfaee300119ad2e9d630fdcfb64e9a1acd2fc546164313b80962523dce2e14be8dece015c66a536353d1822bb19d94bef5bf8a0e2e1fb37db02c144afbb59bb4d06d237e3ac873add8024d01e1f585c90b934910ff64660e05519501cbc2d7624e4d1f97b04ce12c3ea177aa74a7c97b6a73c2d0783d0a0b342e4f146b365b925494d41c4993f9652f7999fdf2d1c2fab100a0deca97a7408b5f915fc220c16a6a32f355ad5fb6ad404b69ac55d102abee2e88354f7ab52de5701cca10a4c4dba899db71c7f9fe9737027489cf34d84d2b00dc57c2f351eeac693337b3f056b5a1890c87ddc8fbe8faaebe1673d58715218761a4b5574d03b7cea1ab9f815457bd1081153087c9bc95cab07762b5fb47945f15c8daa77d3959340e7b9d488052ef5b11158922756d664217fbcc29adb53ba665bbc4ce30060941db99df9ecfd5d077e91ab1c6211b0bc0ceb601c612d3ce83420f50b7c11fb451e698deeda1f44fff3ee18519bd5028a09718bde2f3c20722f175544bdd7e8560954b1aaac90a1d1e50b37ee5890fa4d56e83394681536dd7669d9f95f5875f7ae318f47871ff50785c992e9138918def5330d11b1c71312be25bf2218fb8fe96bf19335d6bcda6fcd5b558ec50c97fe0e572b18d53f68bd57a54beb50b9e81dee9cfbc7215265571cf966bcc02409c7113e533568783fa90bca12b91d3b9772d80b13f99b1c9e7a2d6b50d8bde7a24184036e0ca0a302f4b09fd38e8bdcf935c00651419de351f1b2b24a92d07e93786cc4b034a375490ffbfc8bf95e331272bf47db8ea6280fe10d64249246ed81495994f5a44ad6064da51d9e28b5f5958abf4ba28c2bcac4fa4e044e5f0164653535bfac924aab8dbf2512fbd2d814c59e86d784687d2197b145551b1d879f1115f985b4c33b48120aee7936dccce650a894dae1cf41143383322123c34fb3c6e0bb3fa5e7a03687da2ffafcf03de4040b160ce1f9058439881d96f0154e5e8af9dcd9cff6dab7c009225d7e26ef90f9d7c33724d00f53e27f4eef628cf93118ebb3fb35f2b181834e2318a75e62a3d10955b0acf855a0a66b28af6cc742fc9f0507c7302b15bf0ead69f954d44a2678ef8b07b5ea4a4d9f91c1920b0bd1817868eaded86ec90dfa4d9c6a46da97c91307225d0898968f888ba02db53aff2313840f615471641624189f0d2992d73d6c185fe986e14549a89607c077ac02a50ccf0bfccbcb31e9228822fb05e5b95b727331529b8165c2eae03e6bdd2eb0dd3335285ff94c53e7f133e959a1f20dce1c3909822bc7627a5829cd4b93107719ac18bd4dc44eb945e86bdf6465a0069427ea26bd71cdb3cf238497fd37e688d6ab7eea534ece7be182b8c071a01204839b669ca3cd0d8c4ed86a6f716ff58a2e86e15197efb0041fa33681c89992c310078f6b033d804b07b0b429981713f14f74399a4805a3941f27ca9143ad0cd8d2e7103582b25c0c050f854f5bf51b632d5479fe38564cfdd5500cd4149d31b1ab9aeb7febc01fdea86348e42c78c7cc682baa0a01328207d4a91680c0fa6987d1614a7bcdaab01579670faf682fbcf06aed871c82fc6577e312a8faac7a66fe72829e88665e39642c5fe1d8c569653dedcfd17f5f09d08f877171633e62db90bcbc8f66bd3203764062137fa07a1117d0019bc80a374fe6eb2f78a04c407bb9db20e97a5ca75406bc0a6c11e868893d91554763246c181372e2aa255aba61afbd72a20c2f45befc1f7226e74ae28791221d0c709b27e282bd0dc65bbb6165b2ce7b7d88a6cc5cd1fa1cca2ba26421066f7f9ee071c5b2202c3a6030e7736d566d9339ea97caf724abf59c6721b8263b494c91ec3affe955fb158f9e5124bad054acbf973517cf9951ef97f3bd22beabebdd190dc0243259d9b37765a8ff0ef241a9aa6cd37c423ec524b3aa7d22b4ba9aab7be4404490bf8955313950b99a94f4bac27debbf256f16248b1cd8ea5536dfb141745725f93f0ddc7de0d9db362d9ed600119f80c93ca969051002b93a610a29d2cf656ee64914bdb9b50d222401dd3f9a1ed98172b4bef79a06e5c00ec1567220da124f088cb420d27e3af8918f0ba43d39cae8fb43cc756a3e7eb62069777e27c550a006f014f35aa0ffc15fe37c3eefe59db818eb74e88cfea1c0ae6dc6367051518e7f40c185915493af82d9daa21506b31a57fe69f0b1e4462dd59011aa5ee64da002912f51702492de1a9bf49c3c10b56948db6c3281ffa635d97e1f592da519e305816adf0d175e4fa5ca8687361a6675bace8faa31772acc515e2927994432877b3dea7bd08d64c9c168be6e1bb8adc879541fe06b9c1513a8bf124061d9129f3657084bc90878b6d60755428d4dea93318465fc8bdc70f36d7686f941029f90d43b08a3bf9bae1607f1acda3f2c1405fe7a14b4f6881b0d9fa6d548f6f016250c30baeb52b55a0b3570b230d49cf1dfbff4dae4f2d58f329b2a614d131db7e19d26f0e451c16f3bd71923ecd8c097c3b4ec263d8813d899a44523f1b9aacf627edd99d60aa29edce01a7b04e43a40b5a35a2a0800528179c02478f5f30cd054702ed209438c57a31ad4f6f885ba242b27009b532a67768bec93b2f48cd706add164c06e7a0335244e721c15434451489f13fdd57e79011a60ed00abd8607f9402294d899b31fbbe5dd515502690c080944a69598ed93cd468259c7968a531d7cecebfc539d50213c56361813fb71fc3bd62acaaefca7d6a9bd6eda838eb11df0353a673438c9c24509ecd470cee9b5d7f376c94ec1cfd5d2517c3f1f2ee9c8d4d123ccbc580af75faa7168d9db6b5b02f427778e2272ae31b2f44eeec452ea777380be694b1f706445589127be0fb8de2e2ff4f70649d2f562c81b32853e5f956492038af9ba47c8b0f9f99402c98b6247961b3b08c16b8c3033ce47b04a54b9d57805ee8aa2961469fcff682821c12953efae57625bf60825302a222f521f9c31628132c553c610fa985e1940197d979be78908e5bca3165f2495b0d5848dd49de65a0e7b93afe2a6ef98171a9a3a2510bfb1a4313ab004eaad4c0d5ed1f73c5cbd4426e115f63ffdeb9106b875d8f35ce58e7f8ababebcccf83b23be0c5a8499cb26b6206d7c08c66d97e3cd40180edaf59c500ba59289973dabfa11f21664232b259ae56d2a66778bde63a00bc57e4d028d52d6dd9ec58de80b933414ec029983de8da110c4b33643077445ee43268744a87a46fdab03ba350bdb762d764b14bae419a095ae3b749d1b2ec49c3276483489fe9e84ae9c067c968921b3de864012429fe665ccec0ebf21d46eff3be117683309b344496493863224a90c82e01bf8c89f30bb80d29d42fc3ea9fd131f0bcf9a4e91fb3e3ea2a954dbbb855bf72b90f1dc34f3d4e968711ae8a82bda3641aadef942083d3a5a0128048f1e2c4254832009bf6e1c4608f756065e440809b79556cb68ef81c76155293b8d8387fe34ca1dd28341fe5bfec7314dfeb078818eadb1a75a325daee9f3670c6b6bed94869bcf20431b4568a7b0ad751d27f593771a9e40aed9470fb5b6d16727fbe1a2590bdc2e12ebf7a487eaf94bc2e9174b853603ed99fcf12bceb3a1d116ec819d3f07e8e4ceb04eddfbb4ca868c456fa1d6a93d89a6844cceb495de934c2861db01606c7802adc984e47e57688ad1ac563f2fd711dab57daf538d985562e3bce9735a21badad6c7700173ad5255abd313ce34dde57244c387f3ee700aae495f81f2db2b959b25e7c03471f3c40f5b88d982a7913c920db32e1c137578a27e66b2f4e166a229cd938547d40dfdb142ac5159d0d9bc31b014dffa7c64b465e9a2dbc343f255828ca4450f4be581e23c94e34826d3fe98604c3f1f07f203be813f621324647bf47735f228e1614922808c5430159e5af8746c63f8840ae5f09697f8c55cb5fd5206b64f496a0c25f78e87ad89892ccfb6223017bde9d8112b7f9e36e1148598cff86194fa0cdef885ae01568ba38d4ed2504c0fab7990de6d9263674be2289e6f19869f321553e331b9cc7badf62457e912491feea9332e4849e5e589bc6f027645c62142da91b20d22cddab71412fd1382da6cc9846b181b71c97f48d8ec29c8a240fa6b5fe10eac0eeaebd6d0538fa3a4905a684df1ac12f0a46442f468a2e4acba036b42a3381dac5c20feb3bde092f801a4da1ecf5ef639d0880c714bc58bd278f7ac0704ad27a907dcc8607a30b687da83d327ac170d2314892a5feec46c3e4536b122122fa40f66df630a2827b781e83229083aa541b34d52cab8ccd0edce65e39b8b325864c843b13699252013aa361bf6c0e9d6b98fe832f2ea983fdc0b81ce1aa8b7331ab2e0ecdcbc85b0c9b15abd99885582d45e4a8549d71ce6dcbe310bd8caa4f97c701da2157525c69f01a341eb39515eaa2072d43e293ada5b6fbda7ecb69ef3e05633451fb5e0767d12704a9aafe60f8af7eb063e7a0e561d166c19c58e2f4579ea5a14553ab6549b596b2f15e5ce29726f0eb7f2c4694e51a9390ade6f3ecf9d466da4a8434954c67105bcac5eb2c07e71c364a694ab7685334428dc745b5b5e93dcb7e9469eb7a69c65b03fde98c06fdbc829f3f63447ae9649135e2492161b6441ca41434c51d2d5fbae00b4d0f0460f69bc29ef0b11069c14b1a5fb8ff9695cd0eed1a5b283481f49d6374fa21897fd4b2df581ef90fe6c800360a66e222e1e3354af6565682c0b0bc238498dd2cd91eff6705efea1162d2675e182889a12dad8a2e0149888b5022195da55085ad5902a1ee091edf9187c9db25fc095429c5c0895149e9ace38ae006a25fd011b068a4fc6c995d6f0f2986afd49788f60308eda5e4526d4d6247c889a2e43e0a4ef18e3eef37229a449374614e1e670ebf512820b71e1b8f23c261871f8263b5e98e744ecbca300e195a60e3486f59fe9db4724b9dbeac447dc93e061d667f716a10c4e277a07e14f9fbdd4f1e4628c1984fa2d8f97897e8f311ea08ec0778dcb0cf4416545642e0f22a67807e7480d46d4646422fbe9caa1e3e6646a5fe103816c9626cd651c4b935aa0cd4cf965885bea99fb92a2c4fdd85eb879eb005814f18eac9b352545d6b3c3c02b523bdb42860877563404bdd55758d98d66fc63d2f22832beaad361bfa4a4ad0b44f422f5dbea044f61b5670f9717282b71220211175ac536d6b4987d910b425799ee17e44221355e930146f4bd258f035278ae5a78ad2a2c15120cf81b94829afa91d74061d5c414a851314fd8e968c52f735ccb5d033f09cde72c381b950f1acec6be14e35d11d1f9735b34cfbad8337349434b3e3ae34755ec68ccbf9e1ff215dab74d00999bb93a0b15f79135ef2580da20215a219629207abd159ea5fa2a13b6b62954e4dc6a1059cb4787e8220582e90ff59891a7602ee63ed64f0572cadcb0a4f97066ee8f99d02539f8aaae3bfd5e9324756ee9d8d79d58fc1ddcfd8cfeb8b4781c62c6a05634081068724146df45245d3ed31db93c894ed85a8e4f3f9ff6b48a588260a94f87f3d5d6142218388e9c94150f31b972e81387b037aa0d8e18fc3b8c487e2095679b9492cce80915a2b04a13434aff5462af0f3e33f1406d8c88b3330e034f7becafd6396f01f443657ba5c363d8129153b073752adebf4d24351feb2b8067c7cd53db6aede950f4a16ce2800268fd18a6c23546c86afebcd9d62f04f30839923e138cf1c29236b18cbd2b5bc5abaf10b328a9ec2760ea0ee6e67fbfeea10c484165d9b18806799936487a56657a1451a3b5f6a29cb053eb6666616b66f4b97e925082221139ef928fed92e0d1052f84aaf68ae31a7ab9f288e391b5a6c0f896e1ab224afd1f58b5eab4b2a73e8465822455e256c3087242a40c6fd05bab709ac9282a5da1edecb5ee77a23f304b3fd7504bf182dae65f34e0a0132737ee5e3728692fd3057700729a796604d5d141456e8e6a9a4c1c879c3face878c6f6c059bb32271848bd222f1a3a208f42c5f5b46863ef57c4e7f1ad70c8b5d0f74fbe07d1854584d674f8430536f55b9d986f7d9fbae85636cf14177d924841a4b9f6b4fbc63c13a35ac64fc7462c7936382a6e01376596cae388d91fd8bb54baedc22fcdcfb1b308b9e394f1cacd20cd99c35807abc19ad5a63d1435c9aa891a6fec70166b6d640c1ae99f9587c5b1b2e03a33fb064c86542719e98fa5a93fe5d716382bbf0cf7873ffaf284307be24f084efd6cb3905fe5c02bf2a9270f5e7cb07251fad7d31ff53a004960ddae862fd1f62bf64414d9e6925773bf1b5cf433a8e24a5cacb57f24a8e268fecb1955929a1ae7abf09554c3c721a0456791172aba55241a80a94c516662b42ceb86eae53ed1cd650b4636681d145272c7211f01e80891d0244a029c6054c058711f27c08f6298f46d3dfced9d1599cad72fd66b3534a6c3995d614f8cbe27945d4994fbfd3be91023ccbf1f8220224b750ec26a483a7d768b8b580f9993f9682706e691d3641febfdfd714eb91070f80f13d5189ac2e4f77b98f3e82532a76eb672a97e0d82388d3bb5204aa153ea9c6fef29c0243718160cc0eec3153594b09bfb7bbb3c34b1e3379bb2083fea16a57b896b838df5b977e159cbc3923b806e21c5d20574bfac96230b13c6471165ac43d1d0e6537a93303f430abb096a4b66c5cb446c7cef6341e8c42d567d7201f2d8b2aba4805bf082d676d089db9e9b9164fab6b66dc3f44d8fc60f14bae3475ca35be1def119059584962ed584c93e011005ff3e978f9ec67cadccf0969cbf99957307e4cabc1349fedb0aa1e4ba665626be39272110731cfbc6b6b4c7a57d86f945c1d86d209fed90fe1392ff20f1c50a322fd65bae6951ec2c1a9b51c5ca97ec7ec40fb38739e479eb76bd8ac39d9b144028ec77e398bd79e84c369e5e1060ed3c90a9a94316aca6c1a10b358a36fe38d4ea97643687be04893b50e40cf01fffbf080f400b88526269c31d564736fd824085bb7b223c80598f2082aaa3efa1401e7f8714b47f32a56e419742e4499c5b3a28d84093b8fd2a9c1df2fa8ee1e5fa4c892096d0682926aa9c743ab9f3c160922f634b10d5a25951db3adf8db6f4975edb70d3a278d23d73054a5fb99dbcb4b6c1a491d5bc21ba80bc8eaad24397bfee3a78baa2775df15174599c09f1c9ac78ded23c311f9bbd6dc250ea75f367bb6e08fe8742ff50ec11e43ea847a998fefce89cb7a09bd72aae7b14e28c0fcbffd16a2f5887699fa35f89d9d6f79f66ed419bc17638ce8122ed8163748609af9306add1e0e8573bf99fe701f6517d67069d6591b96474772126f1768f0e8dee8f5b00fdf460d9ce66989af26bd0c5994b07509d2a02d920335f5b320f3f91edfba152edf945c38755ddd412b87beffbf226f2ff32a91939782b332384a577aead3de4173588c066026812250c01e3239b2b83a4c20f912e986e729940b792d4d8334adffcdaed844279a68c10a20e94f6d716242f2867da911c8eb6ae89246c7db87fd895cd31af9131cb8440e1414b04894b0f0db4a39adb87479a79310429646de6f0a6bed164b1354813c36d6df214ba97d875acf8e8bb128373fa5593f1629409a640f33692c730096498316fba911a6632a45cbfbe64e9be7e34de1195bde20a4ea3c4bafdb0707596569fb86a296bdbd002de4f086bda509fc95d4f3155ee1ba7618fe35018ff1a8c95161d607951c866ba1d44215c3201d4b07a109ce5e5becc2e45880f93c0d3f0b454f9d9403d88a1ed82ab2057840bf186e93bfbf2c01b1cb3146e9cb81ce1d320ee3725ef6df66c91f9fb2b101af08749d4ab25a38735445466f5d873756ac9dd7eb5584c07e3c8d489a964a7a928791a3cc34b4d5dc7d704cc796b973e502ef3bba9acd5959939773a92735c6a9c0ca4b7618badc294f53b90988fdec441bb076cf1c4d82d5a23942244bacd9c92a9ad4f66e88d156e6a19cb4783ae965d4c5fb5abd770ce235bca34b65cdd8d2fe50eecca6504e46f3854899160831e8ec3a60c21e637083fcbc49a2cd54197eb948df7fb30e7188ec7309f7b9631434a92055847a88d38ea854b0f7b4be6f77dc4e0f23c1941ebc0951391c2921e5ee9629f8dfbd7388c1fb73c2653eb0ad08782178d396f2da306c0f7b48db57020f4888ab9c21eb8ffab469301932861ebdaffc121e701fde93e255958c66b3cf82cf858f514d0b50e697105dd202a8cb562979c61a0cb5d12fe6f4c4723b49507204e7146805d911414a1f28ae15af6714477c5427ca4be9150f903f84649be02dffb636b36ddf83a306bcab6785cc0a3dbc6aa1672ed8b8fee69964ac4f7ed666912fe22715abba8ea401c049db7a542b4199e8dea5909bee8830b646904784cd990c3131e3b825d678656aace16587969dca46aa83314730426a3049a6a707dae8a6a2e65b836cafb5048807191ff0532fff67a74ddbab0ede417791241094564242c1f64c98a594e64df7fdb7ce11ce64a354ed51bf8ed823fe6089227a25a627c6a99b8bdd5750bfac515001c24267a31b534194d6085004b4940a10761eeb2a50cac179413b11772acac8bc832f755eb5f3648d0b10e4a0e2b0ec0de2a3933682287523c1512f3c428d9234bb556e78763edbd2672441bfd14f49e221c3f3233cf7080fc746198aed363303752886e91cf1b44b333076cd06bc7333ab8c8ac79b268737964fc666efcc7b0b4d6b3349801e6ef0bb7868ed81a1b73e70ac856098b7d47aee989ca89fcdf1a6f042a8277166c776ca2513e930eadd2e741a8fd894b1f7e49f990203bb6c57b79bfa6e6a3d6a1d55802c96f2dad1ed9eea46d2f43833ea445755f1844607cfa18bfcf836ba4569f87a3713d8f73ed9156129ca6f7aa990f99bab2f6f9c376c6d4391752162e504e56a56aeef0cfd35348ae0e822b7707023482c21b441e540d291ff0c868b8b4f23b511eb236cf454058ec1f9a188d65025b4daf2dcc4681dae7955697cd59e3831f6a01c582c168851c57c2477e1e58e877e012ba32cf1b9e752b68ee12fd37995f3d329102439dde37bb8f103f392f011baad19d3d0833f894c6c4c707007c672f7034e909858b38349b8a6d074bc964ef3622a3fa85a30e7777758248d92ff6f6b1df052971400414dc780e277c2c9a2d7c00ce08edd75955c0c880732dadb976da7d8fdb5ef11b708b18db2ad7a5522c65d8b898bb38bd5e356212c2b1cca3f4c1b58600704d4c7280f1b739d690662d41abae793f451b35ef11040f736c4be2e668620edba994ddf604ac5379f520b29bd1125e40280f6594056be72a0d5e0255dce8fcde65f753d6e54d4262ab4aa04fa4430ed5ade192957e93572534992e5e3bcfe35d3f27b40d3e584e0a812378b93a5041a7e0961418d7baf578acbf8cd7a10bbf2364b50073fc69ec46beaba5258cf2db96e80afb2346b9faae4931de95cd0056092f3c247d2ad216692fd64e7c8700e0a5f42b15ba52f99ab9c0cab7a5174f59bc392f898e9f22ed5ff2e2b5447efff99237631c523f19705a3182f91b3584b65db443a5d5f620a80b276d2b54bd957fffcaf0d906d42f5d64b66056d4f874b792925299a4e38367d71cab6b24da0fcc473cbb7997701fb4b7345d3c4782be384fe171dab6d0e7aa695c00ed0c5c652453057af2981e1d5667cad7663ab453eef6563bbaaabe65bc4a35f7b87b6fa3cf8ca3a21419e8509b96d30549719b861cc9363bf4c53768f599c8f2eb0f070dcde3edd104e9b6c5a91d710b2ba0e25da178ef526967b1dbb22496d96f13ee07f6434b43c98b893dec776cf85af1e1f95b6e7e1028f5391ebdf56db1cdc23b686a2cf49a69524fdd08688224ded6e3cec24df5fc4772bd5b1843aab551c0e979feefed6f3bae1fdef5c4923cdc26a5a68ca467b942cff7e1ad6cd5fb3244500f820db44e93829c8e38ad75396f67523b7341b76a6ccba0c09f68a7e57fedd8f6feaad09dab1c075e60934d3e8b28ebcebde28e4e9eb483ec1c1654154aa8fc7ed958bd0388a7cbf662fb0a9a10855149917f2ec370f68bcdec33f3c4bd1620a434653e39b28db3e38e31daea7772053f4627335d0f66fae088f0ed7fcc11f299eba479d4214193cc632dcebf382a41b5045e45dafddafb0e4357e40c96f645693b9add5c7027956eb7eadd9bb7fc9ce17d65cbf9df0bc1e8417de5ba404deb0d8c9e1a80dc908792bbbdb8f5bb1a14c37182e3a31c140bf963aeb8d7703c26c13cdb4ffad5651e1701a5ec15eaea1ffc472f4a9893883e6cf2631fa89d4c33e0c94b2aeedffd925898d85e1791ffb5e0e8a79599740c970efd78f26ba44145fa364ef4b7d2a37d3acceb0f478cb26a6b71c88a61b8c097f5bad9349cb338b5938e607458cc1bad41034adaf452b69dd592f8c9a0f552956002836f352c0e8b8868c45e1a3605bcbcd4ff3f34d69d0d6d89b008076ccf8f05513aeb4520eb31a3cf1253b7000f693eb54accf70a9dfbd952487b86c99be0db60248b373ea10b2c6dc75ee5aa01da7f1534cccb2a055c1bbf93b7e421294a7a3d3b34447ffda73da35a38571e68eda7db5077ed6c46e6f28f2fd5f9f9fd65a8fa353c7ebd79b5a7f0939a7ca2d866ab94c42acf711bf9865238c0992f598fc9e22626c967760f82d664898640e940d02b91057c5780ffaabcd0db5cae8bf06f5b6be5d4d25b960ac0e5aa65e6169132d232cdd9532e909d052c11cb76f4c7502d4acd8fcf8c36ceedb072790608fa41700a30a1701923a581a97ba9f0c71d832d27ee0b81fc22afd02d5ea5a743c1975b161930d6f01c3602b09b0c8324c98d13ee53c3aa2d0a9c3a6f8f250b312c88a7753d66cb7cef6a292b8ac87ff79331c3d263dada223325525f6e07e1dd0602ea7542f174018b6098c6b473a37d51ef96eecb2d08bf3d874f590ea8f760e287d52fce01b42bb9ae1ee05ef669790faefba8525c7fd9c700eb2a4021e066aabe7894a766b4013d4552a5a53221a0a45a17dbb65e976a6f9f1c61e4b6467b4cce68d732b23b624e07dec2c202537ce0271ccc4e35be1c81009eb7b41618e8c04eb7e7abf65261d405461ea003351a1aef0598c3c796a7c08f2ec9a7bd1da0c375e6ca47db7cc9904637322e513384f821adfbdb729c2394ebbf441e5d4d6cf4ebaa825ba47a5faed912454e6c6f42ad5fb1a8c43a4a9cc5afe7589be3c0cbddc248d640167e1663c5aeb53cb12b6bf49b4143ac797310877e319a149581e6994188664bf854aec6f343bba63600a3de423d3b944fa4e8cb21a7f2dd364441c7ee8c15d63e48bbba47fccae593a528aadf73c54c6a70bed2313edce055c0205ea73d962763c043b1298edcdbf8bad605697c00cd2fa211c2de285dbb2f3d17bf6e86b665c2aa55373eee68a048a346b75d421fc42ab36c832396add06362c44ca187ccf138eec0fcb823280a1046c5f07dc906e4014767aa255004994d26e62e31339a7cb954a7c1e9c644972ee9707484e9d1a0a827f022dca35d6d4ea7b439afdfd867fe46945587f211269aa4102deda82c4c086f7b4d1eb3cdfee93a5a9889c36806521a632a0355857ff29f67e6a4d20bf15a40f13f0c2a577ac24f122601e7b2071b44e5742eed818f5e7efecf06e27cc49cff14c6a0a444e00ff01bdfbd86f96a8d2f38be9be23f8374f863eed74a07b2abf3665f8caad246e011cc80979b2ea0290d79ccfc01b077a9b5e417e7f0fdae2ab4fa3428401d4ce9117d41119ce9e83c392650a323b87d96b1bf713b9898c6392e365463793a9d499c03166947c20c4ec380310e9dcccb55a041b77221d4a2c4a623abbc5d442d9d1c1f2ca713c6cdda157b0b2dfdc816d159830434809fd14c7eeecc13471d862cfb67bdb75d22e2d56051e03b7b5f164dc388dfb4a1bb7a8d18d12a0bdc5364e131e357c91c42a953355e6268ec38211147224f1be35e0f9484a3fe218799fd7a2efc4b558e8b1e6951a5718db0fdc2e1e9f26c237f44184db02c98ab08acbbd442e197772cc5de8463d1eff92a318429b13d9cf5b4252d723d81ddc588c4b0232231bf957717c397757362469efb51c358a28c3ddf204f773bfd5473f0e675b86cdf3eed5e6e84ec174b60cf17457eb3eccdb448d640aaaed9f57c0e0faad9cdfb8548e4fb58b4a60a9b04dd36ae536104ba6d6946f6ada2995e66c327fe2894e94101fe40d415e36e71cc198751b55bcfb4ac27573a0186b1c4627daf545ed3c458829832c9369957c05ac827b341a0513fdd7801136e094ea80e13f8c302206b5c8d51c5bc98f4a94224a10b94de3d067ce836949020519e54b650a4fa83650cb2656d8970c04b2654dcf9643bdb97b749c4e5da3bda46e20e64c2033fbe851f0a06f3765f50232919528da34fcb3205de343c24a5f5e6b3b82feb7436c17f67c68105dffa4f67960cc52cd4895e8a7beb45c866a3cbc7da2419a8c10580a5e225b615f774085833f581087795eb0ef4db3a556151384edadcac79ac59e373f2873d8adbcc40a17e0543b53c07246521ec616e65d572465359e9324a9dfc9924d1a85bc0d7b2361df1ee3c30dadb59f005a8b9af32ccbe77e84ce8af3bf7ee7229344e5b50770872138df09c05f13d7e48c2f13bb0a05414b766f52ca28b20eceb25a51e21dce843b9af1e3e77761cb1c2faa1568b941f39fbab46f4024563956704f7ccc209f24af0d8bd4dd959bee3ec9b39a7ddeca3e04e41cff499cedf24b9ed12d49bc4b25e06fb88f7e41591e7568dc81edeee10f97c0898e5555f95b78e23fb7bbc5afa504577e5be9b7365313e990d9f2cb4f44e38b52cc77cf796b2dcac516d44066f70261cad0b754315f45bc4027b76a1a56775474943bea438eba4d5474ce03a1183e0e5daf7617ceb3f0b5f3fb8f0af65df9883b2e62507707ab4134a00c18c8f6bacb9c7625c50800a1562f4e2bac0fb8ed757d4f3fc1e472a952d31f51f75fee22a5a440b48e05a47b107ebf239ba8f4d2ff7eed5fe2fac6d53d3baa9eabd1af86be4c93799e1515220b1083399a52211c0924ce5499bec2d95a98b04da4979fb085291e1dbf3e7f53962d18778826aff13bb53dca94adf0f7f2034bda3c35dcbaf611cd62754a0f3d25d45fbe99970971164dd85690b325645ae55a9a98936ca706b951b3d956ea74e54c7be3408c6c435c60841ad335f89ace4b7f5013c0aef5153968d77c6952da0db42b42da80c51ccb9962eb8450ae52244390ba33772c2cffd161e0b2c60fe12cf70e884e348fb32598750acc50936495e23213b4fd1affc50e0bbea09aac43256d3bd7c41943e4f917f431e637a317877b54b196769a61f57969c1f30aa68db01974f5db3123558b379f68364b154f8a544d858120fed790703b42c3c5b1f6e141c367ca78cf84bf1af25ec7cb77ee1bb127e1a24078189b42d3f59d7ef43caf34e2ac548699497e9ead16fef3da52ab492cb5bf1a77120a5cf7e19d599ff9ce3ea5d5f042c1dac9efc895ca2c8d0fcb8e252623b0ded09191907a74883b5ca19293e05bad14ad043b3e7f1d0d5be22a8d979f32898ab80e062bb2d9682a34436e4ab3393518af5946befe65b19a47b966d398ededc66db4dacc32f6261c53a899b8bb6be9eb4f565359c6432182537b0003e906471d85f933c5bb04f163495fe9a9a4198c82d98f98769ac5217382bb4aa3b6a500f94305080a17f5f6c31a9e59708fc32e670d8d1d6348299508ff1c356521f4a5fe5b613f663d9898336237cd4f62ac238e8418765102557ff9004063462d3297577a38d5609ef5f998918ad5ebe40c925c6995a4a1b1a5b7ddbcbc5222e103b247d929612716a374642bd81d6c7fdcb51ef7af01ac5f365f52f937e4a10e3e13bf239220444a4dbd493a72e1e69f5df362ebcf3d6a2b38eb823dce563d041c1d580c40694ffebac012a7b508e5304c4f7ebbfe7b65af092e0b9b1d00a80a46841f96228713a0298f5f3080762416e958726f52b4ced6e077c7e27b5f22a19b742c1c8bb4d6df61d42254aaab3bf911b5565e81ddbf0fd1a1240683e5ba14389428ab918eb1fb3dd2dbbebce521d6de1578be1a7a9de6260ab4eb9b2a27366871241de9ae375550e32b50e7e3760259ccb11188c494697e8fa0b7021e0b46e316f8aaffd87e63b811efd8e64ac75d0734e969f0788da80fd37c7ffe1aa052dcd8f31b5812f706d39c770c0129dc6d2e48d8f9f00ba62365b9b27d551b2f9a397351b9f3968ca962bd8a98b92b1f3ce38e0a41f7cd6596f7993fd4c84e4eb61cee2a78960eb4e67dad4f0fe0c6d23f71bfa1f5620dcea778e27afaa17042c395288a68a02c000849da9bf22ae4a2facb4be8a345eeeceb29d5fba48c27f5b1d3bfe9e7603d846a0dd0f5c9af600fe56df9c85e2e30015aa1d0ad17c9b66a967668c1a07a177df24a72b75f6d9fcd2c6d16135ce996209e55e4e0445b3f07e34bd17a44c6a1d8a38b678ca34b1cb025e29d38b946343372e05a8fae8df73f6cf3bd54df18e7d5be82f11cd29bf9f4790cba58c0e936031cdfcddb8bca4a041186293d61302b7253ee4533650e3eafa1c935c30c9bef071dc5374ff34df5d16b89e1c16a9bf3e702253bc25938d89c40db9444dfaadb9ca92f618dc30cec656a5c0d9feb4fe81accd941330a0c6c3e2a929885f84de6680026bed2c7b11288ba8ab5e8ca9e78d33d0410626bea85fdf907c175cb039b6b37d15518d7bf7b778b19d6fb6b007d47831ff988a153a111a3a8fea7ea69d6aa34e594f8de4beab07c4fb985ba11178a201cc0494672a59d3533359caed85f0cfe1e1d51d2441b488a4a995fa10ef467b96e3d1e6831240b74d7558cd102888af571d8b5fcb3382dca5198b45750b1f5f183f48d5688ace743b78bc581d54be7ca7492bb5e7c8f7b24f52ee4a3363ae19b262aed32a3416d5736fc9832f8b5bfced37e358a0929070b5ea601c3458842d072c4c59067b7ff80b51ebd7a40d96f9457f4269a3597c1ccf274c3f516c766ea17abc8f1d5e8e0f5c15069de820ba1de5b91282c6ed2bd51b43388d0002a9747080f0be47f5eaf19728cd43a44a96539057c977547f0b3487fc4df89a60e09f4c00b9829bdebb8395b498f3c3dbbcf47f8982532027a3931c35028f44119960ac72a78ac716fc3ce9f11ca94f3d0d9374e83cb176461b075b570feba251620aed1954c842bb6f7708d63895c2349c19db1fea9a58b21093c2698716488006f82467a11c7ae105b401be022854b5a7fd0c94b2bc52d27c94c64846b9c4e707bd2d588689aa5b5e926a0c13578111bd4ff20c807e22cf5b72f9085e66d7baa0f2a2b593b8168599ab31755c9d8cd666a71ce189ee3a33bcf468421fb1f1a0fb7435760e9acf6d863a56ec7eb1915e89606d58df097e14241083a7b9189f8597b09820132acb9a9e71d686fc4213eff1eeecfa7e495a8cdf1f07dae81242a81aa2d657ce24d72c1c2f44bfe9db81436e3fc9ad1e77d86f8829815a3af279f54cc479acd10ac4598ab770fa90f19c86454b6a53903d6d3792963686ca72cd3fe5345b0ff7ef93bcef27b73486ec7db3a855801821fab561bb034db2ff1acc0c23f7f1aa7a7628fbfb710471bd74f6ec97271e7e78c4262e57815005f04056ced0b31592508eecbf8d254f7be6893afcf02cb458b7d9e793d3aaa1effe8a1449769870fbe02c0e35b37448fe3c301823fd97fc576b543e88dc01736327300815f5290a3a543d0764ca228d5b35bb251d410bf70f8a9e936977597ad96e5dd759f51fa30fc1a1a4ac667a7ddb869bb289f8ee12cd5a4add6563b92c9ad113dc2328756f229d2bb6527d0c62f1e13ef70e94519663b42c4d367d6f597fbecd973020a1a1ea127e68f6a7f25648089ed446d792cad32d42606e0d878e80887db3ebe8d1461ed733a217bbd0a8c0f635a099baaab0c48556d132cbee2b90f06a9592062a4560661e6a09492317ab593678f059520777a36a869e64630b3d125067cb4d14a8ee11fad3f2cb6243a11d8647331048c64e2b9f7f4c85b52693255707d4091f9c919e88637ea2a8ba432f7b28112233ae8f08e58d6398952ec2fc0b9531030eef298484e4cc2e473ddd9d8c6c445fea58d0366c0ff17a7cc9e965e06829a1b9f3c5fab7fd3d8cdcb3d84c1d6e8901d059fed784d28c5a9b126e02d671a7df6ed20e0c44e15b10842ad588db4f53f056083177fa8b4a47151e1919092ae16dae5b4a5185ef389e05dffe6ef376594dc3af3d49d168f9e3cb08af178352bd2201fb1862646fe1ca48621e8acbfe938e7d12d4022dd34e86f9efed78f253a9a3f0d1da9afed8ac4a8768be9f6e8bd093a3baca24df2ae733aa599ded9adbc9a11a0e21fae81baa25cbd746954788b4fe072e16b5f2d82680e4656a0238272e4d60ef972636d10c95448f8120071483d57e73369e0b3337608b5365edc08a6d49c80fcaa0939a8f9f295ca8863f46558ae600068cb4a0d31e73747ae92695e145883942c3d34f334f0a4a28b73cb6664512a887a639068ae0223828980dd63eedfa6ed92fea7c0f576649fc1dd87ac418b65b3f802ce875f6df6415239bd304c2068abe1c1e3ddb8cd65b78b6d08dc04010101ac3f6d5008ba171e907100645c66e594265c2822ad1b6e9f27fa0873e2fdaa39214661611dadd7f28191c8027f68c63cf195d043e6b7b4adbf0eebdd8f5090045604b7b68b97f1012871686f8a08f944d437b5f2ac0b6ee577e6d76c4cd1b8458e483d85499cc45fdc26d86a7cd48c7c961d57a8d677a96f68f6e3c0e01c15d0070002dfd1c1dfa3e05072c1646427cf34cbff1f923e134c9f6f15f8c783199925fbc5f74830ed6f8e35e8ed8e6a5152cec35a21af230b2cd6751d14ef1ccb5456bfa9958d669a7c8fe110ad493a8430842cbcc12ffc3e7f4bcecd34917b8df7b2bd9f54fd87c673266e0e2be6d4a7cdc102dff6014d27d2d3d3e548ee06c4048b0f089826d7e51149293330b956b30d0e03346cc896aabc2ec33d6914c32616bcba1b938e381a494aea320c0dff3a2c46ec5b68fbedd46fc60b1045c3372e2c9a11eedf66ce08d58bf2c52d64faad57493c11b31b27023df132f0f5ec9b78793465aeaadcbc67d784f891d19ee9a93f5545f4143b1d96cc93d85afa1fdb3c36779c0df03c99aa6b238161cf8cf8dee4416c7c6a01ecbd841000a5069d8565c8187d2539b9a126fdb40d8f1eb1613fa14ca43a2b1719e57ae7721a7ec807e5e97800922b6722d3175af0d58fb76aa03f3b2c270796701e7d371323aaaaf62f32fc87a9119fce7a268b66cebef05a88683ef2bc80e6cb6b49129fb34b910feb2c3c7d5516d2ca6d4fa0ff0279d9e25224d827fc117358d530e204517184afabe380276bc6091fbbbd028068d461547ce05a15eaeb36480ecd22b22dbcb226cd2abaea36319d7035457eaf9dd7022f1fd734021999caac674a771f8a8e7d7b7accfd8fb71aa54e2330fd9a63b43f734e988ed36b8a2d485fbc3a6d3eb99bc7a561761d300e2fd2d713af3cabf10ed850b434501e645c0fe28e16ca298086e84cff8893ce46ec7ddc8f3f6c08143bc479aa7b866a04b73f9083cf86dfb6be8a89d8ffdca878b8eda7a26654b617e638a0ef81a6414cbf3d16f0afa29d0f6eee1eee0f2a13a5edb796c2d3251b6b515e24ce6b47ac31c3d1c6c9929a65f4631903c8bb32ef6b790644a5cb6f2a96abfa9a48a0fbc5f2aaeab7bbdce3853d3e148f273e4097d4a9a69cb8bef9f24785fc2efe043aef81ab46e852767fc5c54365db467cbfd22d4ddfa10fe158c69da1ced572e88a99c1220ad1c8e60c2169c5c3cb385b18d6fc14a70786ccffb4ec843c4d68b6e6d3b64105ca925b402eb12e700249de61b41b825c3e51fc12cf6f6d79f44bfae58199747b83881848dcf74ffc39f3402041f608dffd05cce8c092e9b6b14f78f67ce78385c4c1d894cfa6d23c92a22cd989c036cc7e415b50aadc3d9b73efe00961adbd7fcfd48d8f874a0ee2a920dae66c7a96bc019b71e92ed67b64aa22abebc7210c8479561bf795fd555c52edd21bab3b2b4c50cb7fbe063dcdd98b6a06a3cc0fd388046f2251ea865f14dc2aef4af97849d608fd1c1484455c68badf783ff6109ac8f756596e216b88bf1378ca257b07ffcd7b80c0a39f2a82673ac59463223f481748f6f10d84388875ce47e806ff2d6d48e6211e0bc62219c367c5e440f0db47397f831e2e4b866637aedf47893261407b642369f7883feb14e88999b908d8f5683972056f4ff421912b61eb3729818b7cab86d9beb28af1245f0c7abdca3ad7cc565e491d8ca5b69520232fcb8b272078ff8c4bfcf9a6e8e13b6c225a8f253831fcfa691c25e2ead63da9c48b46c7f0f2d0911c2057df395b31312596ede5812d506052421d86168c4ab91e47da36b25c7716ccb1945f6f2402b5dac91d2e6dd33386a5828c7795fdea23495b9b18ccbe47b25e83a19ab9d7b825158e23c2901377709eb57f5d2b4ad7df8c3647d1b7421a6667d680c68823f22b3accd84fc6c31db8d1c05831693779c19880d91b0e774df2169ce19cf9700ac4232bf05429f08e0dbe9c5b0cf17f822ad491803ae19eb07190f3b06237ff54007abf0770d1bd76681db63567600a3549d79bc6cc92d09874f09fb61dcfcb4cafab6cbbf0b4acb270499b78d4fcc29b059ae41bebdc879ae1c9193224c52fde8ee1514fcbb44a0be8862706b7f1f3e228d7f6a15830911f7923e7f302a99c9e2a97214772e34860c150ee00a2e7d198eec068c260dd1db29b518cf873b0d965f0ab6df4b0448efc6dad0b29455799b00b7c38ca3d5b663680b5ca3d4810e04638cab85256e879d5220ccbf54c7c1aa5037d565edb4a927dc2530ef81269a46cb6753ca1641b996082f489942d6abc6a393c0843c0de3d59f5007d0137fd168ca7c143f177ca8d2a00ac6b87bc2bb256cedf5fac4b02c86ccfc6a756a3a013d95d14a34c348781390de687e719bbb243ab79f5c05257bab64e46a3b72c665e6af1b18c2f38bc7cda83e707836ca47bad63e9a61dfdea2d1e60cdfdf872503e386ff27513846a8d75061623ea9a54736fe50f8bf2a593b510163b5b98c1f925a40dbef2c054b05c16d5ad9e072c1530b16d67d4b6cca8dde2e1fa3abb55438c6fd9bab188b944de2826389b5718529d618b703aa99e2e1cb2f8f356c2432de9264ee26037a34fab96b225bcb1235de3a0f5b329499e3ac2e115da11311d987bb633cbdf2b027cb1b9c579da9671c13f46ff912428187900e0af266054e94611404caeee92a26897be3808bc0515fa45bf28c71a26f7804c495f55aba32886aac82da6eb2637bf5af6f8eef847c3ae56705d82cef3e31c8527f5210f4c8baef86c924b609b11bfe978979f6bfe9404dab0637dc2e16cde7b66e81f7d6ec6e29cb836f8118a4940848b650e4b1dd43cdd26c7acc4174909fdcabaa9331489d026884097b84485b9c94c278b902c308670b008e5f8d2ac4ef00cf3ddf8ca47b0d00af1f322c6753fabb26465b203e2e45e961d91666e67f190409fa4562831976cb3978f4a9d0a05635c7d639c4c6c89edbc0389b730e1b8dc03caf78a3d24a5545ebe3f61f53b9dcb1340305f6389f3190db08d1d9b4319dff7b8094298243f0a0c18fe82eee586287fe3fdd2cb723e8283b0ddf60d1416b23590f8a573cb90ed123e680643daca15ca97ceb1cc9b8ddee85e448630feda2372336aebf5256057d149720a659df1f0a240e66efa1afae24bacddb834116aecf7b3f817d4bcb88222c584d3513c09f9de4e31bbda129cbacd8f07e2fc785afff67b287e1f2247a738369ad7652218cea5564c3f64fdb8e08c509b63d98f9da6407ab3b9df0ae774d2e5ea5e6e171798207ef4753d96fd1485194c022117b5c965821bae2278f66c98ae3dfdbe746699f6656d6fb321eaca353a4c9c93ac9e37f9374afb796d614ddc1748dd2ee02890a9528c4240c2f46aa9da2e5bf1c12744b4edfb29329a1176bba1f3711d9480b86a51e5501dec33a2b40d78dc331a462100ac6cd73834ab54b1d5e69c7f18401cec5a4181c0a13abf75fbfb74ad89f2c6d4b2aad720441c84a9de28a618e658e185d6ae36936f44e463ab0a1fbddab7b31a0c451d85ac349624c88670834345a3365e4440dc53751c8745f94f36fb92025093beb260dc5542d821b7cd22281284aafa6b60e9ba561eb022fe39100bfe771adc38863c6a1fd1b8cb08b3333a1ff1b1bea48da33ad014553da21efc9c0d38953d5817a0b3b9d50193c51b8f7acf8ca401fd9d4d5b22f6d07fc41a6562b7c05ac6ae673263881692f1f9e09d29cd87126a5a1ef28ecd6152d34c4b68a65919a76e794fb289f59470b16b6951eff1715988a09f12d7e67eb5aa091eb94386326b22f2c9b6f16bcfc3a23d8beb7e95fcf4be2cac1c70dc00b1933941fb971779d0d37d3e1e4b40e099a57c7a668db78b24c879a4dd35891485a31ab70f7413965ee23d3926a4675d58d68100cf51f3f8042ed7675ce82618e4a7f00bafa797e582e0ba0781d75fbdeee4bfdd17d6229aa7aaf5e94bb7adcdffbc244514a62ea943c601aa02b8275883706031b2e020df1b3c71bd958d6c01bb44956213f739a9106f5b22572553cc1f964dd4b3e29e0d12462ef499dd3a50a83e4e0a66cf55814d438084bc8f6d315ca0d8c95f521a5dc1667c913ad9b8dca08aeed549cb699abc478ddcb0c28ea4079f6026bc7f30e0c8423c8db357828a62e0f25dc59b50b7b54c85d7815140e69fc18122338b969556319db076a8d7b6a578e7ec6afd77f15a0b003d24962bc3e10fb745e8173f0e7e79b007576d1fcd374972f9bd426ad84d2ab6320049c08506d2d0d458eeedad284caeeb56482095329d871531b59093e491ae6b3432a6dc4a8c3ee3f75abb68062b21b4cf34f9d5c1628e552ca3d561c1c62cbbeab8d1ba583158278d314ae6c257cb711aa1048c328bcc382119c28e960d5373183e2ac9a4f35c9e95d23375ae7bc6594804b03179e8c331c311d4ee00f61e059954e1e069ce792eb630e0e7fc94ac71b407125c13a7dfdf779c0463a22d7f3a4e0255e949ddc5f476e7e5e03ee72b47c9abf02f503df0276614f574986043a72f9ff58be8c2d1c3a45a48e024451935555d2fe1dcd8f3503b2d7a71ca3eb7291e9f5513ba6df38e67ab3fe9b51934b9308de3e7204926a80f74282c4e7b6b0c6ab60423bce40957a2b2b293aea67971f8e80b5ce5f38b6e3cac28cd56bbf40c7b021789b8e88c1e49a6c76162ed0852a5031279845b4acef5fa8e2a98d66fa71206b66730b43ebbcd49195bf14a8047fc2ee3e0cb87d00ad75e53e19772a2f14e14166f12a52eed424a103dc28698b976e7279d974158f4e926ef8b9528de98a65a9411a885f796bd50bdead4829857d0ab9c53652edbc7efcc7506ca2618767412d29c6110d21b90f941b63befeedd120a5afd3f672897b10b80d434ba9dee039f5d57df13ccdd2886a0c78a4fa7fd714bb6919629006c5a9e721e09d8f7f384b3ef88d327a9e23a25a9e1ee07544794676b2c053f0a570951bb3fc8d4d86f4c1fe38de6627716a735c551fbfd5623634a26973277bd9f779d25f9fbcab7f78786a08ee5f14813e502e4cf6c63fec1ccc4b915cd4b86514ef0a6ea77733f033950c4ee627604c286c3c3b71fc16d635d875cc02fb9726294dbb017938829c0332b3666ca03058ed5604342427df09ba17e1eadaea16ccc5b0e5d5d3c8dfafee2a536f043e5b01396b62eb1a3e19bac0f0b7e3adde226b096f6edffc035bac882120791764c1886aaf5e5067ac2b078692234bdce43571891a3b527c4a123cdb089fde9849b3fd4aa5232446386f9267ee8f89f73feb327a1f7c2b6ce1be2a612dd4c37d6d116aff6db753b8f9039c6dae451c45b9309919cdfffae3ada4a8de350d6bef182788f016e7e502b1e70f5fd04bb6b4c4877a60fc7239b679e72e23396b0fe0553cb9fccc551db90249562cc92fac7008d75af74716027a5649bb5f0b897857b82a3b19fba526fa6a5c072471b811ff12875fb60a8614b2447b016d9f182e4c6c365e67cf7bc1da397a156b3019a9c4fdc27e86299741648b858308cc597301f408296a52df34e721844f0f5dbd2bbdfb155fa1d602d2c74c1609ceaa5d81f67792e549de5584a38accf4ca8c3d5f58b04b3bc7652cdbcaa362b09b64ec235a2293d2b792a79490990d0ef65e1d1b159e2768745d5654d35c4a87bad1fe9c8ed6ac955233c3209834ff96f8368594c9b25c949d3bc66487808ab608db549def76b7f7997f55a39bf86bb361c7db41a365749487ce181e293eb0099b2df56ac8667c9e14b5cbe61fc2c81ae24a469dea571821821817fa279d9c8b49f50f92b204d6144373c49cf5dff40ce346a006111d5e105b7747daf54704801a9a3f3136183dfbd20c0719343f8e80978185613e3b5d5365030f81940eccedaa8483a61950d0a96406bfac223c06c4a55675814a762d2db6a242b1d346af1ca8f05aca0a88ba22ae1d53a5de69dfa3a2fa4050248bbbc0333b01d9edff4ff3b10c7b1635be62048555c0c6a0e7e413c7744d28d6beb07f20d571a9d7c8df3d096b8afa04cbed409aa07e0fb9f9a55a60e1aa7332933d47e587b8030784f9eaf7396a0981884113cc82fac087c8cf9023b56ec690435422c5f6fbc21aaa46ae9f8ede87f0d69d658d2e12a480b6211810380cd00f272ebbba59b75c69e09ae85886dcdf65a4b0cc47b7da37ffe028703df8a163b461e1ae17d6fbdfc2973f86d3450aa0ba456d0168aad94afe77c97f9063e38349ad33380f664699939c43ecb9b27038d469edd8edb22cd205eb04418abc49900d8ceed6c513582a44e8f2c6280e3a3f5e57e4cf7905671edb01c653006b1006a2f12273ac97cfa4512bf00986dd03f9334c0f09fb4e45adb3292ec83d4b9b26bdcd8d14c2e5dc2fdc2838a2a2c24e7c1ea5b1a161ee57c63ece9a63085067125a9f7697a0f6218711bee912259746992fa0093538f9f5f2792c6eca0b6389d314d811a4da0aa4a497f3f94ac2483cc0c436b5ab37a09401309f08429e379ac0facb63b8d04baa735423f72394ad763000dac262fda249f33a5213775f7ea98b4244fa18df28d47d4bf81f841aa4fc73ecb52eef573f118eef099b3cfabb7a95fac71d4ddb298d910425e9a729cf1e7b7a595b1e6b3191cef60e400435b289e7d470ec557f806fc6a2abf0541b4c2e242c6716afff4432da06edec3ede4b3b1ffa95de8761a1db3196fae4cbdf821364d90071ba186d8c097955d25efe8e77d9720ad0241c3820fb71113e21e6fa608d0affd11eb0283a4307a5856c8658b6efedcc0625af003650465236fec93c411411d4f8a563ebd596c01ede20bb29daccb14372db3dfab8fb7a6799ef8b34a6379c7c830862e62c766a473a8cfda9fb3b90cc4f581e2605b7a39b5d8836d69e0d6791b17bbd6b8ef1e400af6ef7f6eac2dd562d2c94ce32f83b1ae3b270248f184f7269d2873bc6141576c12efa686f5860ec0fe041521f8cfdd26a707dc8a1634c7cf4edbf88af36fd86d767e0af2373a6e10cc44ad2db2d6ac099f7cd79d57d9e5b0b7442bef08e705c38a26c3d50e9cbfa64edc5ec7bcb6073dad2f0976deabccb5a7503e6d6a6ae489b3f70fa444538d85850d056bf2372ab203fa93e26d8049e74d3bf2d4e2dbbe5098f0b579f4c335ecc6cc88aba2cb54f91909fbaeee6cb922fd7569035fb10a0dbecd2ab8be04c1131a358695147d5948f82d7af2bf1cb443855d1c73e476a53ec8ac20e4cb6f8880efa1c34720a1045cf6880acae9d88da6b2d88c26d9377e4e57d1b34168b4fbd1311f834d402ad44bbf2fd493ba5207958a2f29902b1aa088620c2957b70388f93158fa6eba333134ea56d841816f7b5a790fc253c9e68833cf8a06f04899489739b620c152c4285cae1b56150e5f0cb2f7b2dcd5a887d0b71599d9f11c2a4d8bfee0af9cd4dccebd73b0db771c762a5ad95688e9973a5df8c297a2cf7452897664fb0cd7ce3c8d4abddda37b8819f0a0d4c59b59560f3f558eef166278c49e6160a2dc4f762f6445cb3dc248be7729887d69b15e86f6e4fb4dd6d2aec7ab24e2f376d4e5e118025de0986c38f3f74d6320f7de7f63cfb4aa9202819070714d67e6037efd3330bc9c7b14673835fa1878570c8725e339bd24864410f3725dd2432ade7bc25d99d744cc8c656395049133a9834811149ee2f491d9483ac1569f8bf0e5f72ec21b94dd91f8d7154dfe9e03c0c7b2cc6bd06de273508c20918fd1f912bc647c57e53919fb687315f3e8b805a4119ef760983572a83b21a79ebddcad18de846dd94901e5f394946f1d88044067a80d38daaaacb2c9fca8e7e9e4f051eb706c6844ae7f8aeef43c5f1d6329c235e74fbccd466cbbfdfc61597aaaea10ac27e85621564a29d144972c1c35c27d95fdb856fbbf000fcc93d7645c9afbce1a5c4ea7bd82c1e7d4959e58cda39716a9b568de12d84abef5d41f554bb05e4b74249445a80d1f6422a42746423c89c6fd0112f66382851139ddb83bf86c2ad932e7d2d9bd0fba8698ff06d09ac32d453d7c2ac9ba86017c7ad0f7565d093373c9fb27b2cf611894e8fad5d258ebfccdad86f6acd2a6bf46257bc24fa62030095bb502e0891824a1723b2ea99f6da2226df42da0d554b1bfcd2ed6e3cc3db804764c3e8b841c114625375d0af976649e3a5da037e2d482dfc77a4c7793271a6d08d79ef84c51579adf9bd24124df3f0a7f881522c2fcdb1c9000dbccac96ee33b17c9fc12ac281c371b9a81644e7436ce5f180fde2047bd95e26a016cf15cbc47c99af580aee5b38ca14288fbada962735af83da24f7da8bb27cc5ea37ca2003c6f369af15ea86861effc9ffe0f0c37388dddb82e62507196b607fd89c2797625ec638764e4424f8a95e2b24c77564baabe940d6e1e302c1ca7bda0a45fd28c2c770e5a1760faf9849e5d1881d5e91b3a3fc4f6bbd648fd521d4a4b38f8b9b4c4c07cc34d46c217d8997b4d6e9c1f5d13c71aa4a59e5a751c776546519283fc57f71691ec10cf3b206ccc598fe64fc78c510fd71f72b9c83cd6c1084eb27384534e939d01183335dabe05d6ea05b60168b6a34ba35ce584cd30e7bf39d57abae7c87a3aff86ae04320cffe52bcd9109557ac503ebe777b71dd1cb79db056fdef480dffedcef4c2c0a39a72d272e653203edcd11192238a5e8c31d0c7346b73ef478e74dfc7f9be47385cac6da73d05604ab628eeba8f272f18020bc7ef68ba4d368b405410264823c663ffbef19df3a4bc9d91ba86ef9d978ea93edfb2711213aad35658abd14620e0e5e2a31087df6180205d847039050c175af3bc5670847fd4cc8bdb224139e864ff79060ce4fa50f368fa8128765b72e2ff7f25b4baabe8172a3ab02cefa35e0ccf24fde32c16316682b8a01cbb55a63105486bb1be9bea80127e8bf6baf093457b3d6cf472efa510a9229d4db3444d84402336cd7db8b849f2fbf600fa365c96b9be2311bb1ec7c2ebb90167a80500e8563ff5fb6d714531bb61f97fc6898527c1730a4c013399244f637c5e35b2f03aab1f9d88d186a7d3b83e52001ec81de0d0a0a6a075c95c6e56d4afed6f6fb11c86c6875f345f02c429cadbe3824b3e7a1de2253cf3dc172efeac3e6038a99da4ce55637e0918f1d15e3f50d76d7a6e4cf6aff77449fedfab5dc874558321e668cd674ebd0bedc0343c9531729ac2f25a0fdab88481f37ff2a4c0beb13ed352652ee58509d82e00c885a3403948637d9f71b66c5555db2668f0332a3a7cbbdb2ec61cec3ba5317c4b94c7c859caa4f33fa9f7aff34643c15bcb30b2ddc4fecab734e8532fd3d136315a52d81e4bb601cbb48462c44a9061032af8cc7c5bfa9a29f3f600053742a60065a9b817cbc59dfdfd01d6be0023bd0a327ac70f2f4cb51f4e55484ef5b77ee4d13c622128be32a82467bca8218b99d3b59af9d432e9417ebd72f75bd133b3305762bae2ee0454ba1aaa5d5e2e2a0b9394eb049fe953c30ffe2916923fd22d1c48e7769df4e5bbd7c47c386637c753a24ecb5fe8892bd38e939fe0b0f2f8f3ffb9bcd713eef12198c05b56f123a70b571a0b7477710c1c7cfe6fb73686a6331353acc9d637c053bc521f641064ce2b9558248daa54c2aa216c9b60df1b3e196502cdea58af5e272094ff512790a321a5c637bad79492160a24892360a3e1287fbf54e888914619d71b3244b3eb6c0f47d57d46f66aff4368fdca4e221f5d6d9304221802c69057046279729b5995c2753ea5a3c23c7ea6032e0e525f10fecf05fe6a7364c07524513dd8df0c8fa3a77c74555544abeaf19e3ab4bd22bba2471a9c066230a6b3604c83d564e205cd14194f00b62c99fca4c3bf8eb175e68a7e1e1c3e3f50e123e3eb0f5a5ddc3dabd6e01baead05dddf24381433839a3430c799e5446184e27fcd1d5f366510cd8ed4f59f9e26920c85e46f2a861881bda58ec2f6ac14f2c603fe87c5f99d2c0ef4c3cb8d93c70a2b301219c56943f3c05d2e21dfdc91dc2670747123bc7675b21055a372cf5ecc500041f50e4f6dbe26af5b9fcb46450de6bc2d673844e80965cd17d06a4f3f9aec2127de22cd4b422c09c9a8048603dfd065991431ca2ae3ff6b59ccc9c2d342eb1e6a93aefcb183289945152bb7911c86da1db3c469fc1ef9531f1150e04f54321c92f3a3c163d226654dc2bbe9b2c9bf775ab6de148ea44668adcce498a41924ae1ca9d20a8ae9ffd29abc2ce6f4df9a67f2e80c7da24738bd65b3638d5412aefeaca0c75c675f01361959cf8700a90775dfc5e5f2d4a9018c28a1450968943a3b05b1420dbfb318d8388394aaa1307feecafa9c9f7b5b4ff4f70e77ca28acfb861f01d9a3fa6b47bebae8110fd5af9162f97a2798003621283dcd1e98c638e4bff50e8fe0e173e383a98c54b8c7a58da66e15bd49311793f0e4a000873da6b4c283003f37481a6a54e96241927c96763d97fce30e1feb68fbb2914477ed8fea73a1cfa2363f87cda6e69744fa9b2130a6b92e54a0955505f8ab6890672337221be3fdbef2b07f13cd485c0dc869cd8738615638560c4de05841e371fc09b9afc3217dcdd63c85fcc9d565b5cbcd5ea9b047d2b206dc28bf8cd54bbba7049bee1c5925cda703a919a73bdfad26aa3410fefde6c08d0ef49b15c6c3ef74ff00147bbc58cfb5e97bb87195694d4e0f23e8f99325f796cbced046faec07433d3d005368ed48038ea5470db18a0dc18f4ed0a9bc376ae14baed5f7d6ae95b27e7b191d45bab40e6f1580af6ba8277402eb2655af164ddebc944c043643b4366e1775e0c721d478d701d700255f86477f5663e815513926e34998b4a7858ff66cd49b82ba1343f32a56953bfe193ba2b7f437ff153df167c516f3e8af3e4269e3fb367f94766a30e0dc93a25bf41064a80269a927283d0ba20b0666ca2c975d8ca38210be90c06d4b00251ba89ccdd1e4ef66104c57464e57cae3dfe147da0b4fde711e61943fd806760207b6d66859ce543a11352fc83a81073c19792bf0e48ea4a6448cacf616ed6bf80608af3d86ee2ae0a6d282d08756b12d294ee462899d8726ca30823e9088fb1293f8955de1c9c94ed302f4110b08cf09c1cc80b7e1b4d71f55a667df4ba35418bcbd06c778d1551b5cd6c21289feb466a597e91ee05dd7b433eb8c5ec7b6904c34fada3f11216bcf76801a8e547027439f0c12a1a3b9ef6802fd9edcd8d2b5c9719e1b9aa99909b0d7d36371c5eeb8acb8f8f98a9e0b53622da8be6f945a059af6bfc7bd139be53a13de8c558bcc8ab5117bffe314bf3260ca7324a64252618596790067ff9d9e2e2f7755df009e1189b0ba35d9bb44c58aa43e0949df597f72add2c3a1d3eae4ab2740d60a93a21963e5758bec70e1fc7d6d244a000f5fa7e33992b7a5f63804d64868f278775ea73fb5951e5328b575980e48677ac2d720316adc1ded7fc60dcd811c6bf1cdcd14ada4b35d58e64592d95052cd360b8d4094d96582e70d0e36affaaa17ea3c12772f52e5d948033cf402f022cc0b7535d90c772894ded31fd1eafcc177ab43c66963a7e6209ec93f11d5d6429c1caeddfd05d451a7478b783257634198022b5a28b8379bc36ffc4a32b64f3012a09b5ca48c8329c4269ea25d775ae25c08e2ffcd0b6a9d3f41b73000bc25b2b735da7a3d08406bb2f02f3bdbcff9ddf88a43c2be6450cbb407fa51db0cdc8954e2b2f8b1e38489951cc6038969be425b82ca0a308dab3da88ddf4e820c38793c5063b7aa9f2efdb17c1341b810acd863b3c259eeda30c3b5e471bfa36d7706bd2d688ff767fac8e6ae4d2fd8a7a79a6c5ac668e88e6bc4431c0becb98eb3b25069ac588e8280c5edf19f8bc0151b433ef87393aafbd51d86e02908bb289b0851c77c4a634cdd1a91ce3b5eb10b4806ad6a91b16bd9c20930f480eb47582f8552b581319d8b5147332415e450ffb9003941a31e2db96de892982d3429ccc3354b629523b5f3dde490a8b981453a9065864917258d3f4de424a78e0001c0d8f7af694608771847424cef255c1bc5389fa9a811d90328a4b2fcb8ed94cd14294fefe7913b5e84fd9050e33f8bde70d65f80ced10ddd508c0d24bec0edc16bcd70fcb7bf70d126da9125fea55ce8c9101d1b993a50b005565b22d36745ece64a4c1ee6f38d691b2180e0577f960127141c9e61033ad43bef2820212f2a654eacef0385da11e8437257e28bdd61230375a167e71294c4a741abc607ac843688176381ca9d8b063a6afd0c4d3441dbf3c8fe2fdaa374bcd7af1127877af29155cac95eb18d24f5b64df88d580e5243fe19d7759fae6a30eadec955b6f2f13260637c6081932e272365b51069a132f39f19a5446c781e01f8dbfdb2eaf4abe936f3da20b5aad7fe34239168f84315cf86f5793a300f07b9229df2b152ba58a08efb498e8583bf481866f023dc197279a4dd69d56b72f5cc6d0899934ef48b3855c41df12a187fd90472f8b55336b07008be84a873e6c417b75881b8f2ab8250a38a1bbe15f20940c452ab18822c604aa9fd87c7c88578b219f41b7a762d5772f32c218ebf7b64278df74cb94e9fa7bfd0baa84ef8803e11927a7c264fcac7bf9dc99eafa6a24b5e8f70e3454b88e757dc3a7a6aa5bd48d360ea9979f06c0147d1dadbf37d10e385af586a54c7ec711d691a78849e03b5745e3ceae98f91c944bab593ed95fd328de760979e5ab0608fc92f8b8be2e05b69d6d0deee3400950454eab70698190c90b9294589863a228d913813ce23554a7bf4d129883d04d1dad73bbb5d0c76cda195edffebb69567c79b76e7624343d79977742732cb977acdb8eafa2e0c47351ab136e99d78fee26ed576beef12e8980205faa7e93ff1b0a1f4e6a824973f92fbe9003dbd197eeff6fcc15810603fb588fa5215828e0a592f5268ee7a2c028462afe2cff159bde162d0e87e0bcfd06f461d54365c3e16e57dac69a5559e20919b41ea3a54c51881b02fa89e7e9db6281586f65e7f2ef7bb7db0665d67e192913a2aeb4cb1c460dde805e8506bddcfedd6c8c0d8e01888bfb5c74ba800910ba017c20180f99909ad273b0281e03503c9e0fa2d1defad03ee2e476b3182ff59c3de176b1f18d88f354d5308e9352ca57800f0ec463a5cd06607d9f297407358e2c39dfdc8d18bb0e6551d9f83b71f37aaa888d928ea0a7f8cf09d949afc910d12cc476e59edf05492d12c1b9419617ee67b1fe46049e282959fc12b3ca94ac1ee5724ff71a7c1de6f74f2e6e75217a160658f6a42c79724b39b9ec5b320f2647b6f1500b69b8952fa36f227ba69430ddd95adf04c8a039a1c09aa7cff52dd65c4b43350c40cb596c2cd3fed2913a9498305bfa7e5a7903cfaebf5083a6ecbb2cb07c60c34dfc6bd56bbc5917c8bb898dd61b9914b31cb72e01ad4a01964939a5de6742f2a3d3f4acf93d98cc6dd7e6baf731b202f090433acba07ed68c76462cd5cbc6666f0679cfc84af151de2790f15c321a13af5f068836f42042d144e082c03573db2658ae846bb11ac142f9ae5bb0891f22657e985a8f24a769e9444dd35c4280f7524f23740f3b218e64d315311c899b9ffd07fb29b7306bd045aada946258a74214d126a10b9ff0a86f1b74f544959f07e4fa6130b305cbfe27188ffff215ab7e9cfcc74defea6d552cac5b785176cd80a0648432580f699c62ab4b0fe55731a5dadaf5ca03b5924a0dc94e5264fda11c566343ac2c7c09dec0481b1f8af7ceee2035fd1b53424c4d57c28eb5c0c21cade5be4048b83730ccf91a1a78e7a5e5039db436c85af5e3a0264818dbc6016af383397d526203a39baa420536a89a15c4f760b101eaebdba9f9baa27802feb6a3bc1568e655d6976cac9fb0f5158717276bb8d6e68f6817f303d0093969c975c378e3e39418d2281180be4039f05c4ab783e0ce6da93061957160e57363d939790ed7c85800d86aeb4ddbc19c737f2bc099d96b24652b77d2dbc828de0eddaac4cc632c8586658be889cf0bc6b11600ddc260b41d9523c1c10d3130578406a924a327fce7bdb41114d25739d0da2ea7c8fed00f448c046e984a180c0126888f3edb22da6218ed0e2be75a6741f8cdef5f77e19254c4390118466d3a9decb6539ccb75846ba5ba10f91e794a01fd1ba9a2c7292f38134f1f1be64f3ec9c79be32b7a7b90aa440c2da8796784ba8b847c13f0afdaf214d8b695912c31381c0297c9975044346ae105e9a1150468774d4c140400c99da7f7e61e7f3c2dc72b31240d5dd364a678ac044ff9adf0bf8733915d70a8226b9b573addc53b8481711755907e1259756fa38b9ae6177051e5df3de9a5b007175a5d203b4e65a1986a1f8dd5939a1447dd78c347dbd036a093977a5c9d158db531b4382a4ed284b87e29ebddf7630632acc415ca571d4cabbbb8ee0e202807ff704681594a525d999cc478d751a7a9a1a2db0e8fa12f0498f07b1ef662defda374b901d85a68c11fd3f12c17c3f26d56a049f8f274a97f7865e90c8c09ce269896934d576cf6d1eb02d1ffc14e723b9fce4d483187401a4c32b857306913026fde6eb3085067e3c9aa6934430e7d2ba39ccc5544ad0d0a17b09273eec1a35f3a292f6b1625d3bbed068d8443de4740755bc059cbd2a83b360098ffac114748f6c2ddf5c37e026fd35bb95c4e6473af0945606f647549825b3507c615077893fbee96ca3f17741aa341a2d89f7e5d8c12be9ec71f1c0f1b998d6c746b3234e6e0a8f50d9594f104d5acb8d3c24bdaed5fc2b821b31fc04ac84f8601a7472dc352408e7bcc8d42d4fbce9ea8815fd8fa88b15576f9da0388d8bc63a67294698294126b6e2008e2988c4320d0b3e58c883dcdb8852ba0cf94aacaa8a6a21a1fb3082b2b9433b0b5e5d99bfff08dbfe61ef625641a8808e096798248f29694bc82d689f1e260f02b53d85a1c59f4c925ed59b782cffb43db885f12f864470e8683f95b0d4b55c35188b618137b9803cd733486abb9e71dc42df98761ee90c6cd63008897b0765a094d5889fbfa6945cadb3af6bb6003c9422fc0e433b1f8c890d37c0c6ad98a36e7b24753e1af4e0937999ee7047716f9e57782170f9c31a668fa11f28af4fe170e97729fd9b6658ae0a28337a386c883eb22c38ec9d9f6846bfa3aa29e9bf0633eaed6f59c580f9bb338fa75aaec58dd5a91ef86f051e24658c326e3ef7e25410092852bc946bec168d7c6f7914d149f364d57b9ebff4eaf8614278f68d474ada0cb7599ba7a068c73c7b015f1b0913924d450edb604c19245888121e4c697470d9c5646ca2de8e804e64d1f3d19ee6cfcfe191513af931575b74335ab6e9b444c302bc4f4ad4e69a471b656e5f2047a0b206af92f0774fc092874300c7bdb083b4d94d2be045187b98686d3e775b0cf56650064b16aeac45d944d7efd03cb040aab1f6c8e70f5033fe38045501e25b88fcb5485ea0ca9bc9950a4dde9b163e718866402d6be21a38c85fb30e10bc5618cddf906640091dfc9340071d5b22d16c1fd930b9046b8d4c6786d608384ce762e0c73fd2a12395514c750403d17f30d1ce249acc905fa3cd745c88196e41a13e7aa98414c1bb83613fe934c09b302ed6cf1796d3c7d606af7b468d40c217c4792db78ab41d6db47fa8a6c724eb16530c59525ed6425c72dfc70a6ad0850e336e7f7d90afbb17e8178e105cc40718839cca0ecae51d75888031139f84ef276632f246a3ee459cd5caea4e3d29279bbdb3b8741c8e654f7143fd6a40180d3581242abfcace59027f94ea42becdae1ca6ff43f4108641b8216522833168b0dcfd024329e488b967b045bbd1c09a84af4549171a3c342c481cd8e52fa44c0e04fac4751d6ad80b5b0423d1a074b79c4412e15fb585b6c9981f74d7bbd566a23041688d193f9d59f1c8a59246ac1b8393602b3e1a5538a12497f12b7451c98a7300a2ff11c2c7c5db2ebd98d5ae5f9b232328e6882fe11eff014b10c91d951f8d7eab9b630b0dcb1fc18e18274e3a6784932618cc17eb3242fe1901a859391d5f064214836ed9b24f5ade0f165353cd1e7e388f2f9212b340bd8c40e73d9b69605d74415e7064635d71ad8e5b6f6f759e4e88492309d6d5cc02ca73c21a0658135bacc3c08f790c46095749727f6b49678ae8e8f130a2c31650142a2d53b309c00ec7f3e4d0d06db8cb277e0ccd32a0562648dd94d75d54ae60b2e4bbd5e9d166ac5e3a200841998a6969d5c30a3bdcd8c6a4a558214509a3b95c583c0e64c31a68d785ebaed98c8d83091898d2b5cf36656fddc9c95c18605b3ac0109eeeab0e9b0d2eec0718cd203f88eea10f42477723b74ceeec5d59c3447623ec2bf5d183db14f88ca44d7033541ccc704ac3da826fab66f223b92b3e81bbc0dd4fa0a2768bc5b6ea037f506a4b0cfffe7b238f1a011d82b06fdab944ee08681216e95336bcee65c68b26175b26faa93350f0993d3c1f4870753769007917b6fa77c062b7a274b9d9647331cdc7e27b15bdef47804979346f509163d4b518ee8b646b54e4c4f99dfb9fcb3bd7d9cee20cdd891bc60ebea754115fd79a9bfc02748e0b4046a531b77789823be14b18d33547a5869a2202be51b87dc1147ee81289eeed5b578cc689b684cde84dc8c1cc0a4bee27abb53a48d2543b81a8ca02b119c514211c7ae37d5600eae6b5cd8ccdddff04505c233c6438fa4c9204517f11674da24a3b2a4aa2ed73c70ed87e6c6e0af5eed1ae53394f79789001178d39b8ccd08de993885c0a7660f131d9aa4f300f95e36d4a616d7e511a55422437c662808b044731ad489d919857a9cd25d033de21284632c7695147a354c5d652edf9b875f5d49795ad07dcedb23ba8159014d2388abb6d45320a2007f94a295be6a8198e93bc02f9342eaa6596c55d1230b1d8a8a9fdf56a13ea7308d87c88f82659651cd3d81c40904c72a4a13ada7a18adb863a0bbac0112f02645618635a9866c3af0e57294f357c6b39fde785212323caa5fd8b1b8b2d01ad4eae396706c8780e767d7a7e5fdd90d6a95de37ef8e0b0480e8bf5b005cc01c0fce623226333e65bdde61bd81c5e33ad43457d4e66ca306925106e85be80c3e56a6b5d72b17701661fb7ad55fc9610b82f5da3f4fd4dea05f4bf443b74a2542cc2909843ba2e4b496cd913fe64b4f4fb09e78191fd2ea916570bac6f0d8ba273ba6cc789dcea64a49684bb86502acf3ab2d0c8c7b29b21568e4315309b4750ad2d3598ce4a8a88b6e614c89fd384c2928610b6a9de79ce967f0bf7d81994718e35863cd9c1b1acba0b27cdacd16bd07f4c0abf10647f5a4adbbcdeda1235fabf805f56020bd4f0e6a5ffe41cf2d035808c9510c5583d85e51b27f8c5aae577d17c2cc6dae382fd636e701969b51cfefee2f9a9646c992cf791ac777d9911c2ab4fa570f1dab198fe876dc778903cdde624c24765000dc9677c1fc8a9f339408ea154072257985e32d6e2dea81ec64d35a3fb09cc97c5a8f6c8f9c83accadc74e58bd31d24f5fe2bf12bab93ccac9984f36f067c6acb1a6110bb2621131cd7caec9a4698faa4f9de6d477d9deece95852f0307ac941fca2d92e79e399c7705968cc21c230ebf58f925dfd4fc899bcb30d76bd47f9423cd320b2d021a61dc54a5c625791d6bc021128aedd5abfa3d469dce7486fb730754bb21c3ea3e1d2c856e1e53c2b2dcd8c6a9c74e28a531d4c418eaf658b6ff468569d6e3ae1b329715e782f57ff4cbdb5e13c90185745927af208cf890166b58309bae688e22e076fcea3055496b88d12eb20f444d06136e488a224efb46a55335ff01a958df942a088cb15b254cd3da4d53af6085b1347ec3c45fec18ace34b027d6e62ae719bbcc2110b011051a548d1823bbeeb828657ef28982036bc401edd009e361dc9f23bfad6f7dbc90278c91363be5835eee1b6a08830bdafa459d63ac7df6e01dfc5c135cfbded48317ff16c545dd8ffe6fced2a138922229c3149d44f6a9467e65b5a787fb03e074db5b1b1d306e1eb1e370728b424491e927573ca5ab17d7a10474b4f8a65622b4a80507ed963d0069caeb1be716df5e477b192ae950c22dee4a6d30d0da0801144c45d5276a982719c89c4961c514f50ac7d91160b6baadf650e175e7682cf163b3763f7f1d92a23bab5c2ed64d2ae0d6d98846258c40269ed22cb4b85b477b441c9d8b7f8dddfa159347ce5af373c5f747118452fae3129d20707f85f18ccc6b88746abf63f69283121a28b009285ae70d4e9172c00dfb95adfdb69398b8da46d58f7d0f0824c4d158b8bbc5f309eb0db98727614e18309f96086a6eb9ae67cd472c9cc795beca017f9865326897e172985008131b376f72cf5a896ea73d54df0c07107e57dd0f09cb3de98d5b361520015ee20fa739286893ab8d521edcc25af702acf8ac97ea2a8e4d1985d9291611f3847693ba0dc51bcc4cb21ade0dc52a0b1b3e3d83bcea6e2c492663cec1a99fe8756315b28a4b8c5fa4355411ff07470c3e014e47ca28bb93001fa88c51e304254afbbb41eeb331cf59bd77d5aa5db112ce332ee69c1df22c587e22a4f734957a283929258abf248bf8d33c9507f7297239a6b266961a5384a5f4a287a34e1b4ef938c99a18df7f1f5def83c6171ff587631678b7b23282770aeaf0778be9d7ae6f94281ab7b7a1be4788e8dd5416e580864afa96fb5805ce6bb3b595e7e425c44019af082c34b152f6f63dc526f0ff6a5a7037e80990065f7f69a91c48254e69e72a3c27228597b638c03eb95c144e3b9dedf45c5999669e34771ea0c40849bcda46bf8b576cc855a2b6df057a42fc63f7db5b24a2870a4cd876645343e3af481006bf866b8c914a14bb76c5a65a484d964acc6877ac69a90aef773b194e63c5e9436431ebe6a5dbea32cef6cffe75ad15229034768940496cd8deec2b2f0c79b8d0c858816b86ef60c932fea17d09946f97d742a6d4a7b13f84a885f3f9c8b3f487c2ab69cadc54b7244ec058c889cd399d841f03ae3434bddc5693390ca4df785dd03bb0450bea95507f3b8ca02a1feccf25c6d977ef83e68c63eb165c57c9aca526344847c5a8cb695294573b171beceda8518f8541f9c71ccfaef1ccf19854c5c5501a79a36ee133511cc5f896136ca599a0c7752a5969b395137801c451c98f29ed94a894406163bc2b7bab1ef66d78fa73dcc86fa5751030ad63dac6860af589e5b12d14fa539ebeb7e0dfdca64b0ede5fead8a972ccb6fe1daec9d83eec509af9b54b1d513953b8df91620391a0a373f853ddda30fa833d1460e83add9e85162f75011378ac5c5fe9d0a230638e467ec90cdecd360d8e96823fd89f36ae73150a02ef4473eaea2f818cd3c3fe41cfbc7b4844094cc6dd25ce3dcafedb31c043b22027cebfc355a57f6fd004dfc22b872da406bdcdcbbfd940016f30634c9fadb525ef28702d7e87efffea1bc3d8d8ac366c0af354e32a81ecd8b23eb9eeb2c39722ad4f9b8fe48d66d446456d39c5ecf660fc315e8342d4c5ea08f9c5aec573e73c6de5fb3c2e310cd30385a6815efbfa07537df58a3f40d0e48c0c22bcaa933c029461fd70c79ed68828f3de437bf4721bfc58b20b8cca64d7b6ac2475e9673aa81b9e0e3259f8499cc40b1b6bcab59e1d4f7c8c96f3557446947e3f51f0e13fdf81c456d110774b63e6479b9e961ae04b27d68adf363820c63ee3afa40a8f3eea30402ecb4df8fc708c1d48e88b63f575a049d87635ed6dc001cd656ac8c099895659e6cd6b69a5b96bd635b2a731da254df8f4b458fe52c6dfbabd6df029fd46abbeb92065a390f892ac5232c6e5f6cb804b8b3d8da70b0fe738afaa86287a9d6dec9607303cb64135096a92866964e793ebd2212565143701728c9c3ce890738e0db6a1289ccbcec87c556ad706044d6849ac2407e8f2633b7d105a4eaeb7ff138f14b82ce23e7c779b7afc452c17c2431315b2cb5747e6d9a52dd2b05aa422b367efc026ae45ce1232bafdf2b32e8275f293dba4550b10c04a0b8a1ddafbc823781ea4901f6177a297298e42da9ea722a0491ae13ec734437bacaa0601dd48c8bb466c9c617035d95b3cb34cd671472a36b33155b25666f7b38a908f6a042165fcb90c2b4be61aee05758e722aa059af54be03b2d833d84cbc5915136c84c0acfc6b7ef524b1f8e42628eade4834d75baf67caadfe5c22a0f287cbede3b3122c4ee1ed65ef397d990fbb81edbdf2c741648bb2ff94ef308d7fbece32fe2be44887b29612a05334933514911490ec87e981d22dd6d8e808b7c31e0d83b9655a9b09b2862921122934229301083d53cb86a8ff874db99823a2073802a3f3af6e92dbc6d7aee18e0eb2c6d6e97b5e4c8247e47b1e35cc2af54018cf7f55d4acad98eaf470fbef20c20e96bad15fee6a42d5db490ab452be5e9ae80faaaacd7f61c620a1840f2ad105d4d62d7ccfd224a86d4ff03b8eebc42aaeaea74ecef66a5ff671331bcdfd7b8b3eb894202b7e9579446da56135d57d72e23b4496e1ab98f177faa1a4a45fd7a94281b5edd16ff69cfc1a94854a790735409a4098882ded4accb4160ab4c468915c648410cdb1eb2849634fc163455053a721fe96833c62e82db6a4fc1bffe240735bec0362c431f44514cb2aa301058bd488eecc91889e88e0ac13863b2342dc16254e17a6f241573e9a9da447b3de7cfa24808a21e06338b5eee2510a660117fd5ca8387ae97edba015233c09affbc4fd956bc4665eaf3687622951b9169f48ba25c0d13bf25812efc9ae5e0c46664248fdb911768c027473abef1dfe4da944cec1ac1770a786fe6dc909717c913351dfc1d61c8b0ad3d4cf9df1a4fe4fc12819e6ebf2fa10bdea6f1829cf2fb8cd1672e8e78cc78d81e09be3944acd95bd06b15a15a7b840550a7a850844f225ec23e5cfe97d70e19003701bba9c751d063386cc2e90c90aeb873ae9e6931a2b2830c033a93c280b1ba4aa9469dbf29e3d1f5ab830116a166d3ad7dbd0fb34961e4dca16869ce81283463f009c4357f81020a96e8fcfdf4e79868ae152a1c0fd3e4a5214eb0932438c9d1915ca0968aed769247788527fab1b54f5ae8a3eb446dfb8d3daeb6cb34af71044abe7631403efe9a31f3dff1a0d9637480fae79812f37f2d2dffdc2afb3a5941152232b4115e6ceea855ddcead1f3dea3e94eb8a16e53008b077db05c87d1f68208fdc8ce15bca077d99d5be65d818ec37c680ecedecae81c290bb625c0d395a0e91a2ddc3646458418032d855f1dd3ac4b5735896a76ebac1f5c58ce59de775078ef212f5cf3e8ef1cedefb72c4141daaaf66b850369e9c551672c2517febe3d863319ff280e00d00a48808b13b25462b6fba2d4f5b81639980e927ea2e87c315a0a77284dc2695a1fbd2007662c2b2795db041cfd35a33171c1636b112dbb153f79da5ebe31e53155a37ed79b98e7f812a31cea6e75bdbd383b2a275fda100a8ce4da1b6399226f33fdb0f26005dfdd7ad888ac76415418562690bb27be6b97b3f9fcf76980a3d8dfd7a19d5827ef21721e8b79d3769341b2e19fde362934e52c6f3efaf7dee47e8b5bdeb9f03d605c4db18800f3ff922b866fe55c75f43ba1f6a706de701f4ca0772d181b4885b07cb6347fddd2048915d6420ee99aa1eae428495bf1f3dc5bb57635e660dc0008cbe94a4a762c53b437106f1e5a22898cd48579b8d6a1ccf8a65e2421e74ed639ec4c8284fcf04092ba6b50788ae7c2571f6aece93e210d57a061453142a11699b9be644ccc9dddfa6b40423cf8d4e9d8cbbdabb9baf18ca913fb5da078146073d5f23d457268c9070b879ff86b3ddb6199da9ea891fe2b9281bd33cc1684796fabd890105a7893074ba9433eb2ff053f9267baf7d71b9504bd5e1b82b03b6b8811ba6693c046e8094f01c51f1bff12a1f4c0844ba244f32b3a9367f59601466b4b4170f1dfa8164aff531b40c56ffee47a8d9443076cde351fadc7ee09e2418e0cec3c67678405247c4004d6f56401418a16eb423fb69156128547b67106a3f6f7ce3af931d3e67d0021ce26aeba1431793352943a98caae9f4920e918657fb2e0613ef7849900fb1f7fa08985fd3b540775d5821091c52b86e532d898c556744a9e43a9ede69960c770027a29c0c7f2fd103460858a8e32deeedf1b952b472419b9c547b9b0eb2841481e88e450412e5c4a983e597ad387bb846c18d9200114604eaa7b58d93071e3a8bed16f8ca201673c9fa8b8e66eb3a7901ad1f2fb0180456b82871654abbdf32c2c295bf328071d455ceaee70d42ece95f0acf77b7f758e3b96615f58444287357e10d1e53469c30092ed5b9b509df53d162bdccbbc8295e0810f7ade8e8a1c1786e76680135bdc31fc11beb2d6269892b578ec0b52bbc98c0062b61e1342c583d7806c48487ee58a912986ddb95b48b9619e9b48e0ab48a99fe30798c1d9e8825514e30ab895b3cc045ef5b4f407b5e37b97c7a5d0e736d0a5e6a36c4360c6d1b0c619297176e0f90c6820c228bb5e823def0136ed58e4460fe5be1aedd7a298d14b4f2517b555a902ab84b482285adb78a66a11bcfd02c306cce8e094d77e9697c3f21f23ca42815081a5930796c3b20ab490e502eebfd951568a2eb2982a22e6bb39431e5b31a29c4314771a76b10790663f035a5d5f6b31eded207ce3cc591e84574fd573407ef12a19cc5932f23cd8d63a4a1e4868a02a6dde5ea8d8ab3604a45afa6e4763cb6240dc29d4935ece8a4c6462577989a217af7b24369b79fcc53da761dda61f1e3963f07ff00edc4a00d7670c1feb46e090fef49a54ddcb8a6ca6398c49d35c0470d998a7b9f77d908ef4cba84c2f10356b64233662d2c617a49546ba90b6b149f2232981efcd9834bb2d2603b7e153e65c1e5f0de242683990cd064c59eb927034a07e6c96b278b97b368958c6ebdb7eb5cd4d74247903023e31ea88b9a709fb6a4e3d83944b169c6e48ba3d39d13ce5c57f21ead7c3aa93c4191bbb7e6ec22b165f6dce95a42d48c6216fe16062b1f8ec309bba920f7bdffda1e88e15a2bfc23033a0d9feec2ba179678e289fdf9eb189f08635c3ef95c45b51218e242d179c50d66fbfa8229e2b346b36e809f2091332c4f7b274b3be053f53fd6f704604425e453727b9ef733988976e181d373368977a3fc1a1a8f6cbe22df008a8496a6e14ed302acc44f65a2c09cafd892c325c4afe1472fdf4412afe945b51f4d24c6454e1a72a2ac9baa13e650f3879cb7f1a22c76e675e5f4efa7540ded7cca3f8713a7438bd9cc25be4fd9e867db26e6e9f9cb1299eb4e7f12a2e9ec3d64e1dd2a0d90e130fcc32bb3e85e2a8bb7776d6ece24957295af2c00fcc9c6bec5e232b4f1f1913a217ae2bfa0042b8fe2410baa530094c50e32876769d2bdb3a11975884e0645fb8ef7a068e6853fd42729e97b8a0df48d21e6852c4477c933eedb3eed5adc36027805a194f1fd7ac08584f0d0e6c897f72c2ad578c26e6df7ce2390db9be99859fdab6e854263ca2ab0753f1df12e851d4e9dee479d4ef9088b6ae1abf68cf97a3c1a4165050a93595ec5bac6feeb5ca044a09b31b753c2aef773985b9bbdb2c1408b434a91c9bba6617d62e1ab6340d49d47919e430d7b0d6280855fd57001efa2498e91b1bbeea0d1f1bd832d83ebc0254a726b7a08aa01c1bc91f78f192ce35d8e7255f35f2745c9c7ba63057f4411121bb35afb49e202255b2a569b1e87e275ad5eaf81bce818dec41904ec4d8e19c14cfccea171045d79093b141a690479b285b425fb90dc7233949d3363f97eb46c05d6f758ae4969821f6979cea8267a0f382a0792a41105b9c3952f2d028396334c3e0614466b981ad519636ac38c1b71c28864f4962313bb680e63456c24c405eac64bbb786411de073b7d272a4c7e4d18d32f12dc6a07612126c2197c8107ca87da493bf957c078d37cdfe0a235452bf1035ddc0317b922fe011d5ad49da24eb2015ecd73776396d90e498704273c8fbf612ce5527e6930a7182ad31b76c825ba7f8fccde9e432118e3c9bcb9d6c5e700ed36c5d79cd994cf05cc3c89e3687c1b65b16e5c5bfe72a9250a32ae11a1357149b224c869efe0147362e39b24fe2c0c26a9d7975910fe8eed913b4689b05216924ab098a18d0d25b4464cba64711bf36123ee0151e78173b09490d1bd51085b65ccf60060deb613e7c071b0b19f733e2a57868219dc3e93eeaa005e5f0a8f4f4fa392934810ac366a5dbd50a5a8ea2bef70e2a1f0c148ebf34368ebe18f5be31ffab4b78605369d831207538dc1674a11cf458c41b72a1e7a3534f4d8a4ab74c765ef9f72e4ad8e5872339b90f4f284ef73339f0e5e5cef6be8fe3b60a2e16d90c37271abd5e4daa4f51b5c1748ed2154d9eaab29db17f916e751d3bc0ca5795095afcc4747c48d3520437e304a5fb9cb1ffd9563288708fd6b50e3cbd4101bf4d74d3a3b793ca74fb62aaabb0627239af2e604f7a931e6b99df80cc2d219b1f9e61376fa220fd2839e6594f4cacc7f511b50613958e107f40fc76d7f8ec649580f7d70029fcab925256a7da04e2937a0b8417e264b03a77d54a26fcd78ab4423931f98ae0a88a04193877bb9140ed5bc9ee86802f843265b35a7d22072af60482a51eea4944d34e2ef9c8e75481afd22b957d3ddf1a722b468031117249bcc5e3cd398e17e826296458ff4fc8543b7928ef104fc20311a7ff640d3ce151bc1cca966c2cb4892fd8727932fdc8198e80855cda434f3577fdff8256ef5f176b9ebed4fc1a44a5e85976e31af9bb4004f100defa07c3579fbc07c41342691744471e9dec1d77f077b102dd7ebe7c49e607c52027672c0ca36f56210f48fa7306546bc79544d0963e6813a1a00d50ea07797e3cfb99d788a2a405f7b4c4fabc53989dad00baf78b2530ec0d436d8d59463815fe0bb87176ca0673d27d0a66ad7648df6f347eb3bd748dc2df44406e3d40bc31fbfc20a0da8dc487963fc4ed6f666d5b448d7f14576a468b0273f6427f2bd48c59cadeaf96903301c991456bc5cb37626f6e5189eb9dfa61e93dff1d6be39d78d5a768dd8001e0a6dcfd4ebd62f240de02b769acbda4256e21eb9369b50315c358f58307d38a53cdcafabc44dff3156753e4b68e01a180aadf1f9fee28e6c913a64798a8f59ef88e1e2f476f790bade6899541a0fd5ceecfcf75dc82003b7186b60e9390bf98ac70bb83948b592d304d9f8e126a9235525fd6928e86d36721e81760ab124859c0464dfffc4e7c192d08575bd2aef499757bb7a95996252d1093b9c3782f3dd4d3643e2f6fc447edcd8a39970d0fbec0ed358975989c2b4ca0d3453d05884ff16326860129080dc2c97998e14e0d0daaffa33831af66dc91f28c44e9a90bfa437ccffebdba52d3c7228b570c1a414958da1344fa706841f583022c40950e18278508721ed74643338036f9a2e7258e7c941de9b5366fae4dea57879ff067347020c274f792e16a42ca2ad3f6e40aa6e02ad77c51f62cc2510d3af05b3939704a8ad0cfcc3f77915a7967c56360abd30556b00f839cefe8b04e8b5fa3e0c3f028bfce74340ed3503cccf12ad07f8ce23ad652a2b67e686d345c721c9be8b5080db3f0663728c38b0b2936a5be42ece587d5a6c760a68fd1f4777ce8ff9f3ab36adcedf07c07ae283666f4b20aa9d817b23200c70d854b607ed0c588aae34bc770bc419b7a691eba53c91df57f2bd06513dad22f4c0760b956525a7ac9213f65a93721e33402a69ac78a5bb866dc037eb3a22f03376d3344dc899093ac2b37b41a8780b58ff19a55a6f37da3469820752de440772ddfca035c2a9f039c75b3774c478a86c95f3fb83b9831126116bf6f9fda6cb68297d29a78a0ceb3e153fea5ce2f499ab77f0ac21a0df382b0054e0c2d76269edf9a784c6fa20c6da5f40c161f4333b7373065580b0917444966f1de6d5c8282340db3f4e532cb43743b159c4bb04e6f77d3c9ed4011605b0596fdde9f934ce44a6eded11d4fef2996e15eba860499622a3de2d7017d2cb47cae1035564fe272584518f94412e2471813f7565fe029750d19a43778ab425573f2ddbafb0c115a9255d299c004a6cb5b5633b95ce0812a2ad8a5ed57bc294c227b7d43ba5d17ff4f05c52690c427715669271f591c2ae04912b3d2aca75cf8db26a099de27f5fe723edc950ba4c36637bb94b5ce2227d3831a98685be4bf806f7182f7c5a5db6b243f94ba9d145ac3807afd20ae7b7af76b8a91432d72c308c65e233b33c466fdecc02c4ad0929df41020ee1146503b8f40cfbd26b3e0d654a1c51a095d28ec5358be3a1c93b712041128a3c0f176631d2a94e48c5978f3c66c2fdfe6e0bb7da0435b8e32ccc0839318448e34d3449e7ae24d08fa0bfee288d8c3eb6128583eedd353a799e7194deeb362cde53956d278e9186431147eb2198c8686aed5a661d1fe2401ba05117cb0c508044172346f50a1282bce1326c0f0b7bafd4ac600b5fa6275c32924dd848ec35315a20cab290495a73b0a339c120b1a49a665978e8678997caba472186ed6bcd1a7d6c17ca5359cc2af8ee1120880f354c3da073377ff96f81d8c20aa2b8ec57fbcd67dc5509693d01924617fb4f5774f22a12d913c1a4615e694f154b1bec83fed22910ee50cb2073b1c0540b58689d6613fb1bcb089dccd69119a7f549b2e68126d4f3802b287f52670ef3856dd41e1eb2b764c3bb9dd5a5d70e09116117a1e52da6e9782f8d1c7a8f4fc49d92583e0401f9715ab302c80306130e525004a79a3f939b6b098b3a5416a552ea5556cc471b6c811e5b82831ae3b2a1e7f53ac13f6d9771545291a08a45f4c77a31f1bca11bcb7f63b898735db9852ff1b0d18c181da7f78a68400f7fe13adcd5c1179c4e8fca3c5cafe98ab7e39522e1d34171ecf27d82d783bbced369b5bff55302b6932199836c2cb1d985f3e745e83486d7ed96ffe793b18a41973986b70ef1641d7c23dad6aa4efc8448c4fde85228726e5b81f09c4a19c5699f02f8a7f93504bf7c460d74790e81c8d5c3e93859b6540e77df47acbb54d4dc8a88caf09fa18edf4885b7a44646c0c42182bd5139a44d90e414d78113a5052f94f8f0f177102de5616d2c5f2b88c87a55aaead8c07906af685895117dce9fcf379d75a4f0b6341e84e1f0467b75084903b8d258ef7b258ee20d455cee4fc0b032b8772bb67e685e58534344dddf91f0ce5c9fd244b338c7cdb2021b6638aeb4e924a554b0677eaea2a5ca0b19a9926e70b6ca813fcf28105348f0da9759e806af59f1110b70f5cd52ad6a62f3e13dfef068c73af060039abf06f3d9465297e339af2747708f67885982a3b0eaf09cc1aba0a052a7ba34358300716c43cd1dc9abd358a42a6de2c2da743b07d9aa4f231bc98361a7b192812b8f0bf25200040d76ac5eb3f9f09242f782679f7a84089225443d85e316fd7c1bfbf7c29fe987171373f2e61a3547889d459f3213742ef919665163ab5c13ff10d0f46ed784867f62554e4ef14c79d492dc2e0cd1f37f0a3657b0b4763b309a6f569eb04185015513184b74b2fc5edb977f1d94718fc7d5710a69859815834cd8e946e01daaade93cdb7f52f5292dcb38d3f831b1f33f9f57aa1c73c55c5c305d0637bebf46e3bccf96b43c47ebcb4162b5e608fe49bbb3ca4221968e829d26e084b4a46d38b6f4d17b7a470345d74eb0f3af1cfa596ae624bb92a721b55ba2924221d895a1ff1e120aba5078e03082ea9c4fbe27167199f683824b0690cffeb2b563405222fe2544ed91ac576b070eb0afb94a051c510389bfa4687cd4dab0e7864382fb5cc75ad851a766ccfc03b1dcf95c00d5ad64962d239685c8cb6bbcdd07fe5ac1e96b5309379ce833a405d7a26f1744eddb4202156c66abe3a065ba6177b08301664321aea01dc3d46c1c5b53fa8fbfd739fd173082594f1f9a8508d4adee3cc1463acd3c769e3ebcc93dd795535a65db6a26e1b94695dd6a3c9c28ed9078ae869e8df7199e66bfeac7795ef301b6d668c4e9d2ed449d925fbdd7487ee199b2d08ddc047ccdb548eefd9e71a7c3fbfce2ecbb108a0e8be0c90c184c3220216d5e17b4eeeebe37cc9785246fa3b2166657919bf623a2acfbf84754d487cae12683915be450bccaf6209649ccba7dc004282ec2947799baddb6cd9a4da80c7e15f0872af048ecfa0a3779ac82c1f83977335ba1144486a3535e8d8e17f63a6e40f0ef9fe17677233ed90878872dc3a5e839c1a8c2589b76e94c1ca6c357c5d82c5177282bdc06fc8e6466e10bdc63ce0b637342e21da3725abe7bbfb3165ba1602503febf66f55f515d383317339593641f73b2098832e1c49f139d64b55c9a98befda33288c7706b26e4be9103a9b4925abd0c1b4b2f90210b2b7407020c650d0c15dfcf6efec7014473a64bfc0373bfda65e7165671c6d6a644812025ac9a897a5d8cd52d801449f9162443dc435739caf7fffec56e4135c86f4c17bc16a79e38ca0f1d55c75c1c77fbbb56951b8c8bdef4261d250d7738d5caeac1b337753eaeaad20f384007477c9eaaaa3b6a93cc93c6fb2841ae05bd23d92b2674414ac70a7ed0207c6d07ffb91806d33a786eed8ce465448c15063444210b74ea968651667f76b904d0e1849b85b971975172b476886b039c45759978c43df3e48d92477540106da64079c01fe8824bfe6f89fef3574f3ba2c1629c287957b8aea38843edc088354de855557f61215a73c21025970c798511716c3a4360baf5c59e946e2a8ec145709217144aa5a4e6fc046d643048b1be41115f7180a7c58765ad628044159317aaa9d8642108d10a8a2d7ec3edc4451c5c8c23daca37ba81a46a2e40911c900b489f451be711265fa3d244dacd548af96d8c27a67731726ae53727db3ec4d5be0678892059aa6155a3991fbf20c36ea90f8502739535233f794b4f922b1f2057cf0b41f0afc41d9e0e2a32fd9c9af6cdad1a68a613c6d3f9ebf4a611d945f297a792aa59d93498f7d921abac3f6ea8ff355b19a1b24935e1196e186f6b8bc0a278166bdbda8966315ce2266cefb9e3000b4e6f2eeab2363afab543f71cfa0ffafa76f199a8d969b2531f830014519d99b71035befee4acaf139d149e3263ac999c3a26572ca0daf648b80cd09208916cc4481a47449bdecabcbc416f3eb1ed93e6ebd48a112aa787c17b520ff61148f12f8492f9616c05ef9c2ebc398f39bbcf56bafbc45d1575d357e18151dd9ba2c8b89e56337473b273ef430a1aa0074bae5ef426dfe5a4217e58b642927656bb7fb518a5bf677ee9d75c7921cd3312d50fa102a1db54747db5caf08d5dc8cda8f5d8205d43563c87355053cd949348fdfce2283cadc2e7b3049c3352eab7b17137144c0ef43e2f444ddbfcf853ea4c1d853f7fd716e7a7748505bec499f2041eebeed4ec55438beaf3a1741215cadeb9b234b70b0a297f7a908c429cccacf2de5588bf413ecdadde385befac91ecc61aed954b0e574d9059f84f1c871ed80ac2ffa2e200953dc70b7f7f3192c090ba9317ad938bf2c2d126605cb7b477ef4a8bc39fdc3a14a3d22edad59f91f5083f783f340b89606d75e869f145741a8d9ea29cc3e1e01a0bf6974f8e3d34cb21e0d895724d60d37ec6c12eb0feb14be97b6cbdb3353ed9032e69fbc7c5a554c7d2730c1f92605416ebcfe64765061bfa11113fe6936e6666034af0facc3474a70fcf65eb45004b5a1b302ed7e19c625acd3f1bd8fa9bf28bf79d3292c2a837d7e91d4d8db076af6bc13bff0e35fd272b61046a21e9f0a6813a10c4a35ee0f7528ca93d10e18da9ab2b390b3e1dcd49bed2770c0b464aa4a9dd17e21010b059d23457908bf1842dd78162bef5e682df72d29da26bcc1b1302cfa7c19a0d97950c1bbc2ce55ab49dc35697037fc8977e1d7834ebe786ef7e358c032e70b928aa01386b123d327fb635177cb26e187e49cc67082354d9d0ef706706290532f13fb4480fac672d64bf82f80bd81a29437397a0249821388a75ed85908f516bdeb47e5d142371561c88ad40240f07696a2e7e25a6f47110b3fc37f1bd0bf6423f70f5ae1be002e9ea199b75456224897ff306484870ddb6331d983211b0ffe7b87e425f601a3dad78163340589a65c9b227f9ac7a0843ee5f9d535f3f3a37d31dcd49492f8fb135445590144034d26110c61ce7dde3d45c5ae591ebc91e0f561dc808fdd6bc012f94e7305fadee843eb45fa088f351487b56fd365277c88457206b28cb9ec069dbdbb8968121f611a8c99e1bf915d5ced0ac934cbdbeb33b6030e5dad4c68df95563ea2ef82040f7529aa0adcfa0133ac0cd300ba43102e0c59c5f54b1ac7ea04dfa9ecfbab90e49bc555330a85518e9ff8e9f0bc0a232a0cacfbeffad871e24e4a10b749fcbedad8501b3a9254f6e348b72cef6fb69fa72d7c6573bfc83b614b3b6d36ba17fb059bd11f97b07b520015b062a05e59289b15336a36ff0ec51c0632ae5082375900c0fdb64a8bf941c9d8be4988196336bb13330e5f7526446d99b702d6b4a58be5e2f72d00a71dd41451009393ce67afe86a70854f429607b0959fdb3bb1aca0ae2f789cb5049cbbb0a79ea8913fcf6e52720880ace6cc9833a688835de7c6d45922e03e31d3df2d2817ee941346fe38fb2bfa796764e7802826158d8835edcc577fb1d4a5f48ca7ddc4489a3e359f1c46d3daea70d61f534ea6bbc5ab738efb90a59d8472c97ad35f421aadc4a4cf76e1ae90c4f906d2a33d1db714be04b0e0be65843862605e763be64901c7cd8496c6365bd4271ca7c8a94166f2571c5b69b5a6d24e672eafd210eda8f77d134cccac0512e2dd8b9bc98b786fd8ed9c96755250758e5401a9f92be0ada8896645c5e468225063af0efc06fa26eccb6bd80b4c5c1a333fccc0efe4f545b8e55b3da3b7d77a61dc124be3cd68bc1fbb6901f72bffebf2987011b12f0f82d3bd365856cdd11872e5c2f11eaa2b11ba8bb6e9d528a8439cc506dfb8999e504b094b22253b7e7616efbebda201315b6bf1e0f419622378794fa2fadbbd595e8c9ca49318434829251638bb53d4861ba32370eb282db77eda626dabf78ca6b07ad1f946204b7d732890d3c8cac1eefdae1974617d1a5fe8d5b9a4a70d540583fbc7357b99bbab50d652af8b627153c7bae64dde23087a7fb6b8017edb65e3537e0dc0ebbdd5f9d6aee984c4a639a08903d4e4d4054a7aafaf7dfb3ac199183fb4eb58834fa6f6c80d02ebff7a017e39ff1baf1fdb157d7e61f0c06bebc280740accde56e6fc576075de75c8a178d77d2d128e36cba524e88967df184da505e933acdf38a1e76e9496fa453423e3149c7bc85a2714a356c00ff54969dff4b292d2d3ceafac599ecf8657e706576f00f3eaebcabaa88a9075e7ec005738831d074403dcab80340ed10ad69ecbe169e4ff47e58a79e792cca9389d58a7c1e25bebf7ff633a412a3c5386c5978f380aa727f04356ae3aba516d6acfaeecabd8bf3f5c51148c34a31e041659f22c2504986c8a4fd31bf2c89ff1446b864db8c5a0acbc9cd5e901ce235c1d0e79d7f0fc7fddfc2510421ffb48130c64e7af72ca69914d7cdde63216b2feccb707f3bdeb2864d5988ab7608d348c997a5dbfc2ea2bb03dc70cf45f7e0b309f3cd7da95e36b836b25cb422d865357e2aea5c63cfebaf01e43af708cedd88ee9b2d4a6b2ff015b65b55c1d29f88f56160ba20a4ad2ddb60ffa1da24063c43dfa547b4b08bce83656da9e33544ac19031329a7f2972c57ea51027a0f951a4fa4e8f361b719c1c97fcc5f4db223cdb769a04163dc14b6ccd5259803926f677c46deb19b1345dfbfbd4e7d8c194a2a1971e1b7f335e423c432629501be34ce0b18a9692f496b5bb68b776abcb1f800968524d566865069649ac363e2727b688c6af8a84ce65f716f226262d22ee88327a9bc7f3a9f4e04d50fd452ab81503993601c9cc1a0cd85fa5c1a1b65fb37e9d89b185aa0f6d1f24e1d7080408431b34f4262e8400365baeb71b6aca30ca751470111a3ffe0fe2f3f8528a8139c58d603d296a8c0df61373c5b19aea00e6785b3d9009b64a2a119207e1346670fe020fb32c6cf6fc761e429871747799fbac7f5fd864a43a8bfe02eccf5708b0620a862d48055be944ab97b0279ffbc49af74f3cd68de2c3fa2cb241cfc42c6269fb30451ef4c6e2b654eb5298c25425e56921025363fe47be951ae23075c50bf12ef3df74454512751748b094224bd57a08938fb79cb36639f2fda3b26006d4d91164645e5038c19cb83776f31ef490b08c49f0e3ca11a05a59b73eb1cfac53fe8a70dc45ac7f202d7c2b9d11967a028ea143e49aaa3d2d5580fe72d82bb5135f5d1cd31d0c495dc38f643825202a8e753573a3d9033207a91bb824d502c7a56bb1a90579b07b378cc15e1c13c4f56c9b8101cf4984ee025cc1180656283cf4f9977920529dabbd024bcd46d86a4344cee30ce3223809a0325f06dcbc743c4491ce1fe55be40e7858033b2a6b81def30754a0cd329bdbac1a9ea2b7912c0545fc98d02025d153fef90a10d2c1f2f37a8d6a903c76cf93bb98965e6b2a02bdb1f3cb1574f2c9f21d480faecdada3363a9b5602542f2958ba7ae72956f4da3e1805412c95b615ddfed5406ef44b9cc9d8b65ee3d9670c5a3e1de6d9598563f9e581d47834f647144df0db9954b808d997a028e94d782b69a7c4e5fd026735784728b019e594c43f2ebcc939f5f6452b49f6d6fc6f696dbafa2b4ac44ac7afc8aa21bade7a5610ec14d1486da899081a046406fde9b48af0cac65d4316015cf41918ad2c643c09669f1a883bc5bbe4b3fb165e90f6158a1749bd2e588bb5e5aedd2959b7ff1c82471fe7bfe0dd754ad92c4be3e4787f6d349438a62827abbd1d839e442e0cc2ddcb46a00fdd0a8bc485a3c8ea48a2e00bbdcc8e8d6d1e44cd2ebe5933495edad09bcd60bf3b279412bd565739afe56dbc0b4295725286a030ffbadbaf8651122f416a7fa38e71e105ac77fdfe52fbedff8dfbadfa1ab6734ae489d918b7bd25423532ec377c31da22abf79507b923ce1f0c3de19fb6bcf8b8c5b1ff3f1b9d6b5ab4a856ea9b17030324f1a449593d3aed19e0de8d4939326aa93a7b40023d260fc630ba09ca1386defbe85da17f03587af04529d852215fade7288b3a966382df021f8f6bf0cd126f2120cacee7d16812db40aff341696ea32a12ecf67a62b1d5d615d100a35493e25cbacd596f9a1c0715cf72f2f3521d034c08e278784c5d0cd4c9d99c1761590e512680993ef178745f677c37900c56aa88bdbb142e02f05123d1c1eea3e5081e72e2fca2d6abd1ac5a55a4b2ced41005b73de268d919c1475f7a986186debd9d00a3a393339e7e0fc3098e208a3b2c5b56fae7b14125251e16bd1e5ef206ad034c6051fcda5f50c29e7076b5de9576c1214fd6c77201662c6b6373bc846178f3c157f7be49e2efadb4403810c3e13dbefc6315655b1d05a445f146d120de835bd938372ae6706143fad2d787a2ea1994f0bb50e64d2c6f6623e19d25f1de2fa4e8861066ab8560ca98a8ea13ffe44382b45195f5745abb16500df98cc99555157b4f1851abe17c921a819585b7b53309bcac84e64d0abf546970315047afc6167b14f0903ef49ad571ba03a4630bb1a027ee65cb6553a19e912f1e825d86cb3d832754d71300a6caace26f27978a8cd835c234fc0af99e67b3fea604bbb557e4447cd5ac7856e71065093143f490be60f2d0658e9dc1dda923d171c2040120769854a624bc45911e24fecb75bbd3a4090a64cb4ade0f5f17d6bae2a4780bc3b3f737780c236e46541826068bd828e0c534a971bc1d849bcf3ea4385771f15c56dd7124b1a491f1a8c56cecd4e2d67975bc5f1c95c23fd47a181edfea0bd9d41064641102cce218d7d37d640efa6f8d10f2e789b688e3d2c6f9bbf97027f6e6bca23b2eb845b2d8dee5f3cfa7339f685b7e2e9293e6946be7318b022632f4923c42090503ba0c4f09b6bc88df70ab7bc1a7e8023842417c9717c6ff8ba47c2e7ebd83f4ee86dac0bb31e0e9b8838f2ef91ddcace2a74f36c6c3f070fa6eb32c06934e5549f527f95aad63ec92173e1fc671f6ae98d246d358df45ddcd4a12cc61834407d81acb93b2a8a2183fee7e8f6248b0088238344ca8795a403a2241554a12a439aa9638c7170ab75c085b1899499caf7a8bf071eb85bcf49492944b2f2a0a79d22b23f5fdf744678870063d58a24fefcf0a6165c4089bb20f79dceb003997bfba505354bbbf2c5d72691dcf96e587cc818f7aa05d558472b80e764033752a29ba2c1f23c906973952cdd9ab5eb745d0de0d7712e1662198f81f3a786a4a3cc1826eac8a32a4f08b1106ce33adcc201900c73110bb27e718cede5b3a1c04c74a0c6a48b1e62e587aeddd04dfff65ca03f334e9cbaf5ef39391d39fbdf21a813b92d537fdbe893df1ada1dbb8a969a61733f4c425abca6ae0b4d60932a927757808238045b1e4c92f794810cc8dadcf0b84a9e1947a42a15294a7ddbba9aacbee7fb0c333698b6a5d762ef1117626d80042483b33f3cf2fedcb892698aa2a60642fa23d66c7a7de9e4a79587d94c049d607975d646118ac18300887cd322954eb0734bc0dd07f82000f289b0e016c99d08a84cb959ad995da023bd36bffea7e200367d54eeff562c95a1ae62c770d1f19954c9231160cf8513759b1eade959da5ce9256ef44209dfd09dad1e3018386260083039488fbd709b28b2853c3f6c42d506ce3caa786212a1a0d449e6486d477b026f509f0e45e750f065a94ec6c68042da2bbf2ea0aa8122410e13abdbb4a38e55016a112b8a17949f36401d67462ac0db833d6b5125b168b341bab723b3e8ebaa777badbbbaa3be3221efcced4371ba1652ea7c30aac4ac43db99d0ff1b28bd6a9c27fe4487f651a198c9a6ab0fe325db803a66732b14e2038f83bef28176ecf056ffe29d8436ff0f806fc66d6bb20cd3ce09b7fd934d5c7026258e6d2ead11930e41b407214d52622ae9b13373a3f7d558cca185821492ff536bbf4a49f64d0c20c978d5ddb7c97f15e7e6fcf05ee1c14d90bfbdabeda272f8696f9ac9fe8d1ed1378ca1b8c603a11610024ce6dc0415e949d64a046b6c5ac86e76c3831a99018f533817f2649510050dc5fac7999993ff4a34ca296073d54cb57c78efaf51371275f94f1e2e89411e304d72a20d7b24dab8d81c7db24168e5c35d27daf36ff1031346daf534cf1ea1c530ee0549ce252292eb8d87a6f3daf6b900fe8f877bb2dd5898d36f8af03b6c148ed142a0d2c540c46f9ba633557df7d70f73428df8b5aa6892886b2e747924f4a919305bd1c2da634f411580f77359a719e80e6be429a5e65798ef05bef08e540352501d6838f7a2109671a1cec2b0067477eac20a8eb7eb59df773b0cd290f4010442cfe675a923d4ececd0294fa8e76d289e4fdf142fe1dc544a3275132ceff9bf892281552bacd5b8e0a111fd4303ac922482aa15f1172f57dcd63de6e13176c322e95bde7a08c252dc990451c9e72851bf925e1a4ef4fe3571b0afea73e400eb490dc48b38b10d9c2046d601c440e82f394fea1d39857a9a93b4188125868d027c5cae858bded9583eab6253e22a03de2e36ff14301dea9637dbe61b30cedfe0c307770211a7c31de49d292edc22cf330de10daf59666e76b94c8a0ef749574de748000fbd4e5115f72153356bbca90bd5b6bf789d9c5e7ddf3dcf9720b6e1d6b6496a5073ad857115afa43ccf90db6fcd131af7d18943236fe2ece02d40b6f072f12f0473dd766c38ae0212f9295157fcee9bb92acc4558e168551ed7c877176e7d430648a2c3fbf86ec4845cd5e290e6fff2ca66ddef8b352d782f7885e0e6a874d83342722bc543cde9ee1edb4b6154748fb4f87084a7307c608278d355e27095b8c5742be68142dffa8b583423b7164bb53f172b97b90bdadafdad0d96f4e9d1242970a01c5e7ff9422a7faffbef0eaaf0e8f391b997c086f2aec9b0f1328475ca2aafdee5e3da8b9fc85081054ad16d4621d0a43c6fd54dbf6b0fa76835b4a46c675c1cc4a5bceb5015f29f2f7f44c5c50153aaecae78ac29fd3ceb187b6de800ab63904a704da7c00a96ead17241a95d14405bcf7bf53fd5998b2b411b258b7578ab258b47e6b42258b514b79972e91ee2db894d49b9f0a31505edbc0fa78b9aa07b4be4bca96f7f3a88b527264eb600ddfc4b01edece815bba6854e6cdbf084ae8d63cd974ea71e3a7e40c0e99486a7d9a660a73b9fea694418e1e2f9c3838982ea3eb11aa97ddb2298f80e5830a8eb1e5902ecaeeb7b6670f984a7397f463006ad45bf564c90789c0dbc70b2477d688c0dcf3c0871207b3a94246e56ee001466d17010d6181d492a4877ceaf10cac6d253b980c61764581c88d925b99aa3675f6f5fda444deae5cce3cdb686c1cd6fb2d4f15f9da4823ae720f082afac0ba1168dc1f96626e66a647b656682c1d4d93da3a34e047ce6a64a7156b92c80f9c844c3ebce97efebf0be003fcc2ee221a33b5720d852b85b1a38dd2d140ce53c83d186471e2220056c121fa54fcb48f86ef4ed3d814c5b4ae77375f47b3396ada4c952d911a12613ffc38f93ef7bb07c1276aed532f894a76796bbaecacb2e3866944e614b5982b50bdc03beb612b7daa3e930b610b16fb1c5f5ad3bb95fb899c5eb68397e7d2d020462cd17c68374b9c45fe776f2a6c278cea8329be232e3ec1d29043d52348bcf4af0275029c3a7a46bec133400832aec5256b4e2c43c78859cea7db245bf660114803bf0fde1489589b79be7a6673b540c531ff57d5a5434eca3e62abad5585dc527a736b4755db819eeb7f00d173bda2c2567281a9bce9d950b147fd1d6e28b19ceb07611c149e13b6780d14640ec7e8faeedc478e081cf3dcb27f3d5e523ad9d0033accbc0b319fbe7a88f10a5ffc9c494dc9efc2c850b458f2f2c1e279e6654a503837dc6e8fb2fb5d2f6dc40e811ede5d99b0eb6a8cec1a942b2e63fe75a99941eb6e041118d97741860077ed0748ef9f734150d7d7301a0179931f7d78ac01c34fddfbb7c73687a55cc75aa3ab7048f8081f6e4f53998d0dfde015cc5c7dc6dc3c215bb9bb261af6395658a19e00f0a5457194dcd1146ed25b15188e4869ddbea1fb86f6f46172619ec36df3c17ab6d12248ceccd63df156eea253cf3f710d7a823f4e7e0476bac69d9d58b830ae1e8729c766a40b13ca59720b1a3ceb86ce56fdd92b9aa940a6f5fecbdb4e9d495fdce156c68aef1e3601e7550535c43f46dfdfad7e24cbaae32deae3b89b377a7c018073f0e5658f4ecd0780acd5ea433e2985fbf1dc726341e4a5cb4598f1f68761daac5be337004d1b755dd0790f1bed8b3545825c7292bb3d0bc3c5f7868103e63bcea7c44afd826087da2ba073dea2b3eb6e4bf36a2c68655756a18dd4bb13483cba570ca18211b469092b5cdd02a8fade3cebc4892930fd02027e26515f03735d91f3a284f893edf2463f2f8893201e5aee688b8dcfa0c080261f26c8fcd3a1f85eb7926e2bde6f484f883d219c1e18724505a3713a8008bf7f96220d8f3bc400cf70c65f26d6be860ba6673d403feaaa6369a19d543551a8e153e94518e8a72f6cc9282b66c812c02c37878c05b076e937c2756ab463e2f50c2f48e7dfc02633bf07365fa771fad8e8ff2957f3c96631ea12289bce4208d1820988fde27fce89a83db3580bf09473ceb75f4a71b2130fc54359b89cde460e68e4a543cc4aeff183d46cb1facfd11f9c3e1e390e95881ab77446efc97fd6d41a80d8a5588f5791da7d724d7fd2088ef277141d425da14c13b2960c9f9288290573ae9ee27dc50fdde43c9c3af1a6183ef7867637e92067f2de775e3e83ee5fdd3d2915687ef3f916b530ebc6abb611d9c006701b4b3ca2112d9f3a6fefa8b9cf39fb911b1fcee980a91dac97efa4479c0ec9f6d3416ced08ba241ea14a2e053c80c483c62095ef5a933df4fdea580d4cdbf55afc50cf54d32f7642c2f165e98f6e46097f4a2070533621e3eba19f31c2547a0e34bbfcd9052b7baa5b619bd449a15183e79801999c667fff11199fb81662ad46397f68d97bb04fa92de4051d6740f1625cd7cbddfd8b8caa508370f0a47ff61c62d0b8e07ca16848241804887e544d15ee33722e77023f7b0b3db1b9319cd620cf558a4fc5ed9a1f0eb57b26f6fec6bce55ff459b0c719a5273cb983914f688d71a36a3cb38ded26843de3c81ce9eaf98403170a60e42681ff0473deceac4f1baed1084e8e3e8136bc20dbb5f6755adee2210622df785291941898ee1eba4ec52300714d80fc67bd4efc98286da50e37e771a0dae9f2d9bd47a5c6ab3514afbf32977bce8a36e42b0fd44b9b527be4fe5a50c962cb5723fc05416d62a1a2c31e80dcfd335cfcda3bb88294a447b862174fc73a474c5ca57fd334a49c343d0cbf82a4b16a0fda4ffbe0eb62ce990edbdb850f9530554a4ac8802e2616e35bfe26f77a3f8272fe41aea2c60eb3aa617e820d1c75a255ff4619ebc7c4e8a5b62e7961ffb5a8fc4ac19828b7ab5238b1e75c92d41461d159c1a6d40807bf5c41e5f64f4e2f90ec55490a09e9fd7b496df71006c156540b534315ac87729b0e8c8bb31b1089ec323037a9860b6fb60b6abb2055b7ea8cac809cf0c12e3332e3c5e4ad3da9f1f0e08902a61fe5bde91ab7d9410d428139d63776db548fd54fe4b7f8a39ce79f8d9e469926675448458f9e525a5f2efd2b6cc823c7eec24102cf0e7a2f6552e48f85ea6510967d799f0a900f21cf90c7aa7d901f1faa477600698b55ed39dc6fe843a07da41725eb94cf70bc433f672763b13592fb546dc18d7f427c296b40155ae3c7ca26ed041e154418aaedacbad60625ad3d2c922502957831b9bc973ea744065f9b9dad114de9e26299497659fc5c2082bb8bc0cafcaa2bda6dc9b64b2a30100242b1a529df6738d779ca5f7a249890e6bc18f80285ce6b8b548c32018fe767d666d371a681bcfd1026f6c915cb3005a508484ff20687cd263bf7fd66f94f8b98f710427b878858a28ed80d23ddf7836bbf43aaac823c4304d4cfd959fce7fb7e72a601283f1cab471d98b7eb5b389565a3b91cd530fb704c8ee961a2ae3a14c4f940315e174a3f2336d55579b3bbb1caa0439c609d289d198f9a14ae2271de693197cc6b7acd466c5b7beed1563c27b8d75e7cee4d68512e83b0072c07d88949741df1a2e8224fcdd78759db1c6d5c90a266855a2ae7e5906a77ae0beb4eaefbb17813aa2f9c10204ffc3f3391635af41d57d333bfdfb5ff914feaf1553eaed57724766967b68e60911d24a2094c4e21c4dd1b530ea0de4f3119d53f97ca1684c13aeb0bd66be29e714c6bb20be7e3dad6fc9767576a7b8d5239895229c914297007dc397f9f3c1be2103795528ef6d43c9ffa9265ef747e8ce012e9f364aa56ccad82bc3b173245a1a45c56b0fe8ac71d25f51f93582bda518a956d870785423f2fbb29e83736464304bae3dd991e2a63311cb13e9d6ec2ccd7e97567640d49ddc3ee988e71bebaabcf61ba30d625700a86c9f8222717a5820b5ad58807b9ed56ae7abd057ff49895d7adc97a6922a9a4d0f68a4bcbdbc91290c00407f374e46112c9b7fd375b75723e17ce45e9fdf0a9976ddb793a1881ceee075136694037bc6667332dddb20a182ef4cd3208de0161d6cbf80cafb2e96538b68e23b4856ecbaf2c85ed5143e6f4043de87586180d434f0a0582921aa8b96e5595548d21875e329ef8dc11864efa99d9c1d9b62429d7b6793443b96fac0a4a943a4833d92a7878165765f50983005c3c4df2b1f19c97379343e425b60fd110b5e5a10c73d115a1ff312f31420d53cfb1e764c614e3e0d9e74970f8b69a27c9030791e54281d015eabcf022772e110b36e6a4a515c395190fa387823011cbed2bea6b2de73d4789fc1a08992a87dd2c82160e9da4ea85cb95fb4dcd7f3310ec184a9e028b093b8e70d75f484c89792e8d772aea35e4b2b7d7f018b014a3bf2308785b398fb937d3396c4a5f2d5f96692b498af9e4958c4ec82e0bc500d681e5ea2daf865ea4470a4ce5e5048745c963f09f4a421a4785e5da2d6b9baa87ac97630fd9d8a9a6dd841300af400c91ab26612699a249037407e643a66307c8539d7ccc8017c7c77d565aedee19d2eaeb516f3b2120a9e4f474b210beddf9bdf166255d6af05baaaafaf05fd8429f8ae75a93606d685d93f3b47fa21f847fefefa4d879b3f24ba12a0a52525b98dbcb6dd7f58453b454196337a6883b499677b7d905bc0c48a8543da7ccdfc4b8d1b008b4cfe7e34a2e9df5fc4f49884252a8878ee7ee47f65a7b56fcfee7fab86fcac9f995726bfa5f11ee17744a0e11f6a6aab98fd36e99e401c99f144d4d7e5e7ab51e5ffd7e4112e5fc9b89bd6fb42ee7e21eafb3b7c9629f54b2915af2554f49d65e2385dc57d2b93fa2526ee5a4bed1f15dc68d627fa50dccc03660d520f3c8d6cb7d9e06352ef91b6df250ec97e5d0b864990b90378b00bc8af518fbc8702f1a2646dc450644d0fc132d5d19b93e631e5fc0e0d106afac07ea0bf7f5fbef858f3a7ab3cef0b8a674066f48505b4e9c15b9b6997bd49ce789256389670dcfe506740daf4cdb13bdaafbd32e1b185c42d59169ea7b7cd3beccadaaed16056eaa736debe26c823a0e1f105d083f0c4ae69730b89adc8ee9f1b96322727f5c53c6f63d143c314147e7aacdc0f7cf3a1cebc751ef58fe925d320598f6ef5e811a401f90c8c3da52e9c479e15af5c2acf34afb95db77d573cacea57aeef767619b3ec40ffd279e5bc80bc32a30be8dc43cd6b7683f921b7eefeead3f47f10291015e680275b9d71887a0edeec77d9a4a76941ba5317f55dadc353c239fe5295cbb158045d7d9e1dbdc9f2d7fb4863a46afaa133643b15ce6bde63769bf64d3e3508459439aa6ce5fbcf15a02a8594b51ee347f73ef8d4eba855211408c872be25ab83f25a2428135f2102129e1ade1e1f474bb605e469bef475220aede7f49659b5423dda19f5efff2bd579dd9527f21b31fc446d048f54b6edc54689c2ab15b85b6196638d39bcd68a10b4c8daa2a085c2286f24c6822463ec92135e3be9289be82802a9f3fa8df49be3c0eb6504cfe1d68d7accb221312d669adaa47f085ec9f43b83a699ca7efb9740ccbb1b9337b4d722c56346a99fa26c02533fff0abae7ad638a745954c88f0f95243628e42a8351de366a36f9ee9999c6b02ea83d8f64dd8156021ed320d3e8f5841e13b204ec9cee4116b319a616c70da2739618c04254d64069f1ed687b56fdfda63523ddf6d1e13b6f427d99cb0685561eee3322792e22f93cc59bead01592f01e1ad46caf881d6a2aa832aa3f226e93fa20eb125a2edd88cda3104d56da97653414489dbddfcaa4ed59ab68210e7c31a767389cdf103c3412c8b073eb55f2544c4e9fea182fafb40d469c788fa48cd7a03195214087f1c2737bc1b391ae6b8b9a89fa929fea05c7d194a607c5f28ca41c7a04491dd98f0392bfa850693e25998a8fba64bff01b79602198c85b029cf63d4ea5510fb660966ba50fa1cf27ee27ede23dab8086be2ca94d284b72357273065c53c8603d38f0f47ea3bf8331bb972aa0c749f8678f20f228f821b38de810437c96bd320ba8df160c1940c2425db947243b52ae214b281cdf5b840078ca1f4a5291e0d5a3a968bf987c3b3218c6c9493205fbfb2866b1ae30853be07f4695e6bfa5d4f1deb3d71176a1d96add8b77761b86cc7ef9c2e22e889ccb17e32ea3b085bdfe5841cbdec02439903ba0e8c4289ec1e960652f4ba14f6abeb4e998bee8c7ef176b1c025e3d84dbbfaa5237af05726ce7862fbbe810d008e7e5ba15c08ecb63a1c42db6ee45e03bf50d3b69b5c42e5c345806a824224f19c5825ac6589b71f1365b62cfb844945d603c01d2b04075a51c9264fca30525bd33a1b9eeb0668c0321de347243a0e3c8d14ce3ed6eabbaa47de1e7ff42252d5eb71ad1a0946dcfeb726c6370d79bd207543dbb22a60a36fa4ad6b683fec9520d1d55014842a8cb53beee4f76030b7822d5965d7a061c118edc5ff091f74d3e88b83611c3cdea7834394cb6ea1245a5107dcd4e22a2b76777e226ccb135f32799027ec96adfefe0255c2339611c7d5f931debe319ec861d571aebe4c34782188c593820d2e0ac8b274fcb8219d327ffd001baee2e10153b70a45d188e1e9cbd73b7cc370c29de4cbf62798cd0499286d093cbb1e1feb471ff94b7f35c4f7ab5eced3ec74fcfaa77b6db993a0fcea3a568ba1de62263f534e96df4f6bd91e78cd06da7557f949ff7fceccf01f3a8cddb50b87342d9b8dd5c9dbb6abace9efe3b77567b34f83fdab4e0261de56c7897a67e83141385e7e6547852bc1294622919e380892be8715eed6bdc79ef68c525f37d11b6a5f9cc8024ee10a27d1fa2224a24561b1ebefffa3eb99365c5cb94c02d753c2d9e92f0df97ff63a20745fa6901f5fc481efbc7059254423b4670f4d291bcd47817daf7c3d13a7dcb2df21cce45f4a1b28fb42232d26c38b204cf144aedd2afd6fa8a8dedc5f762fff68ac78ec539c26a7989cfb4fea3d908774e0f6760dbaccbddb106bf680613ab11883962119b1eba9349b19874c94e48f8d76ec7d7d922cf8709484fd8c748d7be9a9b0749d895315219f489c5676b3827f56279c74421b5be089f68af54bd20e3e6ceb76bfbdea53ea3b4a9d35cebd75e7981aab823795bb373c75c66fc098ce4ea3b0d4f5b59ac436ef3a54c4bb7ff14222a61b254a8704408944cae340f78d817ec39e25e9c6a484cd704b72a780fbcbaf14fc8ae8bd62c62656c1033136121ef76371be8255720707f60938bc0a42573ace728b4b4f8f9bd56c47f9030d30ba580984bacbbd94056f45d386a615c6a1f66ebfb9fc253d3f2a4bf8cd620eb400c0d8a268ad72bc97b91f7fffbcfeb4a5ab87569207f95f671ab442aafdeea54138e8d808c3461fbdb2231d31efa333cfb4467d17536221c0f6d50f88b32bb66ec7e85e2a158ca5c3974407b2f928bde6e1f005c5eb8b930978db847ac3905622b37391169bb6fe58256fc207af821bc7c36d6d1a749e58a5d2de2725095cefe841b982484f5b7122622449200c81f85a866194f4de69b285d3db25de44171db698ef09aaa2c2cc7459dc8a4bacd7b98ce990d3857b1595f303aaaf65e0e1ef2ccf08c2bf3333c0ec9708bf8e763ec20b596bf82c2ca1bef138edd7247ea01769c8eb093edabd87be9e9853173853238894bc160a73a491218ebb8e9cec209683cfb373c1a20bedbc5e39d18214017d8496d3c5b5d61d9775ff4bdfd8d58ff65317e0b91d748178a040fcbec52532344ed9245479a2c4da455e9a29457a743af0865ea9fa20331be085a8b9450a1cc57634cf5ebfbebd0c9bf6929e8877f13e5bb2751e37148841c139bc93cbc7bddf9aadc483c833befe29b8fe09c3b68bea72eda926298ac7478c84985e268af8aa799952630e8b621f45a5cd14c896a5045addccee002f54c0c5e3c7943a2799f7e65349e3c5b8a02844a3201ef0d7c301fb7d295bd8dd0956ab249faa080802fff09f26436f490b172660e4c2e04deecd57acfa7501c139c23f4b5f6dee765127afee27d351a6c2cdda4317ba80565fe63da5ce16c20baf15b96e44585504335fed2dad0fc9be5342175c3e7bdb913b72d17c1ec744f3241ac0c7eadeb660bf7ddf91c2d29140595d050e27b5942fde2a251c6bbbaedd1dc0f5570c521d64e34f977606ff5da55320577994b0134afaea554595d58dfccb0fed945595a67865c5708e9e6f3939df9924b05e57d698e7df69598c5f06935b85a75a730cb0c87a321b692bcb6c7ee17ce1c72dec7f4b32a379a7ffad11ebec2bd1b3fb1668fd34a2ee73aa3dbccd8db5f2c0c9f5803f05ff2f125c84c91aa7937bfa42f6f06b1b746ea8c8816d85f006e4260205ccfed2f2a2e3cecf6e2037ac55648e1b1c4697ad383f857d802456a5cae68e6a159b0b38c58c62467108e0a77061700dfe9670a133b9bb67448d79f9dd894cbdc1354c9978d86e452a5ca79e4a1b9bf4156bd0c4a20ec1065ee1cdebdfaad66fba3b98c4026072e16e210f2dc4b2410f8d5752df8c87730fdc2e8235e5d540db8d2ad9648619b87630719ee72ace7c24b3d88437bee0186e4d3066abc8477b3b08d6717f3971efc7084a5ff373c9072cc3882cd067e7aec1aa683d5ec0aeb9f3696c2b1cf6b675ea6125e7140f41936acae51a0e731d588b3b8a8cc36b906283b7667d1d9521d3781aacf61e9e96e1b0043c13640af04493cbea8f6624ffef2350aaf5ee3a00cbfba4f3a1f7c9daa6dd80441044940af922d26b59d4c1317970a99baee91c9a30c85e460eb4a7d973db0aed4d6ba4ffc488453c2829ca5ed45796d3da34eb682c551a7868af640ffc0a4333560f108ed026fcf2a399ddcc5f5dc2852cc8085837bceb615b0cca60855d3ab6bf5dec3b0e028a491bbefbc2c87f532ddd6ae0f6725ad78cce334d47a63eaa30b5b7c8f7668c40c400dbdc5786f700f2faa8b8fc31a8c65ffdc25b9cf421dbaf9bc649a0bb2a2a8a0dbe1967b77cdbb384cf05cd4ae660d53eb045bed3a8d8d35999c674d0ce0413c7d090b2bc79c166026c127b112e0505974603b0f5423e05d0b66be0226c0bcae19b420c1b3a5728250e35b8983854833dcb9233b649ab92bb4461b26a61ff4228720f29810f7071fff102b30935c065d240e7925670e9ccf67eaf3493855d447760562eb83b4c3e9dcbbd8fd27280bc062331e1b87c13c9d182b52137679baea28584d27c6a9d35f68088a9468c9d2d1515cd4954de69cf3980699851cffff43eeaa1629ee1d453ac429f451332e078f6af586034dd57f316a969fb4ee27df07e7502d82989db305ab6d42f3573df5af01b7f83870c3bb6c3d14284cae5eac03229d51403fb39349310fcd01f118d094175b055e499812ee985a073ea12ba2c921aa5bfc7ab5f30ef421e892bea0d41a621fc2106f948aad45e19b1419f5b4e60ffab1fa67c6f9ae07041575f1bff8a5a828a88529766dd6cb8a985606df6088a221786a8acfce48597b4a8f02a12118dd0d0f766162adf030c230859dc1d8d4fdda6713dfd2a7cf94bd3e72f6c605cdf15a5937f39c59473815e948cd7aa390cfa985cb53944fc5732938de4324cd5477f186684f81950de4828434c29f3c33100d14d20d7b1d4a3a7541c3eed5e64f4ec298cab421397f6ce386b0024249f64f8213496d79d524a41c8050500ef0b71fd0aded14a0e8d6d9e343c8087a1d94a007ab041724de9d1bac6cf150fb31da6480c65e51b31c57c97f3b3ae34b840a7d8531b8e6d72d6fe6b30092b9ae79dd372b81bcb2027a926c1eee5f7941aacd7075bb3f08525e2da99737ae82dc0ae481d2cefe5eb293a689038dacf648d74a90fc4c05dd12e128fb1116f0677d5535cda681a8e34b7a6533d7b21a154e2b216c2b2380437c0a3eddd8b8734bdc19acf2aacd46eba0cd002ed9f041f3c2a33f4e8ae2d88b42a3a6760f68e5e45ba07ed90f09c1a66bc085d1546c6dd1bcb173ff9ea9444dc0459fc4de9a3b56293a6b8b3f9d5c6959fc2267ab4189a53994c2bf7833d51e386ab1ce34882d6900e82505110f6b413fadde9fb452ac6e7bc7124af1282220de8a04b7a4d3af62dc4fb5b2f43283a73f41e2c397531585a63afd61f3485890266c2d5d8a9fa840d4f9cdcf0cb1232471067f702ed6a2be3d369e2a1bac5427004e3b07519559d4d511b0a0c86f00eb4609b8e3aa11539c8578cf212f3733bca56bfb1697a06f72f419595d27f290567db648c58eba3deeb4bdefbb263e881eb97c0e04071c49b7fa70106f054cafd2ce0c4e5e7930590ccf8c98e44b481ee7dd2228ef2abd7ada6d403e18c06b3d92ec788bd051b6182a131a0b6a9576bbc057c4d63e87ce7ecf90fcafe40d353ee68dc0b9e7396b3f2a071c6f622f505f5f47d9526655e21fda3beaea7c60cc6ffb4c9fdf0b6c3a0b4cb6a72fe971a8828049775e58ef856e758236a5fd48bf81a3bbc9758c4a5a58e76532f3bdc1a35e9b7ea3b905ba8facd56c3382fc268610fa52655db3837984cb505f4741770e7d54c5b5c464f2c2906adf62e4c587b4385a744b4dda8c3c43d896a745895100f7b9146993a127e4619f69fbc6ec42b67f36838db80307a4809dff52f3c592788c660c20c6248be7124b7315bb8da8959c0372fed2e38b30bf763e1368f57b6a4f93ef6c36234d22c750d68cd6119db357f922ca75922fad54658a6ae382c3bbff4fd0b1ebcdb44635ac055fc8265b920732b8cbdd2425a0e58389b8b9cafd7fbfc5eefaba9850de02a11e7b1d1034862b3c4950cd660aa77a6dde19e644cceb4e446f5bbc3a9a21c7f9af348d2a876894529dcd34c4e8aea1593b49b79c5557e53474d9085b8b23a66b86a9eb7133afa8ce7b82a9b0f68ce6b8b1c5aed1f9131373a727fecf4ef3c08351b78cf9b489d345c87ec7433c01dc26743fb34992437e95ef4c8c961b1e933a87754f95a02afc1a29d3bacd8401f45928047043193d966e54549f8e3025766cbe21399ade9e660c5c78d422fe3d4b7821dacde241dacdc5ad2dc637e63be36516cf24aad9e27d51042dcb721de53fb6b0c6687bee1d055efabd23604a7f4b245fac2779eda9dc9f51f00f2f0efc37a1c3bd11e94fa3d7a19f02f629a0d38c465038f73f12d0a2b6e0983b8ddfefa11658e7dbeb2b440bc58234e60d3c217aa078cfa021b50099467e67c75dae0b2ed2f8fd1ef47641db3e9c4247716b0137855e1d8bd23428109d696d39271c0988b972744aa2f1413a478c1b49f7991916f4833d2cadf15c00dbca4806a13b94ba2ad1ca21ed35cf0543c8ffd1f6b2b6d232f8232937edd11a868a23345d0705da53137c279df93dcdf2c1a82199ab040873c813c6437cfa5ec548fcb9fe7d6714a7f085ce2bbfbdb382ad1b4bb82c0939d1c0fa30459b2b3f5d5db3af7fc4361a6a55d82858f8bd0c2c7ba2f229f2cc9f1846f638ae6cd8bc2dd6a6c011c52d4040bd63b34603d384793c479fab5e15031876a7d0b5d3cef05d74bb7afc36d97c4c44517e71079423a322641bcd68706a0ad3807a0677c003cc0fa3e6a9690b96e931a8836d2fe685d23c1402821f611770b28fde671125a43d541e320224693290ea590a11c9c20ee1847cf75a04ed5cee7e880f5295231722a75db0c73065ab9af0abe8170a4ab7f1339527e5a78261ac321651869710438ae2c18d014e7431f8ae3f4e59fe96a4dd06659801e2d82e0cb9d950d1a5a9f4f550ee09b48dc97fd1ffbe673efec379e14d2468f255a0ce44a9fa65b5b39dcb31b1a0e871513ff6723feff4a5c765f1f1e004dbd93149ff44819bc1aff1ecc140585217f8270faf4f44de383a49f232d208f5712d09cb8065ab1ed92c38ca887cb2c0e7567b0a2b7ebd3adb1421555d1625a4eb3686e58e0b32a8d0f1905ee28808e4ce8a57a3638bfb46ca9f5c05bc3120a490829edce5229ebc6f3bd0f9555f738424ec45c3e09f7d396dd9ee66a96915f04f9f18cf9f689c749954d23e33d7cd005db96fa289d8263e9d1502df98620d3be54945bc522a290b08499fedb639be89d8563b0c48261a45e372263405e122d6195ed6783a3c303c8536c38699c46c4ec51757a14766ba5ff07965350f782a4ca7b86c53ab8bd675fa1f71c5728acdb504c19270e15d908c5b04f4d4aedc4d36e7d4e2a39f368806988b608f5118037f908987a6f2accea15da1cf5605da1ff1f9709fd7b8b2da4dce5908cbe6788418fe6d3c03bf9232f47de143f6e408c9bd08ca2b5a0053bf5041e0f25a4b9355145a7031df6e09e443cd5f5361d8a7950b609dd30b041208f58ae7e6fc011423fa0de9f1b425bfd367443cb2a46a9f163a6cadb5194a8b5aa7e6fe3adf78e9b46235e7942827d4a7c243981eca5f00f5ce600a6272d1363d107f5c14949b5ad2aa1711db99284c80838ba71d9c3eeb832323ce09c0a61e65c9618726f0f24146f923772b4bbce4e93754ae975d9b5347ccd344e9c9e52587dd1afa6406afcb9d647c2cec81e74c8aa39bdd51f138b7646fab40bda7f36f8649f7ecfde866c90fa1771faa56e710c9159d8a8918769120b0b276042625e31fd947b8213135731ccef6654ca09f87a4e719ac18c370fc394baf07452d1d6ec0ba774e710fe6d8df9a46f9803af730580cde688d6d606c8cb40933cff689c9abc641acb7fabfb247166e8df4f5624f07bc0cb04cacff18b6e5af8152d6c253b5c0756195bca0999f7aaa1f2295237d355166d103f0b8c31a687658ecf2ebb842d1cead228c7ed487afc6f86fd60df2038ef359db06984b611fe8e196f9cd832d21a18cf2b72b3b08859c7b0c2e740d90840d4cbea1599bc76be2909a486cb1985e89e00e1775a8ccbc22bbf3b83ba9a14660f2ba56451587e3d673206381befcb7b4892094d12eaf4ef1d328dd186d0a324534c5e2290c2bc4ea087fc0d7641c01ee3974322633b5aa17cb8ba9ced6af729733e2cc4eb50acd19742b4ae93873e15734a239830a3391d0a9638f4bb94bd63292221ecad9335b1a0ed4d4c489af16c43bea42a7a6083f08b5735de50deb61b8ef4f0fe74582350ceb1d685b3b8f047e6d9e6e93364d205465498c9998d0abe061bef6e4a364e4460fd3092cc8f30b962d5d6bb519551402b66dea0e1d34050eae8dd22b370f4b7d97fc4ae84a29e583a95c97f92b601c61dc5a9849fbf732eb3480a65b1f95ad8620c74d332330afd5c795a44fbc3d55b122437e45aaad3abece66c5fcd05cd2f603ffff5f96d3421246d176cfd654dd466c0dd209d525df67df55c54ad39f30805b0da537743099d96adb04dfa20181b8ee8eae8fded13054f2ee9738b82b3af030aea6b74f588b825c949350ed92680df208752de966d9310fd3b14c1c613a8b4e2b8bebd4e42035729afb5ebccdcd2218b31cbd2b265f1ba95789a88cc46ba3933fa5d6588a51651ac05cedc4713fad7d88f2095f1b64eb290e43fe77ca947a0d56abe1858232fa4653ecd5aa7f60cd6fda4eff11fa4013ae8b0b514721dc46a2e0a08d2ce73aaade9a310edd480e544592975d66da228529e079eb7e2c375e79494dd735b187cc263066fa4c0c4043ca5ee3fe00eb608a1d5f1a556b519f278d307eb94ba80d3faa3fc5eacb4eacbaebf9c248fb107f7c4afdb697e7648dd00f0ad9d2f98200b07acade77a85209c52d43fcd73512bcc927a6e336fdf7773f4101c9d368826d2e076af5f73b0af2833ffd97f029aca66516ca7cb1a7dff886cc07e4745d5b68b883f64b3913b65b7553be706d5e27548a4ff40147329293ac1ce20c589e6afa5f090c49288bb4b7cc6d7496ccade271dd5bdaab3ffce449579de5aaef4dd8de86627b8208675d74e6b0f31932eb9b37951ed661f6e2c35de56a6a82eb8643c730f74fd9a245299a68be807d0417481ee6431b8438ed4f0ef76ead4f6107651293a7a68d8c680737201a9d519444b2addfd94b8688273e5ecbd408af5183d4e097d1b1446fb3f5812a174b4b1dbc23a870a68efbe5126ae973100d0f871b2956d6e057b1f8350187826a9596b31de1654b20922d5f72d14dc86055e03c9738e1e53f69ee4341c71b530542b5a5e6de768936dad0be1fce3124f0034ecd93297ef360a5778fe9f802866c29e72444570f4796e7ff0e37797e83f9d2b3b8f2d7d2537a3c261b185f92c6728e8f0c802e175e2649028447eedd09b0331fc7c41655249db18bbbba1dc875a895d22b95bcb3b44c6d60e4c2add42ee0075bd07ca664616f6c94049349751747a48abb696920e1e5703830a9ab1d1d07978ec7f34dc636f21dbeec6b3aa991d7c26438b7d032265377e3449361fefa4472745472c7092987650b89024132a837418e57ae7b041f8d3d1f7dba6ec22f5caba313b05e81beeda244187db63ade6ee2ac8b141e9e9d3efa1707008616f30ebf20d71ab55590240d7f5a3b42c3d275c7693be9a5381b03484b666a6d5bc98c67d8ea68b467ea78e98ed7875a34728ceeba2da5297826a4ed38e3eda6df6121ea26a3303ff5f3e2a6213353093066d27994d7b633be76ac50b7818064a6a3eccd45242b1b590cbe18a0b28521240d6cdc8c65481e555576bb3f11c3fd478ec0c5ccef2440b5af083ba9b62a3c26e5a1f44dcfc850659d054c3e071d754461d693ef823a471421ab30481a5d45d5ff86d561b671d88aeb1c672e1b1a60eb6607c903fd676cc920af15a3647125bee2b7907882bbe843f3d5a01244752b6626ccefd61da6f701408a7142454fe76d9d2af506467d64baaf724f19a635df2d8b34a63dcf994dc5ff91ad26d01146cc909a3767018f4eae7174390ab76b0b4806eb394a40153a2c5377db405316b0de34dd8b53c3b671173c201dc24ae558134328dc4ee6e710d8978e3e4d5f023c326c076045d27883d423412ff4f89131e6332587fc7900e8eac4c8fe824936cffbf01c5e874e5beaeb10ec3f1888eeac09546af3846a64d249a0ca8efd5c74b88219c452ba8408ce1d916325e78cf3dd9bf7d11372ea614af70ece91950e32ecea4843ed28784e51dc57e50f038d78e304c53ea6ff276c693cd5565264677d02150f1fd9aade0fddfbf444164b9a65f0361b2c5ce249d0d009d377049d218324238849f828873a50e83b4e8933ed2077b12ac326c31efcedcc7beb28096347ee2b18c852eb78471147681d960e40555bbf0ffe1f288f9c615c3891a77c676811579b402f5ad942d5f859407bb2300ba04897cf2337d746e530e0669b9326f6e902b42f078a3e30955b8bb4fdbec0ebe4bf37f280f0936ed8c3b12eaf2b7f15f33d6eaf50202d75efd43748052e36bd9e63d4f6e5cfe3195cb58ce9c749873716514b7af258cc65f27ad2a9c530f0cb93035eaa7e3a4c15b157d605f0ab3e8c456d62341582926d7b593ef8b00d2a82e756f785d3d6150bc8115238f316570ca3d1747399082b5197cc45c3a9a354dd376ff3ec62bd2f1cf2f4539ab15d01110af7ba180673d838a0539b564921918705626acf6ecc44b0b5c8c0fee66429e4549acf2b75e9c3164274f7205d2107919668c32d29b0f66ce5fe16cfd7775ca60f25719dff8f7158866f30476f57c4f6b7894a5d1f4cf60e2b4961df8eeed3872fd1a45e3fd965f8be3d28b0c5a9e005d3a4d61e293c4b8e460309d73a9cb2c6815aed40775d2844ce4936b58f43d8e75c680cd752756cdc283688e6e94a848ec3f34d86f1652f00532c3569eb4d92e4985b50574481e3ca99664b8b444abf2ee2a1e9b7deff96a7dc72ffd5061b69492260d66b50581f43bc8ab90c5642d0b564ee25394e4a17ae8051b9d9014d174f8e13e254e6af313fc48a9b92f4ac8a4180fa6cc101a5a9bb44631f662e75994e1c8ae903c16d9bb61fa2bb6a26cd4090d31e79c245a2efc0fd0b5c64c826ed542d1ad94af80b9495189e096cf1b0266fc9eebf0683e86abf7569ca47b853fed3c4a5c24569c7841afadb9acd861dd3f2599eb06ffc70e62629328e4ad44b05bd0198706ae05dd2894f62ece825d5c62792e7e02e183332fcac1b202c5c9514c2385393b427d7d274b3d96822236baf08ca70df34784355e730416272d6dfdea18b7be38ea39594127b2e485a9fd3e480df97bafa198eb614855026340b1c12cacbf582867b6ded2aaac5bff20b541d27f8f233433074a3d7b380cb5c140b1f56813988a7a95dcf8316816488e6504f7c9f712b7e9179c83e7110907f9f7473893191bd384aded66254a9231295998a82a3ca571d780c0e616c34fb41a1cc623fce213989c296ba2abb13563fe11f0b12eaf6d600abc1d886fad853e49f05d107e20f34f8e0911c2b8e085d714343f8af57fdaf1b51c56dd4f3c756ce75335017cf850340043ce2dd4b7a49c96a74dd3a8f12365cac2db2959813144c7b4b385d771a2aa3872ec1a07aa8f9a7d078225e5222641dbea7205525b56dba3ce1561af04d13242c07d29a95f60c2455301ea63dfc08a8e914a63b020ad20f292422bdcf11c64e4582208c687bae958385c33c0e017e0ecaa92978c0c326a6e12411872c9347e1dce46503fdcc212bf8b5173c77fefa5c7dd4269cce472e47de8a1da3ffbc2f9d505c621a6cce2bae7860cf62d1cc642efb62ee4cc0e491509d1c9c415f68ef2c3454e7f4e229fac498a3a32ca830a7f3f724b62159de16b93c88b2c1d9c07b487b6fad69fd534cd91037cdd02670813006a9de0d5c7ddec55d0d3860be61d1066eaccaa9ee8526d2728c6cd9ac03fb15e64568cd437d3487f32a8c49b94fbb23b02a56141f6c2f55d25ee25a2751532476c21e5ab65aa314102097fb358908c3e5b7b4cc582effd0fad0bfa34c61781943a96c9227226f21cb98bce9fb63a038c19458e114d1189a0e1132bd9d33b9aab986fb10f95fb489d1dca5049b4738565828161da5d2d5d01dfc4b8673dbb2266ada93929d4dd16a381c0174fd2a6de8684ab2b1c5b6dbf5d3c3a5ea951986b86eac06f104907510f0d55f7da446c760271d8006d5c1ce2e0fbd6548aac6a451c9e67a1e9e40d26d93b9f1628ac6168adf48dc2b877177d7876d59a15a8ee6d66b487b880eb7b90294914c4d8390753eba327e56e0d9c51a00bd21ebdd3b12cb60a2d26fcaed83b02d61af06ef3c01706d49e15fc4a0cca537102979d49be1ae148ede524318665c948d08fb6c85e21a853fd29161f4c3d2d0fa552978f57bb3b3756b8601d22ee3362a49235b9368d5f5ac564be7e46aa127afbd519ab48060effac43f6284ac45461ca3601dcea6cd976a5deaf14fa5007e714350ead369bdce02073963967132aacf5cbe22c83c0320462e21cec780a6d88b0bd870f7bcf2cc0f09376780627bdac8a904d2f659263bfb3c7a32dae10565b339765f02a3b89bef53548c55c59eb4dee3fbcee188765b48e9daf838298922d51c75c4f8b8817d0d9460aa52e61b8a945367fbaf8494f33b58d2987ecd076ccc494be2ce379139a913b32a0f6afaff9aaf3f3f9abbafc1b4fbcef6852568a47f9102edea51a5e6e7b7023ccda4a197af1e0f28dd75bbca55e45c171e618f5862af66cd524febc2bd26f34fd6d95f14234051750be369ff80fcf4f5855274ac7dc8d0175040a42a873f97183f7bda6f7018ce7507361ab5d4d5103e9471f70ca6a7f05219f33265f57b252e8c8f068cf1b8cb53720b8b38553eec7b461022d8f15a24255cc6d705fbb0ac4ec52436202d8c70d44b64a7a7204680a9defdacf5f4c01a36e33ae9fef7a86793f54ad7c85eac5b6752c9506d70ec6aa50093a149ee632ad49a0f81355266f6325dcfc942f9d74f9ef0972f4942350e8e5e87166d0ec104a303ae94259d337a46a476f148f699a28c3688e2f71a2dd87e62cd3076bfe9f0ac5f4d637da4f3d17e95b8edb919bfc286fdef36983f80094cd09aefb2ff5ec9e26c4fbed3b8e530032071e127c1a3929a254ec41a3b54f043d5f9f0d8ec8eb626c2bf77127bc95f5eec652b78cd60bd5137b80de056b96dfe3341a3b2f49cdcf2eaa2b4d191aee5080a5be8718d7b1beba63e74c83ef6610fd21045f53cac86d05d3f76bc204050d77ad05bff708d8ce2a13ec0441429b67e09d77f8a4fd000e1618f5b0c51731b9195ea728dd0ff62f034ef3d54740c99c662b00ed40927b43bff72ea5420f36e4f11785432228b98e59ca8bbe2585c0a6a0e0da13273e75df413bd90844dc7dc06213854d54c97f81e82f3082b3c61cf01d1374125a29b38e2759900dadc13b8b44de96440eaf41323655c59dd220335622d6694179ab296efec9568ed36e20247e9bf443d14dc82bb91bdcd60b85f21df3b81dd58cf5a3944fd01dee72a75d41318b711c679e68952b4d41c7670be16e961ed1c13575f3ccf90bf0ffee6274fdda7e644bae3b00549d2a9e1cf2f488c59813159b905247ad683372998acf02d9b873150de60b9022e03e6eefa94a85e310822df3f31bf8686d9de8ed8a43c042351898718b9e3f14d4a81ce87ac083875df5dace9c35baf45c84486c6f0aff7fc20b7b316f81100e1349ba716724ad5056afd9e45930b86c19f53ffedd4a4d982af0cab2f4313e3b887c7e302af761620540fa1ef95b13abceee1a44d202be81847fb7f862bfa1f8fa30a3206387a8a97806dace9231e53c52756a3fd058601bff7a404a30ed67da681050e7631714f8e8eeee2285abd460f9f01a2acc54b32adffb19f82bdf8531d0f4cf3707e2c84e4736027d5ebea951d310b03d02b32462651e3998aee7bcaa5ead782ec6e4c119454bdf151344a71662213c37e0ac8efa6a94fb8f556268238724c7ab755a059aec4b6b2374daa76f45ca8f220e4dc105d744f8a7a30a4ceb3b68a5df836eb40065fb75cd1178d0d0d3c29f2252cea39d4e4399668a51207d875cadd291ac7f8a607efba5393ce35c8d15a2277adcabe47c6b2bb2bac1610c138c7b5ac04caca051c982b7cd067d8cfb6af5228e952704fa7d69adfde42ced4eaab06e9de393673701968ee30cfc8966a034ea259e0c0d35ffce79757fd78a98c31603958b917bce468408bb5c17a8e907e32907c433a8ac2260caefa10f10bbda9e82b05d636de1b91d32319b952a2c20ccf0d2e77ef700a8926381ee5295993c28c7df8be2f165f190c5c90f133fcb23c670570c566f822aaf2acfa2951006b78c87a7ceb23d83cf9996682501d126b80ff8541202f43a8d0a56160f3fe76324c443a6b1e81d16b56162b724fbb120f80d09715c6b009a69982c6788c105161adfce79c76898271509c30b5bf22173589a2eda5da60736b4bb7064eb58c25634b7feba5f54fca1d9a0eec47e83c8b77eed5dccf48dbd200e4c8188a4ea82f0efa343753c5c1cce155e2ed4f2dfca84d511c10ad84ade1340b49278f68831f76ac44a93e027e540def9ba194824a8baace64290bcaa65eb3c8654a4750536292854bb95460d9fccd3540436d4f78baa3b69d9c37daecb55e7d1d74289faf93340d1a58a7df6624f084f58b11623b370e162277d0adebc01ea845cd3bbdefc4e54d344b2f6242536a96e40dc15c68a53e5c66428fd73046ce74d63e42e91ed1a6e188cb29dffc4c022b418b8f4183dc97123c24e8354f3b7a2f92d0c88955efd905f5ff5d03fa24c8495f5ec0bc06dde62a7644f78cb08475d100ea2ff3508eb2d9d99002d1c928f0780b13699042536d3bbb1cc6f1c7e0c44d8fef9adce095fa6358341a78decc89a8a5b2f807943cbed7c7c6be9ffb399e24d8388eb56019ed19c5d2ec305d05925048476fdd9efbf6e080f086edb534f1d64ddbb78842e168c834c6b549bb4ae6c975d209720cff48300bacb871983ffc0f5464ed093a8abf6b2410dd33ceed38b229ce618e7fd50b5a08f7c198d3db0416d26786d5257c4a9b16498a429dbd40356bada90a18192dab1789988a135aba5efe85467f365339114bb51aad3f96681320e68031915353167054d95d2b4a453a896771ce7e8e412d84ba20a4a21ca294eb5bb038aa0f33c53656cf87f0e8c1c97ba84ff15e62c1e1adbbff2729400d34cf858444f21a78093a2df3c6f9b10b1709263414f67e4c6119a5a9d8a361506f4ef41beb1281993000eb66d8e0608874cef1b69dd3d2b2728f4c5108b92592b87f423d5496aad97eb2ed7478d69c0573083774b8b0753dc7fd800c1b57a71738f72d82ad39bd9b66f9460f08914c180b6bd2015b0202a1ab871191c7ec6b2c44e7bb7cdcb8791a8c98bd5e8b614c2cf98b852bee220430755438f8f96c14e274e906920befe5fe86e3bf779eaa90e161509be817e82d6a8848909f0367e9381ad581ba1ea7d6b9f84ce7cc0b6f9382ffe84820031c72cfe07161b7006e302fdde6aef03f78a580dc0a05a8576440a4cd313e9c1e6eb93574bff25a9ab57e77ec12a24f642b97b615fba9f60f539cd71edac1db991dd6c9f922e5457ea1cfe27f45e050d60bfe6d194149c5cbf973c86a53410e1afb153e571be6c4f39f7a8ca0bdd8f7ddb26cb2a9d8abe844f787474222ad9d0c966694b2b1b1acf1aef83b1bb97c85ff25085c4632ca543a3a5b3a3505600700e30d301ece14f0e33b759397720923cfb6a11c1373790ee7cebdf640d92a5ba39c28e323f46e24683cf4d1d21df8487a3c2ecb256fe78cd5ba7dec4cce4876e452bdf68dd0a06604ff9451ecf96407a55c5fcea88b0afe04cb2d07d8636fb4740627bca6a2aec79def4d4a34a48375d9f7d0fb30754084f283b1ac1f3e40a3c82fb206d1fd27a32c3e14b5ab0a5eae7301b7713ba45adc58aeccc9c56011f529b11bb8cb1242b0ba447e35c5a0a7f08a02276bb9d23fab79447f5e559df4e1c3bbe23c525d109b301420355470064933af241e0e2d4f2679be2613104296e9eb6e10234871d208e9395db45b1bb84d02a3ad4a73eb0522d9f14aa3d24737e4876927156b9312fdb9427fb2bc252c2e2182e76390083f30fdf24c3aa00fba7ff236a031e7856835bb4c1c507eff746b4aea2e75d6f99c4131b22d1a2570358adba4af2134a1a0aba1b8aff7d7c30e8e177087d60454d1258b68fe0cc903e20cd2d0e340388e719dd244f72dab30af124191f7c292d72f3db709ee908f444577882ad3a1f8d6a852952838d2159f837fa226b528197d4b0ff3635310bdbed2de23aa62b35d1e1882cbfae1b5332fec81c87c1c33d7b19e9aa167e1ff395d03e5339cc9cd6eca0333656c9a40606a03c48c5d3c1f399adb97cb057b94c18eeb4fe97dc04d3c4196448373ccb9b7b5bf75b7b02f897d2eb32c53756a9033a1952849aec34a8f5165a7b89d2b3ffe594809e0636c1bc6df1872818f65fa9e3e7785dde57e82eba114397ce0e6a239a598339b84a205870dc89303403ed80bd644d7eb2c3b3ba2d45221e0e329a8ac913bdeecf942b2981cc56ac6abc5e43551f9b509099ae75a790edffafdde898f4f5c4a28d24b42c925c5075b768f8d11e4eef7614faf9490a695ac4713097bba54f5bbad76363f8dba35b79325237b2d5ef0dacebe9c033f2607b842c42967e9d1f937a993089ccf6c02c9edcf7958ba175361092ec02f7b4f350a25ca9891aa3e31621c26201bbe4b6963d115fbcf57715da690ba1ed4c72a583afa50eb4445c89f624bcec5c65ff8a3f61d8f2ae73741b8a4eca18ff5bd08738774a046170789cbb33f3f7a6f6aff4813495aba89ed691b6dadf821a313bb84814ffd409bd6d6e4d1832fdbb16a1f4c00325ad60876363abe725aaf4e0b9a990b2eef86e4c8c2f02d9b04b62f9d9194f993cb7312ea84095c9acbdf76be2412d0744ebb583c312ef13f7e93840460430c8b907fed26865b9b378639174c531ecc2c332be547ad4ccdfd98af65292117adf065ed94246553afc596c684f614840da6571f587325a56d40b2cb4358492653e69b9500ca0bcd978f10ee5274eb0c264e479b7f18653122e153730d3946b6cd19bc89296d70927f00002f79d5c9332ffe4b4ba5cc3288e1c7e4489ed2798dbd8659eeca423473a2a3ebe9f3b9f024ff967b29dc8d7bdd7b4f34e420bf011e96152d5622435feefc311596c69bfda9e45cb8edfc94df4966946ebf0c70bcead1891c20c0ab94fc50a2fccc31eaba13ff33b44e8756af975da7744c9c572e44f95048c86fc37b7613815466c7eb74b1f2957223516eb445a01fbc13fd93196b0037fe093b3e9e9acc4684034c79f234da58d1cd00ae00a8d7c52c69e49ba7110d6633c3edf37f07a13f2720255a09a7ec8bf3320d85ea12ab0e496b5ea8e2a6e9301451c59923c5a96cd279ccc072797ed80d8e9d310af94124fb5a88bc77f29cb0d0c598eda52de37b7e32c55b40ad4dcb160aaa84efd44ad6f3efe7223d1e971b1c92eb11b2e19686cd7d5346c54538b84c590bf9165443aae253aaffa6afe924f21c290271da9dd934f85204db0990c4c19bbedbd3371a803dfda3e81b19229c850747481241ff601aa7c0b7093c78c050a3ea29f9baf51a3a7f4f56b70051710fcd7debbaaa750b006e6faa7b1ea71a022737107945301e2a479580436c2fc3e39b87e0dbae62a374af61958ac5532fdc873a544475cfc7d515f31e82c32c7a6bb639744869a820365ee77b3002d1f149418b16c958270b19e68b717a49489c03d373e001e83bcfdbf1e3bf5e25d4a1a70f3a1dd70f8f9d2f1a02b9e6edd49c30379134e30e5856f263e276e5bca7dfc45197d4a9d2de2601358f9bd2321ed719c63323be09bdb750f50d95c4d41eb326ba6ec8a6bc52e6f059a9ece437a0cae3369d8697fdfaa992783d21533dab4c9d47aa501ca62b4b85a903502ddf18dd4726ff926947e3d7a3afc44ceac51249d8666d4aaa794872cd3f2533f4f201e01b0feec8091939e33409952417c38fdf9c83d590d248b0a495647ada84b3dffd3abc46949ad259d6b4ed185be29c22292c880a0041dd980ab612b7319a917c60caa7b4159fb63ecfc727f6b7ab3cb8f006c5fa96be55d7db5132439f1ed2ab4a1f6d2cee5d54d18ec321bb785877f268ea931f8516ff71fec295ddcf90e47b059d3b0b165acf8a04da2bc7f88292588fe6d619c70be94cc6a7cd102402fe17058f7704f95feb403f2775560bd0e9e057ab136592b365300a84bd7aa81c6946502f5cabae5e62424be9023bc798a9fe1720efe73cd9c8e3f5b6eb1bdbf8c91af52109fe3eefe55901dd43d3170004a8a6313500b6460c4487213339b865963393f9a8da39ed79f53ddbd17d739459fe6899b09eba18e48698c4d4815b8cf83499c1c73ce0f55bfb9b349cb79230739b4627b0fe01e3b97d85bd498e7b5a4681bd0e9dfb58b74a1d2bbb4e2fcbd155dfaa2526c6d2a0a7571ea8b825c6bd394af2cef0faa3e9800c27ead8158e26d29c33359c92685574bb17f653c695eb8e8564fe004cc3b000514b3d42a88ae59b4a1d8fb70cb68ea50c4c8358d5a057eaa172016502d1349f1c5d99b076f8dc7122340948c450f606a5ab072a78fa534b88dca3ef4fd250feb2e6f0ffc3c74d8375e499f319317db15d80ceea2ba826d0e9a54353ee6d1262968ac746456ea044fbe0554b622409325dd2d9d8280b547bf41dc2096988a3fffb5ab5ce3294ea19697b3dc7db8871832a97d4c32e123e2a4e77d1d41df08df768857aa2c6eb549d3b74d4739f66adf7cb62db102afb784da21b4b88d884bdeb96c52171a2dad1d2a13cf1490662977e4322f6b5ec2c1ae4a9e6cf7d895ea4106ab8d0f5c1f4aecbf70a2a93d06b8e05f4bd5821e0ddd731dba22df7dfe8b26df87ae4f975006895269cf3c355d494884b8c1d6ef939c00c738ff49bdee26bd22152a2652175c21d6f44f177116b11b7bf5a7f62c6bfe709466dea82e643169a013bbe0fa031f7c6101a9234db481d31ad33a20f9059af2ccc7e74cd9229671d2a6c9ab986b152d8d285a57b8262af2980036e58839e855c7024a29a714b639e484e650a8b598c9cbc502f3b658248e8547732fe0e2cad785f79a929cc7aa0b0cb061f421e9f965f6a0928d283be2b61feee2741a8593126dc434cea508d93820840c658089c3f3d8c7268681689cfe61a69daed9ec79969fc67e8084893990a85672dac91058d37b2156a93f52f03ee9155aaaaa4e7877d4cd3dbe0ca9b789ae2eedf83726195928b15f8fba0aba2ff7e37239a89933adc245859dce447dee5b7f7a4085ff3a16d262d2a283ef8ac6f71be9b6e4a5d0e9dff239084182ddbac868b7cd058691d8f6078bf112dcc1dcdea5a2efd9534311af7574f46f7d0c75122376ed0415ee1e65f04461bb7665713b16ce4f177758df8d6d133981838d7b4d01d0f6f4b66ddb1c5b7e5455a81debc96afd3e40949acd23b820927640858908fb1713c721fbe05b7fc9042c02d330d206c9012e0a915d93a55bdeb3485f22eb03437526ce2f5b5020759b27ac02e9be905f6503720287097f631e0fbd2b44c7436d43ce0730c26e97f8a4027047949fbd63163e15ad781b6ea1884cd6b700c5126f1b90654fbe3a3f980cefd953157276b3615f688d64dbbc91b3bbbe3b9a5832997b5c909e9e71ae83a474f47460b6a78ce6c8b57ac66b2f7c7a81f22a6cde6b74b23d7aa18b175ab280087392029d279b6d920b76c1f7db25ec203f791916c9db129ec9c65811e2bd1878c9f9b4d35cf8c630a7812baf4b0d88d8dacf1fdc023021e239193316b0b803b4f96318b1dce0dc991556d096548f85eb27607bd5d61ff906495365db8683b321ae654aab707448f5c60242d12c637ac3c043b8b39d1388aafc7a20c532ad717ac96fa5ef3b7fa072e42564894ec6392f31cebf29b9176a63fa2ed4dfcdc5bdd834e3921f04d6e57a394a974b9eed56a1c87a453bc366675aec8d7b1cd905def2f4f4d30476593118d0a910e8fccad6e3ca8c216de4886c1a4ab6b9ea7077801598febf1fcd74a5455b05f076091c3422264402e049a5a626c21f96d7f3ee0fdd64b367e4e4338d8a71fbf38350027f23085f64c7ae61bdfbd91dac30e94bdffad5a7128f06be0261d4559801c06caa3ccfca4891c2ff10d2deed224fc4a454c9219fd3e935d526854d109e3d90326224e82253a1fcffff19697766f278d1bdaa1343beea34bb907426ce512397378314f341972641b6c013fff6dbcdf81999c407fce4ad6466d4c18a5d6b661d5e9aef5982b605c5633b8dc178a2a08bb7f20424c8b180089d84b352bbd7aae69868f5de6c8c300eb6d03d9e55004807708b0d84b4574e51259e162828eddf8401d777df26c355f9fee91cb1f83160ad361d0c93be8a31ca3ce4f2737c44ab6cb272a7048093f954c85c4c412a2527bfa20ca5b489f935adac1c6a7c26f0a21d0247f1f8a5ed0d06f2936b6fd510ca0319b78031285f44234f4a04192f558954643fba9a16afd4b71368e399e178876689f84ba7c8ab51b3f4652a7cc206f834c685f260b033cbcbc165a5b095cbe3402d7c096fa3168d3121f5ca1332c78009275eaf772a56bc8e69e8cf276b19cc95ce1c7c7b2dbf9dec7e86be7a6f2ca9dc0a6d522cbb98f61a88089a6e798e965f8e75fe75db193f723d0a72705491078ede2236d6452698444e4078c96cce34d4ad9af7f80c17a365742f00e7052171b43b15aa19cabc7728897558294931a3211444246fb7bb5e341a707748f1bbccbcd9207771ee6c606fe5a7c45b8de2331e00793e26e0fd8b850b34e290e353a531402eb3875fc1b6dc18a541d2d58036d5b9d847ec8e1a9d797d460324548d3a10bfc0466a09016fad1aca17717b7a045bd3d1a32e7a37ad23cf1e9adf7f8ebc86398052dd59f2cc720f40ddd1cfeee8eee013ac8aab98248d6ea2d92587b1d0e1aaf3d640bbd485f4cf4038816f07607041180903e1789957c025c5a8b1dd26b0fd461924d70f5afdc0b1431ea26b8d298d34a4ebc83c72c7c84d1464609a6b027d83b79d502fd0654de6dd0f5ffedb7a07f9e4a69a0b0eb36d4a53ce1a981b0cf564f351cd7762fb9c1864d01b09d8dde2c230ce6d77d3feb32270a7783f934e4c94beae4406817aeafe5a8d4f4e9ae2ac56290d1cf27a8b2849eee5086d48b5d9bbffcf6c8f024d03588c8421abf97e8e66431cc905cefd7964a5de4fb9c181574725f6b84fd017c8695a3ee35a45dbea4a8c27c336093e41d0f6275c97dac46df64a3e376c34ea40575243b50462658731de95a4b88fb267bcb838838206b04621a43077adf79a28fb99feb3251a17d602435d116a4e6a3817ee9af2ce297e13668db51c2572d3066a22ae81f1f063defb2c94570e36baabc56d898b0a375db0efd193f928425dd9e1bf08f8b789e807878189a8414b3b543a1fdd2267f5247f81fb8aa9efbe1a7ed82baf39a7fd41450d7b2159c3864ac00629431c03659fac9241f4518415e0fe4c2f84dfdfbad59b3adb3c830770c230dc2ef8ea5c8bd5089045844586b2ceeb6e7ecc6b21e1690d75638c6cdbbc383ca5dcf9771a1be40658bae65465c699b38e6524a822064ac573b6de5622f7a6866824894f5b18605a01ed38ed097c7f1549df6c5463c87ce38033a40fc9861ccdb11e2f49458fcce047bffff94ba071173c8d6790c0d22a7d216b6d82b973ae468b41b98980e4b25b0a509801aeb16d714b6813eaf47b71eb349c30d16c13bee1197dbe5293c2dc36468bd5da3848775084008a5ebffbabf0dd1ba65df217eac75973d972d2db5ac7d8e7f39b453cde7c7bf8938c93ac4464258a27dc7398a700e247e6691243908a851739ba69e184badba4493cba5ed3319fe3a139122ba6d91bfb2ca2970fac1a7f9bad57a294026367eda55af83f6446bfd58f9096c34c587717f9209400115b194415345926603c4f0fda0f90268405b2b7e133bb0509757b875ee208825bc9cc0fc7a15f575ad12c219d63c8aa2c3684cf54bc2cb2e5da0f2c226a5e17efa7f3623aa7e3fd27db428896ccc786a24e87289ac6e43a37d830e4020ea699b338e13ee5be2ca68fd1409c4bc02d4362f1a779722a9fe45939d728b010a460bd0d5bf8a2d9dff9978baf3d8952bbefebc681e09ef8af1d017c5bea56248f286e2288b41c3285ed7f4af5db4bf9d04c9bdd7d33de9b7ca614b38514831fb4789749c3d4eae31185eceaed27a9844c7be6824eceaccc005752bd4480a3987bfb0d70cfa314116a84898996b2dcb16d5df0513a8e794b087656e7a0e9ebc5e9e0a88abd740cd24effe5892c1398a36eb8610353e67fdc9f33fc85aecff14762e220e7f354642b9ff415621feaa9c7a59407084a3a46601ab2813c1835f55ca22e2f474d84ee23fb67f282e11f4bf3bd42fcb8033c41d463e4b736e9677eaa6102a3641ba05602e1e433aa3cfb99183b7c12e4af46f6a8bc2007838d58c461d17ea52087c67aadd415a7ca707e264cd1be93c5b26507f67b6b3a4436272e5339db767267ad42267ab6e9cff74c40398ec4de41b763f7cea5df5ff1115300aab5eb7606fe90579064e38b7edbc631b8e7c1bd9c139fed49eca37642aed6cdbbc4980b32b6b8c446c8f5e42868485f1be214a2494235db42712c2d15031e92f0285894ca756a96e31d55ba885981a9813a0b8fc4017321f2b2c71d8d608fd1e4520ff70816e85afbf19bd0662d8389b6838f4a3ea6407eca28499385678f42d31f335cb906fd5544b7fb1311c6691b19600bdd8886675444db81f04c64b01945bc007854b4964ed4a4d9b4ee9ded0e31886a5a800ed503baf6f522388c498e5f2ac02e4913847582076311f997d52d3c61153b41b6a8d6fa0f1823d8849154e74bd9a60e2043ba8a756803fa0ef2039f673e99a40b5db3a77826c0677d3451729cfd0f6d2ced40e6e3431545d049e7d71ce1e530b39c9642a5a647fd37a6877bee5ae53c06cfc89d5317a875d04b9d3d60ef7c38a30ed8db66491ab66325c8124fe4a905b12f3655999e2726d27fcfca22fef4d77fdc6527c33c02365f07d05c7dd70aaa644da2c5fc5f74c143bfb335dc8f56f19ae708fc959dc3e50646ae003d80726669327ef8d61d916c6aebdeb453044b6f6965982b26867e61ad390b4da6d21a0921eb6fb1650ffde941f9bd557ed77b5b5b09e905a8a5943b7c7c577fcfef913e54047b5cfc7b051413aedc7f570b15a807ddd1807ed1e9ecb89ec95562bafeadbe9282234b2421b7ae930802268cf383022a7157c8caadde4619b9d99c8ba5562af7db5df07b8c21b4c7c0f27ab7c872c296824403dd88079f78193ff45f416c358aaac28ca6802f2ce225e3d7ec54f4a43fd6edeaf5a24406bb87c166d7f2c2bd2adbb7bb146c4aabdde9d4a81e45d3112db92b57eacb94c64fa40673293f3891beca8c7b4461b664128d024188d796c8d78bbe0567d4908ec923b5a242a4f30acda6ec2b38c104711dbebfe6ea0cca8e634b3588458b4fc584b624828ffea4f2885877e500978def8a7a0b2972ac4114f1ea6df863fb742476d3f1421e632d1b192b42508c0ff12a0d6e1e4e037d67326e468264989767658c8a9b91a77590477de4eeef74c8c856c6215cbb5a70957bf58808728e1225b0b542d53caa192486a2d6e1bbee7138b6f94307e2b41eaf9f0948a3deb85416f763ab8bb9866e2224b6b0dc37e8d41c734cb713d1fc88a9375ce426b48139c19977075443035041f5871df53b0914afcf7c847955c7861ef5b5c6fbfc41bbee184f1c28249ca9ca1eb1d6507981f453c485dd3a8eec29ef0405043a4b33f39143bd2636dcac37d46ad3ed17100c55031d2f89a1527cd50c7795c1bb7778e509e801780001befee90a4667a33d8e6493a448309b055707e752ee03ab000cfb1341cca855d1a3380652253bf70d66a5ffe900e7359e1ba2fc99cc12c39c1a6c43eadebaebb81668bafac551dafd601644f13538f4f4c4a7a352d593f2a8f4c620e5712d88970cf51c832d971ac0ff771dabdd7506b9ece369a8567e20d6980bc9c8ca902d9e627b3bb1fe3c4972e04b94822fad1cccf3f259c85281f7e97b9f35b5f8fa33882d6ea17008915d65db3af4af9910ac04a460128482f7cc334f9587a9d98448ee1a02ceccb91c7929d26952dfa405e6d6f15763d30fc06712c7a0265457dc25e131ed33294eda39d5651f1016904d2698ee98cdf84ccec8bbec564f388c1ef92f5dbe78ab374974a5eca2122af56993aee727df570318af396d7774dc85c171376abb32278117735bd3bc12c277d4512147b200a183e1956f4ef9775ffec7e42f39ef4c6c77a36e0adda85f66983fc6822fad3725e00e5f95c8bb3d6b6f17674a2a5e14fb57ede25728b74567a0cb33d225429c9e265f1db81f35bf39e3fe0e7ffe44ab0865581c1e4ddf61848d97bde2429942db04b91983194a4535759687ee0ac077a9f5bd326d3e71fc535c0049f45f23adf69a61f1885543a5692d29595033faea2442fd3a8edc4ff5840ac0e8062d8b36d43d2a0ad6120306dd65555f49bee6e66261e5b8164f3ac7285c7b68182fd2713e0e7f038d955774cc644287a86c8c8b0c2324b8d8e9e3df2c17fc4e8fb33df938bfa6ba37a3dc6b847e721abdaa59fbab4581389361498e8cc89b1494e6a3024cd9a789a7222cf9c4900971d3df254cd52e2dbe5ff82ad61a94521a9582011ca9b17ed2ad41a137b6c404497e3b7f387780a2ad9b4853953d7ee0206a23cce6b9042abfc1aadf6b3ec60828134abcf0098692ad23159ed4f4f4158a7bb697923009d173031653406be0f24455ef963e59b1bbd17df9f07f570a70aa17b724abd9d6bf74363f373d86e3f97e96d1d02435e36d903080dbefdf21dd2d076f5ab227a4e2d120773d8412bfb0c97436003a8a2a32e243356c02bcf3f10b2193a371b78052c9e8336ae308770933308665d77567e7740209ff503ed5cd70ca09900a2bd0c3106ea85aa91898d7264b5adcfa1fd1f1cf30ce5af227f9e37e82e3c9ede314643d303e20adb91e6536f42d28d8d7d1a09494a64531b74d8963219c07343ffa72fbf5e8ac8562ac1c4a4313be6b4f3de7a7d7d0cc1cbe92095548a67304a8012532e3369df9e28f6d9d4398fade7fea20eec49d2923c2cd281f77bf7c9b1c2e110b51f708f6016dd9a3ce03156acc87b9c0d083348089e189b34763f92bbba66da964a9d5b7a689ecf876477fc8a496cb2e0439ed780529ce3ae4ea59dd8f70925341d75d24cacc74bd6cc6dd684708eafcac2973c260a95df4c5676008d0fb295ee68f8fb7c89b33ec0d2393358d730062112e09c2966650043c37b4ffc12c84d6c6c62580992642900858c15a807d51ef4d6bb08a34f82404f66d6ea6454ca407100109e9adcad5f4c406597615269b8ce67c81d1b7546dd9db930787b3ae03e756bb8e928ef93b02322fd73825970cd34a883b8e276cb48ae7b7c191be84333ab0b544da4744061741ac3f32e922c1f444d36e74b6415bbcc6a034d81eaf812b88ead077a01a6f06c3413c8dbba45c876d137d240c60d5409a13d5e7caccba82fad3f2be033a38e9582aa88136cb0538e9f85b547f80085bbf0b7fc893058373e71f6d4e76f6f6da38c79284c645b277701a5d2eb7a2b62b9fc4a80af911fde55d826ba7f198a16bef01bd1e58fedb909b7289f1ed7f5e9b9a6d5421c37115c35c34c506dc40d29bebbe929895823615af4a5a1dfd6a448c50f6442be0ff6ed238b790698b19840958807af54cc48acd6b5665e2b219e22cbfce6a9c7990bcbd9b08fbb8f20459a3385e73fee32c90a6d51d0bd584e080b562883fbd87fb38723cc1147337051c57765d900cf2514e31d9155be1bc8e39efedf0d568748c8abf72e63ace4e42f44c69efec23fb605d49f70413a4deb3e2cf75e00e2a9381be948f61c9385490cd6d1dd5d6ef8f2f6b6e39ed6ca25b32e4d4f5dd1211a9679beb65138f4021d4cf8f70bfeb066739b7af92008acca6f5357850704bb04a34e861ed6cf15024257eaeb9055d7d0803ffed32dfdd48e7406ecc97899fb5a219f26d6f3f4b5039f8bf81a1855c0c65ccc159a1703bc6d1c245b1a350790fbce30f4f59798f7ae0a6e155665b02fc4b0b7ef153e5622b1ed821622524245934a15eb4bea9d5f374b73bdfb5e8d99c952cc82080b6fd0f9b05e74e3a150bfc96d1c1e8247b274157ac4a81767cba4f2895f8af82a0673583e012db9c3b728e47ac780559f8b832e1820e3580301132fb73a7aae25f2e35b3dce15c4859baf6860231d305b7d2cf12f0759745c0315549554521275d2fbba42038e0368a2fe0407d714ca2659e4e2dfd7dc1cc1c3766df71008b70917c0533c3e43d4914e44f61aa36d015a22c29647fc0a51e1ff5e7db763d02bb65a87823d0bcd62b8e0ee0bf553e9367f03218048b4e9e1b9d0d35e3427ea48d85df467d9b37f74f5acfa4a8496653729857bf7b643cefda6593022f569cd792a35f5dffeeda9c24da585f697ec19a8e565931246fd2c45714f4c0cc3754d7debbe968327d03555bf5cc1d6d635726cf12b1b69c848d20870e3bb5364ab8263e11ebb98a81aae73f97ee4647e09d6ff7f033784023e0a0b741df3fe36d2e729e86bc653765aa6e1873362505b34e71fe307f777416bfb50932bd009c8d846f31f3f008e42578ba6f4c8c3311ec6977989633cbcb4ee3e43619852bdff90f986ceb4106688f45bc90821ee979353b8b445ee32da4e98f5d2f6f16ce2b52b725eaa5317d777bc141a282151eb9c80ec09a83a433013d09ac20e3cc1dc16abb07d19ce0dc28fc6d0f8b865947b4e95370ae0ad0987da2689976c6879eaa5b9c47a34a2213ea706b75a8917632ecb9c15003f0f037e72f2e55ef0357157c7af141e7d6c324c25b5e3c76a81ab384aa24876e0cded0cd79a2919ad684f3064a6985af17ed2ac4ff1271c420774d19eb4bd9a0c98263edcc0e131edf2ffb5a0afc422a0189e749a6c0285b08c0c80a332361cdad3086ffb786a2054dac487817cda463a7c498dac637095e86623080356c10b8e4e8bef782871512ae1ae5b74ad1b7c2e2da8d70001776cc6bf11ff91ad8ad59afdd7fd679d5021cbc2be2aa0b3e8462ec9fed8993a667a0fdf7c00c533f440a926145cbe93d605cf774c96df91c51e2c18983c694a45eaadd83ef0b6c2ac30a610f8ecbfc099965997addb2b1e79bdf14029b4801f0b03dfb38a6e3cff42f54d60d3030cef5e43ad9e709e03ac6fdc8188735dde55461fe95447dc49edb20f017b2059ade7a418e6abe823ef0df8a8167b8540729a21334cc6e75edafa21e212479738ac270ea2e9a81d2179d3b6836c33cb4d4e56ed9df8bac6ed638498d2cee23e0e84d1494ca17b5dad7525dad58dba49bb22d533bd0222413a3d724e554141943138e9817735bf40743059f2bfdebf25200ac8a04ee29f15e0d9c1eb2cebfe128e113e308be0b1be6c8e01d13f21e93d76b497a9672ff9ee1dc5ac0490011f3e8347fe48c1e243a845287f3a6f5931d13bb340f4218e5802ff87cb825405fbea54a3171cfb1793283c036c110d12ad9a21761e22fa0e0531ceaa1903819df97bd10df4bc8c914e2ad8ca9bf8b12c28c958ea2ee623dfb698a7f97e842c4432feaae1e36f3ee190d0f2518421e78e51dd0b4ddbc4ada5ea5de0a3702dac96315358cb9b4d91c02951dd02d626f7602cc73121e2f60ae0e512f5506e9cb6fd69f7ec61c4e590c1bfc7c0cdde48f65d3a4eee64ca57a9ac7b1f934b60ecc8bc60919522e3a8ab4e98a4e10350abd3eb7409f7a9550f3e117ad5bb6e30ab6ac8c9d3e5519688c9c2853a39df7a54dd19b2c87a3f07f3ccdff16119e77c728e36e5ab264f37d6351c08ca2ba149249598135fc495242ca66fddb591928cf90440f183b45d50a5246bdede74a13a33fc4c99d2f733a79054c07e624a24c38d4a42d3db3a0fa8dd2c9f0d090dfe746cb670ef12520dcdc2027a008b4064d5252b3076a24b4a4df8ab0671db79dc4bc27e570a0e611f517d33f8f3984b3d74b7fefc52129890a015ae7dedebd07524dbe1c478fee1cb2e15757ab6658b77b177db4b19615c549bf6640d7b781ee8a4abfef5d3a6c693bae05be8d024d11855d0c604223ffde6fb00e50c46ade1f873e9f473ee886b8df4281c7f800dcfeba7f431bbd288ac3afb4ef3147759f7c94c09c40eb0c410f39dcb9dc4b57e63019760a413c48d9afff3cc1db3acc973035e5fce21021df9895add84479d257b74cd2b3ddf82cbcc9bdb472bbdda5ffccef7ab0194344bfd90015bf4387c203a46e6da9cf891e57e69985d9bcd642cb3a3745671f62742fceabae7c633fb9b1cef05966f0bfc834aea9ba0cdbfd8f417ba16453fc4f535260d1dd1dee8511161a3e7127e9865f1be2547d700ff97ea531a40343175fe7e7e81cf1c48953fec10bcb91a8084868f90e6475684cd0426e82b91172c6fde96acd86eb140e6c816f119ee9a19e1ee2d5fc967d174767144c6676788c99d899d19b0535f6dfda729c830417e1b25cfe2a5503f23e7eeffc1b44b5cd70f736aab3e4d000af91817ad51b29972da11c3be6a1d8f95b76882862e2038fecba1e86944a8ba9f45599fa1c04f4f8532a8ac5de5218d4a7fab488db0a00ecf024aad2b749f3a41fe76ea812906b35b4cc21c1187a43fc4b8d6eacd7321209fb0e796bd07692771bea66bef862b189ecb124bb7272b99fb7522e8a7e77f32287abe7e5016467faf432acb64f5070e222cfcacbda5349fc0cd58ad6aa42471be2ba6378a0df464a3e9b0768ccd0476487ee1fe832f88f74c745be49ada5ffa9ea2197147447cf2a643d8ec96b531ffc21d0491003ed4281b84aaa1db5751817252946309c349c0ef915fe14bc1094b21c1038aa5e1f9c4cf161c9c80a6bd54704f41d7c52ecf22823b6acd4cf7d0e2a4844b93bb74d41affdc5641e007c9a6e854781a3fc9d2f7857dbf6f32fa041d4d018ef5c946bd9dc76525fa472e087daa7a6aeb8aba54632a222f9863da1aae4a966176dae5f5858f25bdb8cf01903df0f8605afba3935fb256961e005dbc08d605225d23d582b961e7f7c0c27e7d1596d64cc1f0b1ddd35d7a1a05380fa22ffb75c64e9e289810683d69ebd78b45f76d3ebfc82784bed209af1d8b2543cc2d61fe8e4cd10efd5e369872ceae60da2d91f53bf26d1fdc6eebcfc14397c67b926b43199057e4b6927b290cb6f1d508a0657f5e819d6e3a3a4b8b0cecd4dc5222e2d03cb40e81d8b37fc924f811d754f043ab9976ee6b1c4395a42d8f4b9c746396f9128c2e14f2e0f1be6f47b870577a951e96ca48797161fb5fa7eed5d58addae438e925170cf9e9ee5af6b80dd767f1131e020415edf4f4805d95acd43fc6b6b159f727a944ed77fa7f682a8c46e0a6119446c32ca1283d898230dc8968e16b8f920dd04f57357d02f35fd62234dfc3aa766e819b1249c15b67cb614f4a65509bfb34a2d7538c84016d1423132f76009aba191dd540664cdadea9c815772c2df7c7045612463ee689839f0f2c805e436def04e8260704a7b096b5fc90865fc7554ada55830455f38931771a30978ce3b7bcfbf04de205b5de9d50544aed179a96b4e3f3341a682cb78399021047749e7398a08c5520465a3c47627e553f4e9efb26b55a2e187dee038c352c3202a941b1b48809c6c403298b18962dd67fcb55f821ad46a72e17b933f730c64548edf67f21bcea974de2657557104b3827c079da78d23c9ec401343cd19de46dcc5aaeba5a03ba80bbe7bc9d6b00f5da536f3ac1890f15fb1663aabf043c8b1653488ab240d7f03833ab81f877a85c52b503b5392ac2360aae1ff0480e22a9aeb68d2c65533a52337cfc81314b88579021bdc846ab9075e6e78198b6980584a189de9f4a4bf0482d9adfb37232b7fcb4d8a4e52eae0a8a3f04774d1bc611f791530e122553ab71315d61d0a5a6b22964f6adff3ac7a5e98d5a8ff3b5474f4ed5c42dd1cb010404eec39a3713f1efb7e1179f4bfd2316e9b27d642c47e872b205b8c649a0c43490d1862592ff627b7d481a0876c59e6993daf262258f62f7c7c3b99f0c08b01b8c5c6c730111fc8fbb32fc5f7a7c4e65106230c12ee09f76aead2332e7051e3c512455c3f0e8d130e0a133834d01d195ec2916c46128353e4a698bdd1c91e3bb72a15299c3f2ea9e0dbf585fb893b391158c64d1428f854a878c97814adb45b8bbde583bb8eb7c77892d67052a95653ed4630ebd47d8b4ede2c6657645c720b70888ca404747ce9ab2c6e4f8c90bd54baf03e811d9ace9d37325b3b972f136fa4928c00a8f1ad00272bbdb7ca737752c4b5c96c83c8d7a108325bd83ddc1ea0e771d4a343f1aee770e5171b91da257595c1bf2e0b2a9c1bb515451066c0f24a7bde58db1550bb4e9382952cdf53e81d8f5914aef7eb18468502b2649ab73bc40e92d0ac5fbf80421647588a70dc644bebac13240363d08569eff490a17cacdbf1dc96f8ee1b2e39e4a82aab14012e6b199be850b8ae2b27ee05b0fa411410f8773e42bf13cf9e284261e6449672a58a91ae685c2531ec3730bbd95f98435a8096a4ffb785b341e4e0593f3ab4264719c4af294f054bd0bc88ee19a777a68c5e494cd995b8bc43c4324bdba129df14864d7e84eb16d8c931e4a229902132c863e44bb6d7a2840f7391e825adfebb41d2a59f54b5be3fee917ed6896993c873e9ed32101364ec86799afe393d8904a740a0794dfc32c7b2805902a221184578e144d8ddf4c282a4f3dea83f9cffac472a85821eac8d038ca093099ec7deca2d558be53cf006c7e67dfaf2514a5a77da98557e2cba9c2694a5ac495c114d9dd442d302bc1718efc688f39d19f5dcaaf532d54e3d65f15c3f512465a1db970512d820c3563ef40adb66f187da7ee67743e3ae7b13f52aeba272875643317c99b1c957d4201be48c7f4038befd60aa8f001bbdde701d69e86e02b15e65191ba5ba73cbca64b9b799bff0a2fdf5bb3e3e905a22ed2c2b913f3f0189fefdd8d4a6967efc94ff838310d577c41e841e6ca617d61117909b8d95c82dfde16d8CIB.cpython-36.opt-1.pycCM_common.cpython-36.opt-1.pycCM_corosync.cpython-36.opt-1.pycCTS.cpython-36.opt-1.pycCTSaudits.cpython-36.opt-1.pycCTSscenarios.cpython-36.opt-1.pycCTStests.cpython-36.opt-1.pycCTSvars.cpython-36.opt-1.pyc__init__.cpython-36.opt-1.pyccib_xml.cpython-36.opt-1.pycenvironment.cpython-36.opt-1.pyclogging.cpython-36.opt-1.pycpatterns.cpython-36.opt-1.pycremote.cpython-36.opt-1.pyc3-am-then-bm-both-migrate.scores3-am-then-bm-both-migrate.scores6-migrate-group.scoresattrs1.dotattrs1.expattrs1.scoresattrs1.summaryattrs3.dotattrs3.expattrs3.scoresattrs3.summaryattrs3.dotattrs3.expattrs3.summaryattrs1.dotattrs1.expattrs1.scoresattrs1.summaryattrs1.dotattrs1.expattrs1.summarybug-5014-A-stop-B-started.scoresbug-5014-GROUP-A-stopped-B-started.scoresbug-5014-ordered-set-symmetrical-false.scoresbug-5014-GROUP-A-stopped-B-stopped.expbug-5025-2.scoresbug-5025-2.dotbug-5014-GROUP-A-stopped-B-stopped.expbug-5069-op-disabled.scoresbug-5143-ms-shuffle.dotbug-5038.dotbundle-order-partial-stop.dotbundle-order-partial-stop.expbundle-order-partial-stop.scoresbundle-order-partial-stop.summarybundle-order-partial-stop.xmlcolocated-utilization-primitive-1.scorescontainer-1.scorescontainer-1.scorescontainer-group-1.scorescontainer-group-1.scoresattrs1.dotattrs1.summarybug-5025-2.dotbug-5025-2.dotdate-2.scoresdate-2.summarydate-2.xmlbug-5038.dotgroup4.scoresbug-5038.dotbug-5038.expinc3.scoresinc5.scoresinterleave-0.dotinterleave-0.expinterleave-0.scoresinterleave-0.summaryinterleave-0.dotinterleave-0.expinterleave-0.summaryinterleave-0.dotinterleave-0.expinterleave-0.summaryinterleave-pseudo-stop.scoresmanaged-0.dotmanaged-0.expinc0.dotmaster-10.scoresmaster-1.dotmaster-1.expmaster-1.summarymaster-4.scoresbug-5038.dotbug-5014-GROUP-A-stopped-B-stopped.expmaster-failed-demote-2.scoresbug-5025-2.dotbundle-order-partial.expmigrate-1.scoresmigrate-2.scoresmigrate-begin.scoresmigrate-fail-2.dotmigrate-begin.scoresmigrate-begin.scoresmigrate-fail-2.dotmigrate-begin.scoresmigrate-fail-5.dotmigrate-fail-3.scoresmigrate-begin.scoresmigrate-begin.scoresmigrate-fail-3.scoresmigrate-begin.scoresmigrate-5.expmigrate-5.scoresmigrate-5.summarymigrate-fail-3.scoresbalanced.scoresmon-rsc-1.scoresmon-rsc-1.scoresmon-rsc-2.dotmon-rsc-1.scoresmon-rsc-1.scoresbug-5038.dotnotify-0.scoresnotify-1.dotnotify-1.expnotify-0.scoresnotify-1.summarynotify-0.scoresbug-5025-2.dotbug-5014-ordered-set-symmetrical-false.scoresbug-5014-ordered-set-symmetrical-false.summaryorder-mandatory.scoresorder-optional-keyword.dotorder-mandatory.scoresorder-optional-keyword.summaryorder-mandatory.dotorder-mandatory.scoresorder-mandatory.summaryorder-serialize-set.scoresorder-mandatory.scoresorder1.dotorder1.exporder1.scoresorder1.summaryorder5.scoresorder5.summaryone-or-more-5.scoresbug-5038.dotbundle-order-partial.exporphan-0.scoresorphan-0.scoresparams-0.scoresparams-0.scoresparams-0.scoresparams-1.summaryplacement-capacity.dotplacement-capacity.expplacement-capacity.dotplacement-capacity.dotplacement-capacity.expplacement-capacity.scoresplacement-location.summarybug-5038.expgroup-unmanaged.expprobe-3.scoresplacement-priority.scoresorder1.scoresorder1.scoresorder1.scoresplacement-priority.scoresconcurrent-fencing.scoresrec-node-1.dotrec-node-1.expplacement-priority.scoresrec-node-1.summaryrec-node-10.scoresrec-node-1.dotplacement-priority.scoresrec-node-4.dotrec-node-4.exprec-node-10.scoresrec-node-4.dotrec-node-4.exprec-node-10.scoresrec-node-4.summaryrec-node-4.xmlplacement-priority.scoresmon-rsc-1.scoresmon-rsc-1.scoresmulti1.dotmulti1.expmon-rsc-1.scoresmulti1.summaryrec-rsc-0.dotrec-rsc-0.scoresbug-5025-2.dotbundle-order-partial.expmon-rsc-1.scoresremote-fence-unclean.scoresbug-5025-2.dotbundle-order-partial.expattrs5.scoresremote-disable.scoresremote-recover-no-resources.scoresremote-fence-unclean2.scoresremote-recover-connection.dotremote-recover-connection.expremote-recover-connection.scoresremote-recover-connection.summaryremote-recover-connection.xmlreload-versioned.scoresrsc-sets-seq-false.scorescomments.scoresrsc_dep2.scoresrsc_dep2.dotrsc_dep2.exprsc_dep2.scoresrsc_dep2.summarybug-5038.dotbundle-order-partial.expbug-5025-2.dotnovell-239087.exprsc_dep3.dotattrs3.dotattrs3.expmon-rsc-1.scoresattrs3.summarysimple1.scoressimple1.scoresbundle-order-partial.expmon-rsc-1.scoresmon-rsc-1.scoresmon-rsc-1.scoresrec-rsc-0.scoresbug-5038.dotbundle-order-partial.exprec-rsc-0.scoresbug-5038.dotbundle-order-partial.exprec-rsc-1.scoresbug-5038.dotbundle-order-partial.exprec-rsc-0.scoresbug-5038.dotbundle-order-partial.expmon-rsc-1.scoresbug-5038.dotbundle-order-partial.expbug-5038.dotbundle-order-partial.expbug-5038.dotbundle-order-partial.exprec-rsc-0.scoresbug-5038.dotbundle-order-partial.exprec-rsc-0.scoresrec-rsc-0.scoresstopped-monitor-03.dotrec-rsc-0.scoresrec-rsc-0.scoresmon-rsc-1.scoresbug-5038.dotbundle-order-partial.exprec-rsc-0.scoresrec-rsc-0.scoresbug-5038.dotbundle-order-partial.expmon-rsc-1.scoresstopped-monitor-25.dotstopped-monitor-25.expstopped-monitor-10.scoresstopped-monitor-30.dotsuicide-needed-inquorate.scoressuicide-needed-inquorate.scoressuicide-not-needed-initial-quorum.dotsuicide-not-needed-initial-quorum.expsuicide-needed-inquorate.scoressuicide-not-needed-initial-quorum.summarysystemhealth1.scoressystemhealth2.dotsystemhealth2.expsystemhealth1.scoressystemhealth2.summarysystemhealth1.dotsystemhealth1.expsystemhealth1.scoressystemhealth1.summarysystemhealth2.dotsystemhealth2.expsystemhealth1.scoressystemhealth2.summarysystemhealth1.dotsystemhealth1.expsystemhealth1.scoressystemhealth1.summarysystemhealth2.dotsystemhealth2.expsystemhealth1.scoressystemhealth2.summarysystemhealth2.dotsystemhealth2.expsystemhealth1.scoressystemhealth2.summarysystemhealth1.dotsystemhealth1.expsystemhealth1.scoressystemhealth1.summarysystemhealthm3.dotsystemhealthm3.expsystemhealthm3.scoressystemhealthm3.summarysystemhealthm3.dotsystemhealthm3.expsystemhealthm3.scoressystemhealthm3.summarysystemhealth1.dotsystemhealth1.expsystemhealth1.scoressystemhealth1.summarysystemhealthm3.dotsystemhealthm3.expsystemhealthm3.scoressystemhealthm3.summarylocation-sets-templates.dotlocation-sets-templates.explocation-sets-templates.scoreslocation-sets-templates.summaryparams-0.dotparams-0.scoresparams-0.summaryplacement-priority.scoresplacement-priority.scorestemplate-coloc-1.dottemplate-coloc-1.exptemplate-coloc-1.summaryorder2.scoresorder2.scorestemplate-coloc-3.scorestemplate-rsc-sets-1.scorestemplate-rsc-sets-1.summarytemplate-rsc-sets-1.dottemplate-rsc-sets-1.exptemplate-rsc-sets-1.scorestemplate-rsc-sets-1.summarytemplate-rsc-sets-4.dottemplate-rsc-sets-4.exptemplate-rsc-sets-4.scorestemplate-rsc-sets-4.summaryticket-clone-1.dotticket-clone-1.expticket-clone-1.scoresticket-clone-1.summarybug-5038.dotbundle-order-partial.expbug-5038.dotbundle-order-partial.expticket-clone-1.scoresticket-clone-1.scoresticket-clone-14.dotticket-clone-14.expticket-clone-1.scoresticket-clone-14.summarybug-5038.dotbundle-order-partial.expticket-clone-1.scoresticket-clone-13.summaryticket-clone-14.dotticket-clone-14.expticket-clone-1.scoresticket-clone-14.summaryticket-clone-14.dotticket-clone-14.expticket-clone-1.scoresticket-clone-14.summarybug-5038.dotbundle-order-partial.expticket-clone-1.scoresticket-clone-13.summaryticket-clone-11.dotticket-clone-11.expticket-clone-11.scoresticket-clone-11.summaryticket-clone-14.dotticket-clone-14.expticket-clone-1.scoresticket-clone-14.summaryticket-clone-1.scoresbug-5038.dotbundle-order-partial.expticket-clone-1.scoresticket-clone-13.summaryticket-clone-14.dotticket-clone-14.expticket-clone-1.scoresticket-clone-14.summarybug-5038.dotbundle-order-partial.expticket-clone-12.scoresticket-clone-12.summaryticket-clone-14.expticket-clone-1.scoresticket-clone-14.summaryticket-clone-1.dotticket-clone-1.expticket-clone-1.scoresticket-clone-1.summaryticket-clone-11.dotticket-clone-11.expticket-clone-11.scoresticket-clone-11.summaryticket-clone-3.dotticket-clone-14.expticket-clone-1.scoresticket-clone-14.summaryticket-clone-1.dotticket-clone-1.expticket-clone-1.scoresticket-clone-1.summaryticket-clone-11.dotticket-clone-11.expticket-clone-11.scoresticket-clone-11.summaryticket-clone-21.expticket-clone-1.scoresticket-clone-21.summaryticket-group-1.dotticket-group-1.expticket-group-1.scoresticket-group-1.summarybug-5038.dotbundle-order-partial.expticket-group-11.scoresbug-5038.dotbundle-order-partial.expticket-group-1.scoresticket-group-1.scoresticket-group-14.dotticket-group-14.expticket-group-1.scoresticket-group-14.summarybug-5038.dotbundle-order-partial.expticket-group-1.scoresticket-group-13.summaryticket-group-14.dotticket-group-14.expticket-group-1.scoresticket-group-14.summaryticket-group-14.dotticket-group-14.expticket-group-1.scoresticket-group-14.summarybug-5038.dotbundle-order-partial.expticket-group-1.scoresticket-group-13.summaryticket-group-11.dotticket-group-11.expticket-group-11.scoresticket-group-11.summaryticket-group-14.dotticket-group-14.expticket-group-1.scoresticket-group-14.summaryticket-group-1.scoresbug-5038.dotbundle-order-partial.expticket-group-1.scoresticket-group-13.summaryticket-group-14.dotticket-group-14.expticket-group-1.scoresticket-group-14.summarybug-5038.dotbundle-order-partial.expticket-group-11.scoresticket-group-12.summaryticket-group-14.expticket-group-1.scoresticket-group-14.summaryticket-group-1.dotticket-group-1.expticket-group-1.scoresticket-group-1.summaryticket-group-11.dotticket-group-11.expticket-group-11.scoresticket-group-11.summaryticket-group-3.dotticket-group-14.expticket-group-1.scoresticket-group-14.summaryticket-group-1.dotticket-group-1.expticket-group-1.scoresticket-group-1.summaryticket-group-11.dotticket-group-11.expticket-group-11.scoresticket-group-11.summaryticket-group-21.expticket-group-1.scoresticket-group-21.summaryticket-clone-1.dotbug-5038.dotbundle-order-partial.expbug-5038.dotbundle-order-partial.expticket-master-1.scoresticket-master-1.scoresticket-master-14.dotticket-master-14.expticket-master-1.scoresticket-master-14.summarybug-5038.dotbundle-order-partial.expticket-master-16.scoresticket-master-17.dotticket-master-17.expticket-master-16.scoresticket-master-17.summarybug-5038.dotbundle-order-partial.expticket-master-16.scoresticket-master-16.summaryticket-master-17.dotticket-master-17.expticket-master-16.scoresticket-master-17.summarybug-5038.dotbundle-order-partial.expticket-master-16.scoresticket-master-16.summaryticket-master-17.dotticket-master-17.expticket-master-16.scoresticket-master-17.summarybug-5038.dotbundle-order-partial.expticket-master-12.scoresticket-master-12.summaryticket-master-14.expticket-master-1.scoresticket-master-14.summaryticket-master-10.dotticket-master-10.expticket-master-10.scoresticket-master-10.summaryticket-master-11.dotticket-master-11.expticket-master-11.scoresticket-master-11.summaryticket-master-17.expticket-master-16.scoresticket-master-17.summaryticket-master-10.dotticket-master-10.expticket-master-10.scoresticket-master-10.summaryticket-master-11.dotticket-master-11.expticket-master-11.scoresticket-master-11.summaryticket-master-21.expticket-master-21.scoresticket-master-21.summaryticket-primitive-1.dotticket-primitive-1.expticket-primitive-1.scoresticket-primitive-1.summarycluster-specific-params.scoresbug-5038.dotbundle-order-partial.expcluster-specific-params.scoresbug-5038.dotbundle-order-partial.expticket-primitive-1.scoresticket-primitive-1.scoresticket-primitive-14.dotticket-primitive-14.expticket-primitive-1.scoresticket-primitive-14.summarybug-5038.dotbundle-order-partial.expticket-primitive-1.scoresticket-primitive-13.summaryticket-primitive-14.dotticket-primitive-14.expticket-primitive-1.scoresticket-primitive-14.summaryticket-primitive-14.dotticket-primitive-14.expticket-primitive-1.scoresticket-primitive-14.summarybug-5038.dotbundle-order-partial.expticket-primitive-1.scoresticket-primitive-13.summaryticket-primitive-11.dotticket-primitive-11.expcluster-specific-params.scoresticket-primitive-11.summaryticket-primitive-14.dotticket-primitive-14.expticket-primitive-1.scoresticket-primitive-14.summaryticket-primitive-1.scoresbug-5038.dotbundle-order-partial.expticket-primitive-1.scoresticket-primitive-13.summaryticket-primitive-14.dotticket-primitive-14.expticket-primitive-1.scoresticket-primitive-14.summarybug-5038.dotbundle-order-partial.expcluster-specific-params.scoresticket-primitive-12.summaryticket-primitive-14.expticket-primitive-1.scoresticket-primitive-14.summaryticket-primitive-1.dotticket-primitive-1.expticket-primitive-1.scoresticket-primitive-1.summaryticket-primitive-11.dotticket-primitive-11.expcluster-specific-params.scoresticket-primitive-11.summaryticket-primitive-3.dotticket-primitive-14.expticket-primitive-1.scoresticket-primitive-14.summaryticket-primitive-1.dotticket-primitive-1.expticket-primitive-1.scoresticket-primitive-1.summaryticket-primitive-11.dotticket-primitive-11.expcluster-specific-params.scoresticket-primitive-11.summaryticket-primitive-21.expticket-primitive-1.scoresticket-primitive-21.summarybug-5038.dotbundle-order-partial.expticket-rsc-sets-10.scoresticket-rsc-sets-10.scoresticket-rsc-sets-10.dotticket-rsc-sets-10.expticket-rsc-sets-10.scoresticket-rsc-sets-10.summaryticket-rsc-sets-10.dotticket-rsc-sets-10.expticket-rsc-sets-10.scoresticket-rsc-sets-10.summaryticket-rsc-sets-10.expticket-rsc-sets-10.scoresticket-rsc-sets-10.summaryticket-rsc-sets-1.dotticket-rsc-sets-1.expticket-rsc-sets-1.scoresticket-rsc-sets-1.summaryticket-rsc-sets-2.scoresticket-rsc-sets-3.dotticket-rsc-sets-10.expticket-rsc-sets-10.scoresticket-rsc-sets-10.summarybug-5038.dotbundle-order-partial.expticket-rsc-sets-10.scoresticket-rsc-sets-11.summaryticket-rsc-sets-10.dotticket-rsc-sets-10.expticket-rsc-sets-10.scoresticket-rsc-sets-10.summaryunfence-definition.scoresunfence-definition.scoresbundle-order-partial.expunmanaged-stop-1.dotbundle-order-partial.expunmanaged-stop-1.scoresunmanaged-stop-1.summaryunmanaged-stop-3.dotunmanaged-stop-3.expbundle-order-partial.expplacement-priority.scoresplacement-priority.scoresbalanced.scoresreload-versioned.scoreswhitebox-fail1.dotwhitebox-fail1.expwhitebox-fail1.scoresrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpacemaker-1.1.18+20180430.b12c320f5-lp150.2.20.1.src.rpmpacemaker-cts@ @@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/python3.6libpacemaker3python(abi)python3rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.1.18+20180430.b12c320f5-lp150.2.20.13.63.0.4-14.6.0-14.0-15.2-14.14.1]@],j\Q\Ɋ@\8\f\\@\R@\I\E@ZYan Gao Yan Gao Yan Gao Yan Gao Yan Gao Yan Gao Yan Gao ygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comjengelh@inai.deygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.combliu@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comrbrown@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comdimstar@opensuse.orgygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comtchvatal@suse.comygao@suse.comtchvatal@suse.comtchvatal@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comrguenther@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comdimstar@opensuse.orgygao@suse.comygao@suse.comygao@suse.com- cts: ComponentFail: killed corosync doesn't respawn immediatelly. * 0001-Test-cts-ComponentFail-killed-corosync-doesn-t-respa-1.1.patch - fencer: improved log messages regarding fencing actions (bsc#1151007) * bsc#1151007-0005-Log-fencer-improved-log-messages-regarding-fencing-a.patch - fencer: no need to check the length of a non-empty list for pending fencing actions (bsc#1151007) * bsc#1151007-0004-Refactor-fencer-no-need-to-check-the-length-of-a-non.patch - fencer: Indicate fencing target in the logs when scheduling and executing fencing command (bsc#1151007) * bsc#1151007-0003-Log-fencer-Indicate-fencing-target-in-the-logs-when-.patch - fencer: Make sure concurrent fencing commands get triggered to execute (bsc#1151007) * bsc#1151007-0002-Fix-fencer-Make-sure-concurrent-fencing-commands-get.patch - fencer: Don't let a fencing command with a long delay block any other commands pending on the device (bsc#1151007) * bsc#1151007-0001-Fix-fencer-Don-t-let-a-fencing-command-with-a-long-d.patch- scheduler: wait for probe actions to complete to prevent unnecessary restart/re-promote of dependent resources (bsc#1130122, bsc#1032511) * bsc#1130122-0001-Fix-scheduler-wait-for-probe-actions-to-complete-to-.patch * bsc#1130122-0002-Test-scheduler-wait-for-probe-actions-to-complete-to.patch- controller: confirm cancel of failed monitors (bsc#1133866) * bsc#1133866-0003-Fix-controller-confirm-cancel-of-failed-monitors.patch - controller: improve failed recurring action messages (bsc#1133866) * bsc#1133866-0002-Log-controller-improve-failed-recurring-action-messa.patch - libcrmcommon: improve parse_op_key() efficiency (bsc#1133866) * bsc#1133866-0001-Refactor-libcrmcommon-improve-parse_op_key-efficienc.patch - libcrmcommon: return error when applying XML diffs containing unknown operations (bsc#1127716) * bsc#1127716-0003-Fix-libcrmcommon-return-error-when-applying-XML-diff.patch - libcrmcommon: avoid possible use-of-NULL when applying XML diffs (bsc#1127716) * bsc#1127716-0002-Fix-libcrmcommon-avoid-possible-use-of-NULL-when-app.patch - libcrmcommon: correctly apply XML diffs with multiple move/create changes (bsc#1127716) * bsc#1127716-0001-Fix-libcrmcommon-correctly-apply-XML-diffs-with-mult.patch- controller: avoid memory leak when duplicate monitor is scheduled * 0001-Low-controller-avoid-memory-leak-when-duplicate-moni.patch - libcrmcommon: return proper code if testing pid is denied (bsc#1131353, bsc#1131356) * bsc#1131353-bsc#1131356-0009-Low-libcrmcommon-return-proper-code-if-testing-pid-i.patch- libcrmcommon: avoid use-of-NULL when checking whether process is active (bsc#1131353, bsc#1131356) * bsc#1131353-bsc#1131356-0008-Fix-libcrmcommon-avoid-use-of-NULL-when-checking-whe.patch - tools: run main loop for crm_resource clean-up with resource (bsc#1140519) * bsc#1140519-0001-Fix-tools-crm_resource-C-should-wait-for-all-replies.patch- controld: fix possible NULL pointer dereference (bsc#1131353, bsc#1131356) * bsc#1131353-bsc#1131356-0007-Med-controld-fix-possible-NULL-pointer-dereference-1.1.patch - pacemakerd vs. IPC/procfs confused deputy authenticity issue (CVE-2018-16877, bsc#1131356) (CVE-2018-16878, bsc#1131353) * bsc#1131353-bsc#1131356-0002-High-pacemakerd-vs.-IPC-procfs-confused-deputy-authe.patch * bsc#1131353-bsc#1131356-0003-High-pacemakerd-vs.-IPC-procfs-confused-deputy-authe.patch * bsc#1131353-bsc#1131356-0004-High-pacemakerd-vs.-IPC-procfs-confused-deputy-authe-1.1.patch * bsc#1131353-bsc#1131356-0005-High-pacemakerd-vs.-IPC-procfs-confused-deputy-authe.patch * bsc#1131353-bsc#1131356-0006-High-pacemakerd-vs.-IPC-procfs-confused-deputy-authe-1.1.patch - libservices: fix use-after-free wrt. alert handling (CVE-2019-3885, bsc#1131357) * bsc#1131357-0001-High-libservices-fix-use-after-free-wrt.-alert-handl.patch - pacemakerd: only one active process check needed * 0001-Low-pacemakerd-only-one-active-process-check-needed.patch - Shutdown corosync after a fatal error * 0001-Shutdown-corosync-after-a-fatal-error.patch- libcrmcluster: avoid use-of-NULL when searching for remote node (bsc#1128772) * bsc#1128772-0001-Fix-libcrmcluster-avoid-use-of-NULL-when-searching-f.patch- scheduler: cl#5301 - respect order constraints when relevant resources are being probed (bsc#1117934, bsc#1128374) * bsc#1117934-0001-Fix-scheduler-cl-5301-respect-order-constraints-when.patch * bsc#1117934-0002-Test-scheduler-cl-5301-respect-order-constraints-whe.patch * bsc#1117934-0003-Test-scheduler-cl-5301-respect-order-constraints-whe.patch- CTS: really don't require nodes to be specified if listing tests (bsc#1114840) * bsc#1114840-0001-Test-CTS-really-don-t-require-nodes-to-be-specified-.patch- cts: temporarily disable any enabled cluster serivces when running remote tests * 0002-Test-cts-temporarily-disable-any-enabled-cluster-ser.patch - cts: service counts as enabled only if it's explicitly enabled * 0001-Test-cts-service-counts-as-enabled-only-if-it-s-expl.patch- cts-exec: still run the tests for the other resource classes even without python systemd bindings (bsc#1121808) * bsc#1121808-0001-Test-cts-exec-still-run-the-tests-for-the-other-reso.patch- CTS: ignore monitor failures when testing remote node fencing * 0002-Test-CTS-ignore-monitor-failures-when-testing-remote.patch - CTS: lower remote connection failure detection time * 0001-Test-CTS-lower-remote-connection-failure-detection-t.patch - cts: use bash in the pacemaker-cts-dummyd * 0001-Test-cts-use-bash-in-the-pacemaker-cts-dummyd.patch - cts: clear constraints on cluster nodes (bsc#1121272) * bsc#1121272-0003-Test-cts-clear-constraints-on-cluster-nodes.patch - cts: resume any possibly frozen pacemaker_remoted when cleaning up the test (bsc#1121272) * bsc#1121272-0002-Test-cts-resume-any-possibly-frozen-pacemaker_remote.patch - cts: simulate failure of pacemaker_remoted by freezing it with SIGSTOP (bsc#1121272) * bsc#1121272-0001-Test-cts-simulate-failure-of-pacemaker_remoted-by-fr.patch - CTS: don't require nodes to be specified if only listing tests (bsc#1114840) * bsc#1114840-0001-Test-CTS-don-t-require-nodes-to-be-specified-if-only.patch - cts: set default number of iterations to 1 * 0001-Test-cts-set-default-number-of-iterations-to-1.patch- fenced: Handle fencing requested with nodeid by utilizing the membership cache of known nodes (bsc#1094208, bsc#1107270, bsc#974108) * bsc#1094208-0002-Refactor-fenced-Handle-fencing-requested-with-nodeid.patch - controld: able to manually confirm unseen nodes are down (bsc#1094208, bsc#1107270) * bsc#1094208-0001-Fix-controld-able-to-manually-confirm-unseen-nodes-a.patch- Add missing %pre section for cts- spec: Install /etc/pacemaker directory for storing authkey file (bsc#1082883) - spec: unify quoting in {pre,post}* scriptlets' action soliciting - spec: add a simple retention of pre-existing log move targets - XML: upgrade-2.10.xsl: resource meta_attributes: tweak diagnostic msg * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-tweak-diagnostic-msg.patch - XML: upgrade-2.10.xsl: re-apply on scheduler CTS test cases * pacemaker-XML-upgrade-2.10.xsl-re-apply-on-scheduler-CTS-test-cases.patch - XML: upgrade-2.10.xsl: resource meta_attributes: validity conformance * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-validity-conformance.patch- execd: avoid memory leak when testing remote key * pacemaker-execd-avoid-memory-leak-when-testing-remote-key.patch - cts-scheduler: avoid unsupported usage of requires * pacemaker-cts-scheduler-avoid-unsupported-usage-of-requires.patch - controld: avoid memory leak when synthesizing failure * pacemaker-controld-avoid-memory-leak-when-synthesizing-failure.patch - XML: upgrade-2.10.xsl: resource meta_attributes: isolation* items * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-isolation-items.patch - XML: upgrade-2.10.xsl: make diagnostics more direct wrt. context * pacemaker-XML-upgrade-2.10.xsl-make-diagnostics-more-direct-wrt-context.patch - XML: upgrade-2.10.xsl: remaining "marking" space with op meta_attributes * pacemaker-XML-upgrade-2.10.xsl-remaining-marking-space-with-op-meta_attributes.patch - XML: upgrade-2.10.xsl: simplify 2/2: HelperIdentity, no INNER-RECURSION * pacemaker-XML-upgrade-2.10.xsl-simplify-2-2-HelperIdentity-no-INNER-RECURSION.patch - XML: upgrade-2.10.xsl: simplify 1/2: resource instance_attributes * pacemaker-XML-upgrade-2.10.xsl-simplify-1-2-resource-instance_attributes.patch - XML: regression.sh: modularize "XSLT processor", allow substitutes * pacemaker-XML-regression.sh-modularize-XSLT-processor-allow-substitutes.patch - tools: improve error messages from crm_resource --move * pacemaker-tools-improve-error-messages-from-crm_resource---move.patch - tools: use output redirection correctly in crm_standby * pacemaker-tools-use-output-redirection-correctly-in-crm_standby.patch - tools: handle multiple values properly in crm_attribute * pacemaker-tools-handle-multiple-values-properly-in-crm_attribute.patch - tools: bash portability issue in crm_failcount * pacemaker-tools-bash-portability-issue-in-crm_failcount.patch - libcrmservice: don't consider a cancelled recurring operation as failed * pacemaker-libcrmservice-dont-consider-a-cancelled-recurring-operation-as-failed.patch - tools: cibsecret --help/--version doesn't require cluster to be running (bsc#1102915) * bsc#1102915-pacemaker-tools-cibsecret---help--version-doesnt-require-cluster-to-be-running.patch - spec: package cts-exec-helper with main package instead of -cli - spec: move old logs after upgrade - scheduler: improve failed op message * pacemaker-scheduler-improve-failed-op-message.patch - libcrmservice: find absolute paths when used with "service:" * pacemaker-libcrmservice-find-absolute-paths-when-used-with-service.patch - libcrmservice: separate LSB-specific code into own source files * pacemaker-libcrmservice-separate-LSB-specific-code-into-own-source-files.patch - execd: handle systemd actions correctly when used with "service:" * pacemaker-execd-handle-systemd-actions-correctly-when-used-with-service.patch- contoller,scheduler: guard hash table deletes (bsc#1136712) * pacemaker-contoller-scheduler-guard-hash-table-deletes.patch - controller: don't abort after delay if we're no longer DC * pacemaker-controller-dont-abort-after-delay-if-were-no-longer-DC.patch - libcrmcommon,pacemakerd: kernel task name is at most 15 characters * pacemaker-libcrmcommon-pacemakerd-kernel-task-name-is-at-most-15-characters.patch - io.c: restore -Werror buildability, put conversion specifier last * pacemaker-io.c-restore--Werror-buildability--put-conversion-specifier-last.patch- libcrmcommon: avoid memory leak on failed IPC send * pacemaker-libcrmcommon-avoid-memory-leak-on-failed-IPC-send.patch - daemons: improve connection loss messages * pacemaker-daemons-improve-connection-loss-messages.patch - libcrmcommon: improve connection loss message * pacemaker-libcrmcommon-improve-connection-loss-message.patch - pacemaker_remote: correct documentation URL in systemd unit file * pacemaker-pacemaker_remote-correct-documentation-URL-in-systemd-unit-file.patch - libcrmcommon: check file/directory writability better * pacemaker-libcrmcommon-check-filedirectory-writability-better.patch - spec: no more buildroot XML to modify- Update to version 1.1.18+20180430.b12c320f5: * XML: upgrade-2.10.xsl: fix "mark space" issue (bsc#1091661)- Update to version 1.1.18+20180427.a34ccd926: - crmd: avoid double free after ACL rejection of resource delete - lib: Changed to lowercase comparison. - all: correct misspellings - controld: remove deprecated configdir parameter - controld: deprecate and ignore configdir parameter - controld: consistently indent with spaces instead of tabs - libcrmcommon: don't record pending notify actions as completed - crmd: improve messages when a node is unexpectedly lost - cib: improve shutdown messages - cts-regression: allow specifying to run multiple tests again (bsc#1091360)- Update to version 1.1.18+20180417.24df451b5: - alerts: Delete redundant code. - liblrmd: cast time_t to long long when printing - cts: separate dummy systemd service into separate files * Drop obsolete fate-323526_pacemaker-tests-shebang-python3.patch - crm_diff: rhbz#1561617 - Ignore attribute placement when comparing in 'cib' mode - spec: remove reference to long-gone file - spec: mark -cts & -doc packages as noarch - spec: fix malformed conditional macros for systemd-less cases - alerts: Change timestamp of Alert of snmp.- Update to version 1.1.18+20180411.2f77f4922: - libcrmcommon: free signal triggers when cleaning up mainloop - libcrmcommon: fix memory leak in schema workaround - fencing: avoid memory leaks when freeing remote operation - fencing: free dynamic memory at stonithd shutdown - crmd: delete resource from lrmd when appropriate (bsc#1117381) - Test: rhbz#1565187 - Ensure failures that cause fencing are not removed until after fencing completes - rhbz#1565187 - Ensure failures that cause fencing are not removed until after fencing completes- Update to version 1.1.18+20180406.633845120: - libcrmcommon: add a byte to pid file holder - attrd,cib,libcrmcommon: avoid %z - crmd: avoid memory leak when synthesizing operation result - tools: avoid memory leak on invalid resource - crmd: log rc code as extended information - cib: avoid file descriptor leak on temporary file creation - pengine: avoid redundant test - libcrmcommon: handle compression failures properly - libcrmcommon: improve empty string check - various: improve NULL checks - libcrmcommon: improve patch xpath searches - libcrmcommon,tools: use format strings appropriate to variables - libcrmcommon: use correct argument type for duration - libcrmcluster: avoid potential use-of-NULL - libcrmcommon,libstonithd: avoid resource leaks - tools: get sensor lun in ipmiservicelogd before using it - schema upgrade: temporary fix to avoid crash on newly present text- Update to version 1.1.18+20180406.ce623681e: - fencing: convert fence_legacy to python - fencing: fix typos in messages- Update to version 1.1.18+20180406.18fe1cc2b: - XML: upgrade-2.10.xsl: add transform for automatic upgrades to latest schema - Log: establish correct character string literals also with qb_logt sink - pengine: fix swapped warning message arguments leading to segfault (bsc#1090538) - cts-pengine: add regression test for notifications for unrunnable actions - cts-pengine: update regression tests for notification changes - rhbz#1545449 - Do not perform notifications for events we know wont be executed - bundle: Added add-host option. - liblrmd: add API function for new lrmd op - lrmd: add new lrmd op to list recurring ops - spec: require corosync >= 2.0.0 - crmd,libcrmcommon,libpe_status: guint can't be negative - xml: Allow local "kind" in resource_set within rsc_order (bsc#1085515) - Pacemaker Explained: "symmetrical" defaults to "false" for serialize orders (bsc#1085515) - pengine: "symmetrical" defaults to "false" for serialize orders (bsc#1085515) - pengine: Avoid potential use-of-NULL in unpack_simple_rsc_order() (bsc#1085515) - cts-pengine: add new regression test for interval handling - libpe_status: handle ISO8601 intervals when checking for blocking failures - pengine: properly cancel recurring monitors - pengine: improve recurring operation messages - pengine: check for duplicate intervals properly - libcrmcommon: avoid misuse of crm_get_msec() - pengine: treat reconnect_interval more consistently with action intervals - libpe_status: use default timeout rather than 0 if timeout spec is bad - libpe_status: use correct default timeout for monitors- Update to version 1.1.18+20180322.d37067b2a: - spec: Make sure shadow package is installed before adding user and group- Update to version 1.1.18+20180313.2c83c6872: - cts-pengine: add regression test for changing bundle replica count - libpe_status: handle unique bundle children correctly- Update to version 1.1.18+20180312.31c732adc: - spec: make shadow dependency explicit - spec: drop requirements for bison and flex- Update to version 1.1.18+20180309.e51687162: - crmd,liblrmd,libcrmcommon: improve remote node disconnection logs - libcrmcommon: add function to get text equivalent of client type - crmd: always write faked failures to CIB whenever possible - liblrmd: add function to create resource info structure - crmd: functionize setting fake operation status - crmd: always assert when operation can't be created - crmd: avoid core dump if remote connection doesn't exist - crmd: improve lrmd failure handling - crmd: return rich error codes from get_lrm_resource() - crmd: match only executed down events - crmd: functionize pieces of do_lrm_invoke() - crmd: don't abort for v2 diff LRM refresh if actions pending - crmd: validate CIB diffs better- Update to version 1.1.18+20180305.9cd0f6cb8: - libcrmcommon: avoid memory leak when schema transform not found - tools: warn if crm_resource --wait called in mixed-version cluster - Install /etc/pacemaker directory for storing authkey file (bsc#1082883)- Update to version 1.1.18+20180226.f788652cf: - crmd: log transition ID when aborting - crmd: always log unmatched down events at least at debug level - pengine: deprecate require-all in rsc_order (fate#324508) - libpe_status: deprecate stonith-action=poweroff (fate#324508) - tools: already latest schema is not failure for cibadmin --upgrade - libcrmcluster: prefer corosync name over ring0_addr (fate#324508) - spec: add gcc to BuildRequires - attrd: Synchronize attributes held only on own node.- Build: Ship cibsecret by pacemaker instead of cluster-glue (bsc#1082456) * Drop obsolete pacemaker-cibsecret-tool-temp-disabled.patch- Update to version 1.1.18+20180216.ae50b7f5d: - various: improve string allocation - XML: upgrade-2.10.xsl: re(drop) rsc_colocation/@score-attribute{,-mangle} - XML: upgrade-*.xsl: bump the validate-with field from within stylesheet - XML: upgrade-*.xsl: omit XML declaration - upgrade-*.xsl: don't be picky about comments, PIs, etc.- Update to version 1.1.18+20180213.965befd59: - libcrmcommon: use /tmp when creating temporary XML file - tools: crm_master should always work on node attribute - tools: crm_resource --cleanup couldn't match clone instances - tools: crm_resource --refresh should ignore --operation and --interval - crmd: quorum gain should always cause new transition - rhbz#1527072 - Correctly observe colocation constraints with bundles in the Master role - Bug rhbz#1519812 - Prevent notify actions from causing --wait to hang - libpe_status: recover after failed demote when appropriate - lrmd: always use most recent remote proxy - libpe_status: limit resource type check to primitives - PE: correct mispelled constant - PE: Ensure stop operations occur after stopped remote connections have been brought up - PE: Remote connection resources are safe to to require only quorum - PE: Only allowed nodes need to be considered when ordering resource startup after _all_ recovery - PE: Ordering bundle child stops/demotes after container fencing causes graph loops - PE: Passing boolean instead of a pointer- Update to version 1.1.18+20180209.7acb22379: - use proper way to make output files executable - spec: move lrmd_test to cli package - spec: make log directories owned by cli package - spec: move all test data into cts package - pengine: move regression test to cts as cts-pengine - lrmd: move regression test to cts as cts-lrmd - fencing: move regression test to cts as cts-stonithd - tools: move CLI regression test to cts as cts-cli - rename top-level testing files and move to cts directory - tools: drop crmadmin -i and -d options (fate#324508)- Update to version 1.1.18+20180208.f6a261987: - Feature: crmd: modify feature set handling- Update to version 1.1.18+20180205.b44c57e35: - pengine,doc,tools: rename "master score" to "promotion score" (fate#324508) - libpe_status: rename bundle 'masters' to 'promoted-max' (fate#323415) - pengine,libpe_status: rename master-{max,node-max} to promoted-* (fate#324508) - various: merge clone resource type and master/slave resource type (fate#324508) - attrd,pacemakerd,libcrmcommon: make "Exiting" last message - don't use corosync logging settings (fate#324508) - crmd,libpe_rules: drop support for notification-agent/recipient - tools: improve crm_failcount exit code usage- Update to version 1.1.18+20180129.c801ab11e: - allow configuring specific python intepreter version (fate#323526) * Drop obsolete fate-323526_pacemaker-pacemaker-configure-AM_PATH_PYTHON-python3.patch - use auto-configured python executable in python shebangs (fate#323526) * Update fate-323526_pacemaker-tests-shebang-python3.patch - xml: drop score-attribute and score-attribute-mangle - pengine: avoid misuse of function parameter - libcrmservice,pacemakerd: improve privilege dropping- Update to version 1.1.18+20180119.9146c3c20: - crmd: Avoid double-removal of glib event source on stopping- Update to version 1.1.18+20180118.9c3f7a49c: - libcrmcommon: put exit/return handling in own source/header files - Build: bump build dependencies - Rebase: * pacemaker-Wno-format-signedness.patch- configure: Check for python3 with AM_PATH_PYTHON (fate#323526) * fate-323526_pacemaker-pacemaker-configure-AM_PATH_PYTHON-python3.patch- Update to version 1.1.18+20180112.bd7115b8c: - tools: improve help text - libpe_status: deprecate restart-type and role_after_failure- Update to version 1.1.18+20180109.57d48a1b1: - libcluster,libcrmcommon: improve BZ2 error messages - all: use consistent exit status codes - libcrmcommon,tools: improve XML write error handling - stonithd,libcrmcommon: auto-calculate stonith-watchdog-timeout when requested (fate#324508) - logrotate: switch user when rotating logs- cts: Operate pacemaker service on startup to prevent triggering StopWhenUnneeded of corosync service * pacemaker-cts-StartCmd.patch- Update to version 1.1.18+20180104.7ba28d854: - tools: improve crm_standby option handling - tools: improve crm_standby help and error messages - tools: improve crm_master option handling - tools: improve crm_master help and error messages - tools: remove deprecated stonith_admin option (fate#324508) - tools: remove deprecated crm_verify option (fate#324508) - tools: remove deprecated crm_attribute --node-uuid option (fate#324508) - tools: avoid using deprecated options - tools: remove deprecated crm_resource options (fate#324508) - libpe_status: use consistent monitor for implicit remotes - all: overhaul log locations (fate#324508)- spec: Switch dependencies from python to python3 (fate#323526) - tests: Switch shebang from /usr/bin/python to /usr/bin/python3 (fate#323526) * fate-323526_pacemaker-tests-shebang-python3.patch- Update to version 1.1.18+20180101.494eacba4: - migrate cts to python3 (fate#323526)- Update to version 1.1.18+20171221.c91a650ec: - libcrmcommon: drop special handling of pre-1.1.7 failed recurring op history - libcrmcommon: drop special handling of pre-1.1.4 migration history entries - crmd: drop support for DCs that don't support throttling - cib,libcrmcommon: drop support for PCMK_legacy variable- libcrmcluster: use crm_strdup_printf() instead of calloc() - attrd: avoid small memory leak at start-up - systemd unit files: restore DBus dependency - libcrmservice: avoid memory leak on DBus error - pengine: validate more function arguments - Upstream version cs: 098d557cc495944e1b6ebd9d05b819d6da74825e- libpe_status: drop support for "requires" operation meta-attribute (fate#324508) - tools: crm_resource --cleanup with no resource specified (bsc#1071503) - tools: crm_resource --cleanup (bsc#1071503) - crmd,libpe_status: drop support for legacy option aliases (fate#324508) - libstonithd,libpe_status: drop support for pcmk_poweroff_action (fate#324508) - libstonithd,libpe_status: drop support for pcmk_arg_map (fate#324508) - libstonithd,libpe_status: drop support for pcmk_*_cmd (fate#324508) - libpe_status,libpe_rules: drop support for default-action-timeout (fate#324508) - libpe_status: use correct default timeout for probes - libpe_status: drop support for operation meta-attributes in instance_attributes (fate#324508) - libpe_status: fix precedence of operation meta-attributes - libpe_status,libpe_rules: remove support for is-managed-default (fate#324508) - libpe_status,libpe_rules: drop support for default-resource-stickiness (fate#324508) - crmd: drop support for LRMD_MAX_CHILDREN environment variable (fate#324508) - tools: remove crm_mon SMTP support (fate#324508) - tools: remove crm_mon SNMP support (fate#324508) - lrmd: remove deprecated -r/--dummy command-line option (fate#324508) - tools: crm_resource --cleanup for non-primitive resources (bsc#1071503) - pengine: unfence before probing or starting fence devices - Upstream version cs: 4528eb3b726197ab077243ab923ed291473f0ed7- attrd: ensure node name is broadcast at start-up (CLBZ#5330) - Upstream version cs: 407ded8de381543e71c5b94b3ade296fcfd2c828- libpe_status: remove support for default-resource-failure-stickiness (fate#324508) - libpe_status: remove support for resource-failure-stickiness (fate#324508) - various: remove support for pre-Pacemaker-1.0 CIB XML (fate#324508) - libpe_status,tools: remove support for legacy ticket state entries (fate#324508) - various: remove isolation wrapper support (fate#324508) - systemd unit files: enable TasksMax=infinity (bsc#1028138, bsc#1066710) * Drop obsolete bug-1028138_pacemaker-pacemaker.service-TasksMax.patch - Upstream version cs: 53a3fe14b15b087bbde9ccb524d11d0a413cc6e9- RA: NodeUtilization RA is now shipped by resource-agents package (bsc#1070347) * Drop bug-1015842_pacemaker-NodeUtilization-RA.patch- crmd: default record-pending to TRUE (fate#324508) - tools: enable new crm_resource --cleanup/--refresh behavior (fate#324508) - Upstream version cs: f36ad364748880815bf00151c516a1f2deae2fed- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Update to version 1.1.18 - libpe_status: always use default key location with bundles - attrd,stonithd: more efficient regular expression parsing - libpe_status: avoid potential NULL dereference - tools: use proper variable in message from crm_resource -g - tools: use uber-parent for crm_resource -a/-A - tools: use g_main_loop_is_running() properly - libpe_status: monitors are rescheduled, not reloaded - crmd: determine restart/private digests correctly - systemd: add TasksMax comment to pacemaker_remote unit (bsc#1028138, bsc#1066710) - tools: make regression test insensitive to line number changes - pengine,tools,libpe_status: avoid unnecessary use of pe_find_current - pacemaker.service: Recommend not to limit tasks (bsc#1028138, bsc#1066710) * Update bug-1028138_pacemaker-pacemaker.service-TasksMax.patch - tools: set the correct OCF_RESOURCE_INSTANCE env when crm_resource --force-* executes RA - typo: overriden -> overridden - portability: the difference of time_t values is given by difftime() - pengine: avoid not-really-possible use-of-NULL - PE: Have bundles log to stderr so that 'journalctl -M' works (rkt) - tools: don't expect reply to failed send - pengine: use newer Pacemaker Remote terminology - pengine: memory leak when writing graph to file - tools: don't reinvent the glib wheel - tools: implement clean-up dry-run correctly - pengine: avoid potential use-of-NULL - Update regression test outputs - PE: Improved logging of reasons for stop/restart actions - PE: Allow all resources to stop prior to probes completing - PE: Correctly defer processing of resources inside containers - crm_resource: Ensure we wait for all messages before exiting - crm_resource: Have cleanup operate only on failures - PE: Have bundles log to stderr so that 'docker logs' works - PE: Resources are allowed to stop before their state is known everywhere - PE: Use the node we already have and know isnt NULL - PE: Flag resources that are acting as remote nodes - crmd: Scale all cib operation timeouts - PE: Bare metal remotes _can_ run resources now and must be probed - PE: Bundles only need to wait for other containers on the same node to be probed - crmd: Scale timeouts with the number of remotes too - PE: There is no need for port mapping directives when net=host is specified - PE: Do not always expire failed operations of nested remotes - PE: Consolidate REMOTE_CONTAINER_HACK logic - PE: Exclude resources and nodes from the symmetric_default constraint in some circumstances - crm_resource: Don't cleanup on nodes not meeting the discovery conditions - PE: Restore the ability to send the transition graph via the disk if it gets too big - crm_resource: Prevent disconnection from crmd during cleanup - PE: Do not probe connection resources until the container is active - PE: Detailed resource information should include connection resource state - Tools: Allow crm_resource to operate on anonymous clones in unknown states - tools: Clean up everywhere if we don't know anything about the resource - crm_resource: See what cleanup would have done for a saved configuration - PE: Only pass requests for promote/demote flags onto the bundle's child - Upstream version cs: 2b07d5c5a908998891c3317faa30328c108d3a91 (Pacemaker-1.1.18)- pengine: if ignoring failure, also ignore migration-threshold - libcrmcommon,liblrmd,lrmd: improve messages for failed remote sends - libcrmcommon,lrmd: meaningful error codes when sending remote messages - libcrmcommon: lower watchdog messages when default - tools: set meta_timeout env when crm_resource --force-* executes RA - fencing: don't print event twice with stonith_admin --verbose - fencing: memory leak in stonith_admin --env - fencing: improve stonith_admin help - crmd: hard error if remote start fails due to missing key - libcrmcommon,liblrmd: report meaningful async connection errors - libcrmcommon: return meaningful error codes to connection callbacks - libcrmcommon: async connection callback must get negative error codes - libcrmcommon,liblrmd: improve remote connection messages - pacemaker_remote: warn if TLS key can't be read at start-up - lrmd: tweak TLS listener messages - pengine: don't probe offline or unclean guest nodes (fate#324441) - agents: ifspeed - Try to detect interface name from ip address. - pengine: don't keep unique instances on same node - pengine: improve messages when assigning resources to nodes - Upstream version cs: 23be51236edc34477a99d6979bc0e2cc1e1a7684- libpe_status: avoid use-after-free (again) - lrmd: don't reject protocol 1.0 clients (bsc#1009076) - tools: print descriptive messages for OCF exit code - tools: differentiate trace log level for RAs - tools: show RAs debug logs only when verbose mode for crm_resource --force-* - tools: suppress an invalid error message for crm_resource --force-* options - pengine: don't schedule reload and restart in same transition - libcrmservice: list systemd agents alphabetically - libcrmcommon: add function to sort list alphabetically - pengine: new regression test for unrecoverable remote connection - libcrmservice: avoid infinite loop on bad DBus reply - libcrmservice: list systemd unit files, not only active units - libpe_status: print container type in lowercase when outputting XML - tools: re-enable crm_resource --lifetime option (CLBZ#5251, bsc#950128) - libcrmcluster: improve error checking when updating node name - tools: fix crm_resource --why output when resource and node are specified - libcrmservice: parse LSB long description correctly - libcrmservice: follow LSB standard for header block more strictly - libcommon: Erase old exit_reason - Upstream version cs: 36d2962a8613322fc43d727d95720d61a47d0138- crm_mon: error-exit child if execl should return - crmd: avoid memory leak when caching meta-data - tools: ensure crm_resource data set is initialized - libcib: ensure xpath result isn't empty - tools: missing break statement in attrd_updater - libcrmcommon: check sscanf() result when parsing schema version - tools: check sscanf return value when parsing failed op list - tools: treat bundles with replicas like clones when restarting - tools: allow crm_resource to be called without arguments - tools: update regression test for recent message changes - tools: improve crm_resource --show-metadata error messages (CLBZ#5287) - libcrmcommon: add functions for using agent specifications - tools: improve crm_resource help (CLBZ#5251, bsc#950128) - libcrmcommon: improve cluster option parsing - Upstream version cs: 27b631162104d90e944cbc107c2d46e983f94ca7- spec: Disable deprecated crm_mon SNMP/ESMTP support (configure alerts instead)- pengine: add tests for no-quorum-policy=suicide - libpe_status: properly detect when nodes should suicide - libpe_status: always log startup-fencing value - libpe_status: generalize ability to log warning only once - pengine: reset loss-policy from fence to stop if no fencing - pengine: avoid use-of-NULL when unpacking tickets - tools: ensure crm_resource works if no command is specified - libpe_status: validate no-quorum-policy=suicide correctly - tools: use-after-free in crm_diff - RA: ClusterMon - Correctly handle "update" parameter - attrd: "peer peer loss" -> "peer loss" - Tools:Refactored Crm_resource to have proper assignments for require_* - Upstream version cs: c4a09cfec99570a2509831f4b8974457dcdb1af6- Log: Reduce verbosity of developer logging - PE: We most definitely need to probe connection resources - PE: Ensure the bundle nodes get set with the correct discovery mode - PE: Implement probing of container remote nodes (fate#324441) - attrd: Tweak log messages for clarity - crm_resource: Do not send history erasure commands for nodes where this is none - PE: Resources in bundles should also respect failcounts - PE: Do not send notifications to unclean bundles - PE: Prevent graph loops when fencing the host out from underneath a bundle - Tools: Allow bundle resources to read/write master scores based on the same logic as attrd (cf34f4c) - PE: bundle: Send an additional host list when container-attribute-target=host - PE: Correctly interpret colocation with bundles - PE/attrd: Allow bundle resources to read/write attributes based on the physical host rather than the container name - Upstream version cs: 4328c6a65424d1caf9785107664ec1b7fc824664- Rebase: * bug-728579_pacemaker-stonith-dev-id.patch - Fix: -Wformat-truncation=2: prevent format truncation - snprintf: use correct signedness in print format specifiers - snprintf: use sizeof(X) as size + prevent off-by-ones - crmd,libcrmcommon,libcluster,tools: handle PID as string properly - tools: use right size for string buffer in fake_transition.c - crm_resource: fix a memleak - pengine: sprintf -> snprintf - libcrmcommon: fix possible infloop in buffer_print - crm_snprintf_offset like parts: fix off-by-ones - attrd: improve update messages - stonithd,lrmd,pengine: spelling/formatting corrections - build: install ifspeed resource agent - libcrmservices: avoid assert for HB resource with no parameters - crmd: re-enable local collection of meta-data for remote nodes - crmd,pengine,libpe_status,libpe_rules: remove support for versioned attributes - crmd: avoid memory leak when node state is unknown - crmd: avoid assert if LRM query fails - libpe_status: more error checking when unpacking bundles - libpe_status: bundles now respect PCMK_authkey_location - libcrmcommon,liblrmd,lrmd: validate PCMK_remote_port - PE: Bundles: add support for rkt bundle type - libcrmcommon,libpe_rules: unpack new alert filter syntax - xml: allow specifying alertable events - Fix: a proper calculation of a speed in case of hfi1 for ifspeed RA. - pengine: detect proper clone name at startup - pengine: don't ignore permanent master scores at startup - pengine: handle resource migrating behind a migrating remote connection - stonith-ng: advertise pcmk_on_action via metadata - liblrmd: Make sure the operation of a remote resource returns if setup of the key fails (bsc#1053463) - libcrmcommon,pengine: improve log messages - PE: only print to stdout if run from command line - crmd: eliminate size restriction on node state xpath - pengine: add regression test for remote connect interval wait - pengine: re-enable unrecoverable remote fencing - pengine: Make sure calculated resource scores are consistent on different architectures (bsc#1054389) - PE: Allow resources inside bundles to receive notifications - PE: Update unfencing device change test output - attrd,crmd: erase attributes at attrd start-up, not first join - attrd: accept connections only after CIB connection is active - attrd: make CIB connection function self-contained - attrd: improve messages - stonith-ng: make fencing-device reappear properly after reenabling - crmd: don't need meta-data after resource is deleted - crmd: only get meta-data for OCF and stonith agents - libcrmcommon: generate agent key without :: if no provider - pengine: avoid fence loop for remote nodes - attrd: don't log error if CIB doesn't have an alerts section - PE: Only retrigger unfencing on nodes that ran operations with the old parameters - PE: Output resource changes in a friendlier format - PE: Attempt to indicate why resources are changing state - Mechanism for recording why an action is required - Support unfencing of remote nodes - PE: Ignore optional unfencing events and report the fencing type - Upstream version cs: 20cffae1e9c64217339173c197edac8612ad02b9- logging: ensure blackbox gets generated on arithmetic error - crm_mon: overcome crm_system_name no longer influenced with argv - crm_mon: make CGI bail out on suspicious arguments - crm_mon: make CGI bail out properly and w/o help screen - crm_mon: canonical casing of Content-Type CGI header field - libcrmcommon: handle schema versions properly - attrd: don't reconnect to lrmd if already connected - PE: Ensure nested container connections run on the same host - crmd: send alerts via lrmd - lrmd: execute alerts as cluster daemon user - libservices: add ability to specify user to run an action - libcrmcommon: improve user lookup messages - extra: correct ClusterMon metadata - attrd: avoid memory leak when disconnecting from lrmd - attrd,tools: avoid memory leaks from use of crm_itoa() - attrd: be consistent about attr/host logging - attrd: delay lrmd connect until needed - attrd: add timestamp to alert just when needed - attrd: improve log messages - libcrmcommon,libpe_rules: avoid crash when alerts section has comments - libcrmcommon: add API call for next named XML child - liblrmd: only set environment variables with a value - attrd,liblrmd: handle adding env var at head of list - lrmd: drain alerts at shutdown - attrd,lrmd: generate alert sequence number in lrmd - liblrmd: better trace message when creating command - stonith-ng: avoid double-free of pending-ops in free_device - crmd: log correct feature set revision - PE: update start-failure-is-fatal help - cib: avoid unnecessary memory allocation - stonith-ng: add pcmk_delay_base as static base-delay (fate#324488) - XML: upgrade-1.3.xsl: be explicit about non 1:1 wrt. ACL @attributes - enable upgrade XSLTs to use meaningfully - Tools: Added option of --why/Y to crm_resource to inform the status of resources if running or not - various: fix spelling in messages and comments - cib: reword trace message - PE: Prevent use-after-free when creating bundle constraints - add versioned operations support - TE: don't bump counters when action or synapse is invalid - obtain metadata in CRMd via async call - tools: add version options for cibsecret - alerts: Support of meta attributes(kind, attribute_name). - attrd,lrmd,lib: Addition of the transmission function of the attribute alert to attrd. - extra: Change alert_xxx.sh.sample for attribute alerts. - extra: Change PCMK-MIB.txt for attribute alerts. - XML: upgrade-1.3.xsl: simplify branching - XML: upgrade-1.3.xsl: drop superfluous branching - XML: upgrade-1.3.xsl: simplify "weak identity" transform rules - XML: upgrade-1.3.xsl: easy simplifications + redundant declarations drop - re-enable versioned attributes - Upstream version cs: d134f83b4f0188f6d7cd381c8cdda1a2a7c38bd5- Update to version 1.1.17 - PE: Ensure unrecoverable remote nodes are fenced even if no resources can run on them - iso8601: strftime needs fully populated struct tm (bsc#1058844) - crmd: abort transition whenever we lose quorum - PE: Ensure bundle nodes and child resources are correctly cleaned up - PE: Generic ordering for anything with bundles - PE: Default to non-interleaved bundle ordering for safety - PE: Functional inter-bundle ordering when either side has no child - PE: Basic inter-bundle ordering when both sides have children - PE: Implement bundle ordering - libpe_status: properly disallow other resources from bundle nodes - libcib: get remoteness correctly from node status - libpe_status: avoid memory leaks when creating bundle remote resource - libpe_status: disallow resources on bundle nodes - pengine: make checks a little safer - PE: Clones within bundles may also have notifications enabled - PE: Correctly implement pe_order_implies_first_printed - PE: Do not re-add a node's default score for each location constraint - PE: Bundle location constraints should only apply to the IP and docker resources - PE: Bundles: Allow clones to be colocated with bundles - PE: Bundles: Implement colocation of primitives and groups with bundles - cib,libcib: support option for IPC eviction threshold - libcib: correctly search for v2 patchset changes - libcib: always use current values when unpacking config - libcrmcluster: fix spelling error in error message - crmd: DC should update stonith fail count before aborting transition - cib: Broadcasts of cib changes should always pass ACLs check (bsc#1042054) - Upstream version cs: b36b869ca8fe74caa077c286304f653f0be117ef (Pacemaker-1.1.17)- pengine,libpe_status: revisit fencing messages - PE: Improve logging of node fencing and shutdown - PE: Fence unrecoverable remote nodes with no resources - libpe_status: propagate multiple-active=block for bundles - libpe_status: set parent for bundle components - attrd: broadcast local overrides of sync'ed attributes - crmd: attribute write-out not needed with atomic attrd - PE: Prevent use-after-free when creating bundle constraints - PE: Ensure remote nodes are fenced when the connection cannot be recovered - PE: Improved fencing logging - PE: Assume resources on remote nodes do not need to be restarted until absolutely necessary - PE: Correctly compare a point with NULL instead of FALSE - libpe_status: correctly flag remote connection resources - pengine: improve internal bundle constraints - pengine: re-phrase trace log for internal constraints - libpe_status: set #kind to "container" for bundle nodes - pengine,libpengine: avoid potential use-of-NULL - pengine: avoid use-of-NULL in bundle without primitive - libpengine: don't double score when adding first allowed node - pengine: improve detection of invalid constraints - PE: Prevent use-of-NULL when expanding containers - PE: Partially restore 62ed004 to ensure remote connections are available before attempting resource recovery - stonith-ng: Trigger on constraints added to cib (bsc#1042374) - Upstream version cs: e47bd5bc77a3d1b38589b3716f5112ed39329e7b- RA: NodeUtilization - Use xl if available (bsc#1015842) * Drop obsolete: * * bug-1015842_pacemaker-NodeUtilization-RA-1.patch * * bug-1015842_pacemaker-NodeUtilization-RA-2.patch * * bug-1015842_pacemaker-NodeUtilization-RA-3.patch * Add bug-1015842_pacemaker-NodeUtilization-RA.patch - Drop obsolete pacemaker-lrmd.h-include-libxml.patch - lrmd,pengine: remove versioned parameters from documentation and tests - lrmd,pengine: don't support versioned attributes by default - Containers: Relax docker/remote colocation constraint when appropriate - Containers: Ensure remote resources are only allocated to full cluster nodes - lrmd: Ensure verbosity options are handled after crm_log_init() - pengine: unmanage guest-container puts guest in maintenance - pengine: unique ids for meta-attributes of guest-connection - pengine: update regression tests for probes of guest-connections - pengine: have guest-node connection-resources probed - crmd: clean up throttle memory on exit - libcib: avoid use-after-free when deleting CIB connection - systemd unit files: add dependency on resource-agents-deps - pengine: Allow use of resource params and meta-params in location rules - libcrmcommon: avoid evicting IPC client if messages spike briefly - libcrmcommon: don't delay next flush by more than 5 seconds - libcib: downgrade ACL status message to trace - crmd: don't destroy election structure twice - crmd: avoid use-after-free when disconnecting from CIB - libcib: functionize destroying op callback table - crmd,libcrmcommon: update throttle when CPUs are hot-plugged - crmd: remove I/O load checks - libcrmcommon: add function to get number of CPU cores - crmd: functionize checking throttle thresholds - crmd: functionize setting throttle load target - CTS: update corosync fail patterns - crmd: check correct timer for being started - crmd: improve fencing result message - lrmd: Have pacemaker-remote reap zombies if it is running as pid 1 - pengine: add test for per-op fail count - libcrmcommon: filter attributes with '#' from XML fields - extra: Dummy stop shouldn't fail if monitor is in progress - extra: use whitespace consistently in Dummy - crmd: don't fence old DC if it's shutting down as soon-to-be DC joins - crmd: avoid DC sending offer to itself twice - crmd: don't restart transition if no fence devices - crmd: skip restart at (not above) stonith-max-attempts - crmd: allow clearing all stonith fail counts - crmd: track stonith fail counts on all nodes - crmd: forget stonith failures when forgetting node - crmd: consider target when checking stonith failures - crmd: check for too many stonith failures only when aborting for that reason - PE: Remote: Allow remote nodes that start containers with pacemaker remote inside - fencing: ignore empty 'action' parameter in fence devices - crmd: fix remove attr_id from update_attr_delegate() - Fix log showing the node status so that it is easily distinguishable from other logs - crmd: don't abandon fencing after one "no devices" failure - libcrmcommon: more useful message if can't open dump file - libcib: use new convenience function for sanitizing ID - libpe_status: implement active check for bundles - tools: update crm_mon RNG schema for bundles - crmd: add set_join_state() - crmd: fix line wrapping - crmd: update_attr_delegate() instead of set_standby() - PE: Containers: Allow custom docker run commands - logrotate: rotate pacemaker logs inside bundled containers - libpe_status: improve bundle docker defaults - tools: crm_resource should free result if re-running function returns one - libpe_status: avoid memory leak when counting failures - crmd: remove functions from crmd_utils.c - PE: Containers: Ensure replicas_per_host=1 is respected during rediscovery and startup - libcib: change the format of the state id in set_standby() - PE: Containers: Allow the internal and external ports to optionally differ - PE: Containers: Allow custom control ports when using the machine's local address - crmd: set_standby in first_join - PE: Bundles: Better support for net=host, allow the pacemaker-remote port to change - Remote: Allow the port to listen on to be specified on the commandline - libpe_status: allow more than 254 containers in a bundle - crmd,liblrmd: handle crmd-local proxy requests properly - common: Prevention of the double definition. - pacemaker_remoted: Allow compilation with glib older 2.36 - PE: Containers: Default 'replicas' to the same number of 'masters' - PE: Containers: Correctly find the right anonymous child resource running in a container - PE: Clone: Simplified allocation function - PE: Contaienrs: Better checks when assuming a container will start - PE: Preferred nodes are only accepted if their scores are equal to the otherwise best candidate - PE: Containers: Remove containers on termination by default - PE: Container: Add support for non-default docker networks and supplying external IPs to container resources - PE: Containers: Allow specifiying the maximum number of peers per host - PE: Containers: Force a sane hostname - PE: Containers: Add support for nic and netmask parameters - PE: container: Parse network and mount options - PE: Allow the graph to assume container nodes will come up and schedule actions for it - PE: Force node scores for containerized resources - PE: Basic allocation of containers - Core: Track the line number of callers of crm_(set|clear)_bit - xml: Correctly find the first child element - PE: Basic container parsing and expansion (fate#323415) - PE: Correctly test for clone functionality - Improve recovery when demote fails with OCF_NOT_RUNNING - Upstream version cs: ce86684f5d0672791e9fd3043a84f0931cdd97ea- libcrmcluster,crmd: log join phase as text rather than integer - pacemaker-remote: pacemaker_remoted shutdown while unmanaged - tools: disable agent stdout/stderr for crm_resource --validate - tools: Add "--validate" command to crm_resource - tools: crm_resource should set OCF_RESKEY_crm_feature_set - tools: make crm_failcount compatible with per-operation failcounts - tools: support clearing failure of a single operation with crm_resource -C - crmd: support clearing failure of a single operation - crmd: make clearing last failure more efficient - attrd,libcrmcommon: support clearing failure of a single operation - attrd,crmd,libraries,tools: track resource failures per-operation - tools: support crm_failcount -q as advertised - Upstream version cs: 77ea74d01bcb6b7100e1c7acab0e66e79aceaf8b- NodeUtilization: Never set hv_memory to a negative value (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA-3.patch - NodeUtilization: Fix mixed indentation, set executable bit (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA-2.patch - RA: NodeUtilization - Use xl if available (bsc#1015842) * Drop obsolete bug-1015842_pacemaker-NodeUtilization-RA.patch * Add bug-1015842_pacemaker-NodeUtilization-RA-1.patch- spec: Merge the SLE and Factory versions * enable_fatal_warnings=0- crmd: new cluster option stonith-max-attempts with default value 10 (fate#323417) - crmd: Change of the log level and addition of uuid. - crmd: use new attrd op to clear fail counts - tools: crm_resource -C should clear last-failure - libcrmcommon: add API for new attrd clear-failure operation - attrd: add more detail to legacy attrd messages - attrd: add API for clearing failures - Upstream version cs: e55d506cc390f0a0335b4ec6e365ea89da30b6b1- pacemaker.service: Add presetting TasksMax=4915 (bsc#1028138) * bug-1028138_pacemaker-pacemaker.service-TasksMax.patch- Build: lrmd: Include libxml/tree.h in lrmd.h * pacemaker-lrmd.h-include-libxml.patch- libfencing,fencing: properly remap "action" in configuration - libservices: ensure recurring actions table is created before using - libservices: improve error messages when creating operation - libservices: properly detect in-flight systemd/upstart ops when kicking - libservices: properly cancel in-flight systemd/upstart op - libservices: handle in-flight case first when cancelling an operation - libservices: prevent use-after-free when freeing an operation - libservices: ensure completed ops aren't on blocked ops list - libcrmcommon: assert if can't generate operation key - libcrmcommon: improve remote connection polling messages - crmd: clear failure only for requested node - crmd: improve message when clearing failures - pengine,libpe_status: make failcount clearing messages more helpful - pengine,libpe_status: don't clear same fail-count twice - cib: properly mark variable as volatile - libcib: avoid memory leak in query_node_uuid() - tools: avoid NULL dereference in crm_resource debug message - cib,libcrmcommon,lrmd: handle IP addresses better in messages - tools: crm_attribute should prefer node name from environment - libcrmcommon: Correctly delete XML comments according to their positions (bsc#1024037) - libcrmcommon: Correctly compare XML comments to prevent crmd from getting into infinite election loop (bsc#1024037) - crmd,libcrmcluster: minor log message improvements - tools: avoid deprecated function in notifyServicelogEvent - libcrmcommon,pengine,tools: pass local node name to resource agents - use callback instead of sync call - libcib: make querying node uuid more efficient - tools: allow regular expression with crm_attribute - attrd: support regular expressions in legacy attrd - attrd: support Pacemaker Remote node attributes in legacy attrd - use status scope to start node in standby mode - attrd: ignore unsupported requests in legacy attrd - attrd,crmd: implement peer remove requests in legacy attrd - crmd: don't clear remote node transient attributes unnecessarily - crm_mon: protect against non-standard or failing asctime - libservices(sync): partially prevent killing foreign process - libservices (sync): ensure no zombie is left behind - cib: improve re-sync handling - tools: implement crm_failcount command-line options correctly - tools: use correct regular expression for fail counts in crm_resource - cib: never disable legacy mode with corosync 1 stacks - cib: improve warning when legacy diff fails - libcrmcommon: ensure filename is not NULL before opening - crmd: be more resilient when checking an LRM command's "from" - crmd: improve crmd's LRM-related log messages - tools: properly ignore version with crm_diff --no-version (bsc#888726) - Ability to start node in standby (fate#323416) - Upstream version cs: a7825f4f0a8db272d1ce0b1f93e8044cbcaa5144- libservices: properly watch writable DBus handles - tools: don't reference hidden parameter in crm_resource help text - Alert: Set SNMP_PERSISTENT_DIR directory for the snmp-trap tool. - dbus: Prevent lrmd from hanging on dbus calls (bsc#1015264) - spec: add %check to run a subset of tests on rpmbuild - crmd: update cache status for guest node whose host is fenced - pengine: consider guest node unclean if its host is unclean - pengine: create a pseudo-fence for guest node recovery - pengine: guest node fencing doesn't require stonith enabled - pengine: remove unnecessary assert - mcp: Correction of the difference in access permission setting. - stonith_admin: Addition of the list-targets option. - stonith: Check for missing params in new device and dup - libservices: treat systemd service reloading as OK (bsc#1059187) - crmd: increase severity when fencing didn't happen (bsc#1011240) - rng: Create resources-2.7.rng to update template class validation - libcrmcommon: Don't report error if the output file isn't syncable - crmd: bump feature set - pengine: disable migration for versioned resources - add versioned parameters support - Upstream version cs: 2817a2081e9e70e7412f0d0a253495611afab55e- wd: Fix to not compare NULL when environment variable is not set - mcp,pacemaker_remote: order after time-sync - configure: fix fouled parameter expansion * Drop obsolete pacemaker-configure-systemd-detection.patch - xml: rng: Keep score-attribute{,-mangle} in the existing RelaxNG schema files for graceful upgrades - Upstream version cs: 94ff4df51a55cc30d01843ea11b3292bac755432 (Pacemaker-1.1.16)- RA: NodeUtilization - Use xl if available (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA.patch- spec: Prevent overwriting existing sysconfig files by conditionally running %fillup_only (bsc#1022807, bsc#980341)- spec: cts brings an RA that needs python-systemd- Explicitly own %{_defaultdocdir}/%{name}.- Revert "Build: configure: make systemd detection akin to + before Upstart one" * pacemaker-configure-systemd-detection.patch - libcrmcommon: fix CVE-2016-7035 (improper IPC guarding) (bsc#1007433) - sysconfig: minor tweaks (typo, wording) - various: issues discovered via valgrind and coverity - attrd_updater: fix usage of HAVE_ATOMIC_ATTRD - Upstream version cs: b6f251a13fadca0cb74702b0c007a55275c8ea09- Rebase: * pacemaker-NodeUtilization-RA.patch - extra: add resource agent for managing a node attribute - crmd: cl#5185 - Record pending operations in the CIB before they are performed (bsc#1003565) - ClusterMon: fix to avoid matching other process with the same PID - mcp: improve comments for sysconfig options - spec: require libqb >= 0.13.0 - tools: crm_standby --version/--help should work without cluster - spec: reorganize so %pre etc. blocks are self-contained - spec: require python >= 2.6 - spec: comment better - libpengine: ensure child is not null before looking up value - libpengine: only log startup-fencing warning once - Upstream version cs: 722276c442bf023931842313bfe0dfb7d90a7c15- pacemaker.service: do not mistakenly suggest killing fenced - pacemaker.spec: consume "systemdunitdir" via %_unitdir - libcrmcommon: report errors consistently when waiting for data on connection (bsc#986644) - libservices: use DBusError API properly - remote: Correctly calculate the remaining timeouts when receiving messages (bsc#986644) - libfencing: report added node ID correctly - crm_mon: Do not call setenv with null value - pacemaker_remote: allow remote clients to timeout/reconnect - pengine: Do not fence a maintenance node if it shuts down cleanly (bsc#1000743) - install README in doc instead of now-removed AUTHORS file - ping: Avoid temporary files for fping check (bsc#987348) - all: clarify licensing and copyrights - schemas.c: treat CIB with unrecognized validate-with better - schemas.c: avoid downgrade validate-with in a corner case - xml.c: better info in cli_config_update on no validation success - fix infloop when no schema validates on update_validation - xml.c: internal self-or-less reference inflicted infloop guard - crmd: Resend the shutdown request if the DC forgets - ping: Avoid temp files in fping_check (bsc#987348) - crmd: Ensure the R_SHUTDOWN is set whenever we ask the DC to shut us down - crmd: clear remote node operation history only when it comes up - libcib,libfencing,libtransition: handle memory allocation errors without CRM_CHECK() - tools: make crm_mon XML schema handle resources with multiple active - tools: make crm_mon resources section more consistent - crmd: bump feature set - pengine: set OCF_RESKEY_CRM_meta_notify_active_* for multistate resources - LSB init: try to be a little more compliant - pengine: avoid null dereference in new same-node ordering option - lrmd,libcluster: ensure g_hash_table_foreach() is never passed a null table - crmd: don't log warning if abort_unless_down() can't find down event - lib: Correction of the deletion of the notice registration. - stonithd: Correction of the wrong connection process name. - crmd: Keep a state of LRMD in the DC node latest. - pengine: avoid transition loop for start-then-stop + unfencing - libpengine: allow pe_order_same_node option for constraints - pengine: avoid sisyphean score-attribute-mangled parsing - xml: score-attribute{,-mangle} has no meaning for rsc_colocation - Upstream version cs: 4cce2b26f6f468c342adb24bf74234a12a0070c2- cts: Restart systemd-journald with "systemctl restart systemd-journald.socket" (bsc#995365) * bug-995365_pacemaker-cts-restart-systemd-journald.patch- libcrmcommon: properly handle XML comments when comparing v2 patchset diffs - crmd: don't abort transitions for CIB comment changes - libcrmcommon: log XML comments correctly - libcrmcommon: remove extraneous format specifier from log message - crm_mon: Avoid logging errors for any CIB changes that we don't care about (bsc#986931) - crmd: When node load was reduced, crmd carries out a feasible action. - Upstream version cs: 58fef06198fef17873d0d2e2d0cc5c7db73c5724- ping: Log sensible error when /tmp is full (bsc#987348) - crm_mon: Do not log errors for the known CIB changes that should be ignored (bsc#986931) - logging: Enable synchronous logging when blackboxes are enabled - libpengine: print target role and blocked status in XML output - tools: add maintenance mode and disabled/blocked resources to crm_mon XML/HTML output - tools: break up long lines in crm_mon console output - libservices: include socket units when listing all systemd agents - fencing: fence_legacy - Search capable devices by querying them through "list" action for cluster-glue stonith agents (bsc#986265) - extra: correct quoting of timestamp-format in alert-snmp-example - pengine,tools: Display pending resource state by default when it's available (bsc#986201) - rng: Allow rsc-pattern in locations for version 2.6 - pengine: Expand regexp references in location constraints - pengine: Allow to set base score for progressive node health strategy - systemd: Allow unit names ending in .socket. - watchdog: Correction to do to change action of the system reboot by fail_fast - Upstream version cs: 630d0d112092042b6f79c2a02bb442e82fee93ec- Remove conditionals that are not really needed as they always kept the values - Remove the cman conditional as we do not even have the dependencies to build with it in OBS - Convert deps to pkgconfig style ones and remove deps that are not mentioned by the testsuite or the configure.ac- Update to version 1.1.15 - crmd: mention that graceful remote shutdowns may cause connection failures (bsc#981489) - alerts - drop 5min timeout to 30s since it is configurable now - Bug bz#5292 - crmd: wait for alerts to finish - libais,libcluster,libcrmcommon,liblrmd: don't use %z specifier - alerts: ensure sample alert agents handle undefined recipient - tools: crm_resource -T option should not be hidden anymore - PE: Correctly update the dependant actions of un-runnable clones - alerts: make timestamp-format-string work properly if strftime-escape is the last character - extra: make alert-file-example cope with spaces in timeformat-string - attrd,ipc: Prevent possible segfault on exit (bsc#986056) - alerts: fix SMTP recipient defaulting - tools: properly handle crm_resource --restart with a resource in a group - tools: don't assume all resources restart on same node with crm_resource --restart - tools: avoid memory leaks in crm_resource --restart - tools: remember any existing target-role when doing crm_resource --restart - tools: correctly count starting resources when doing crm_resource --restart - Upstream version cs: e174ec84857e087210b9dacee3318f8203176129 (Pacemaker-1.1.15)- Clean-up with spec-cleaner - Drop heartbeat conditions, no heartbeat around - Sort CMAN conditionals to be actually logical - Run fdupes to not waste so much space - Add logrotate to reqs of pacemaker-cli - Cleanup rpmlintrc to contain only bare needed minimum - Run basic sanity check in %check phase- Drop sysvinit support we now run on sle12+ only - Cleanup the define conditionals that are never used - Drop profiling and coverage options it is not enabled by default and better to run separately- libcrmcommon: really ensure crm_time_t structure is fully initialized by API calls - extra: correct syntax error in sample alert script - crmd: avoid timeout on older peers when cancelling a resource operation - crmd: use proper resource agent name when caching metadata - crmd: avoid memory leak when sending fencing alert - liblrmd: avoid memory leak when closing or deleting lrmd connections - extra: improve determination of successful monitors in SNMP alert script - tools: avoid memory leak when crm_mon unpacks constraints - pengine: avoid use-after-free with location constraint + sets + templates - pengine: better error handling when unpacking sets in location constraints - pengine: avoid memory leak when invalid constraint involves set - Build: rename sample alert scripts and install them in datadir - pengine : Correction of the record judgment of the failed information. - Upstream version cs: dd46368eead0d756735216a4bc765466b99274fc- alert-helpers: some fixes in pcmk_smtp_helper.sh - libpengine: log message when stonith disabled, not enabled - pengine: only set unfencing constraints once - tools: don't require node to be known to crm_resource when deleting attribute - libcrmcommon: ensure crm_time_t structure is fully initialized by API calls - attrd: don't leak memory when returning due to malformed update request - crmd: always free result of crm_itoa() - xml: adapt crm_mon.rng per recent reorder of the summary elements - Upstream version cs: 1a05449500f015414b6df68b6d4feb64b713f533- Rebase: * bug-977201_pacemaker-controld-self-fencing.patch - pengine: properly order stop actions relative to stonith - crm_resource: don't pretend that target-role:started would prevent promotion - crm_mon: consistently print ms resource state - controld: use "stonith_admin -H '*' -V" (bsc#977201) - stonith_admin: allow -H '*' to show history for all nodes (bsc#977201) - controld: fix "[: -eq: unary operator expected" issue from PR 1022 (bsc#977201) - extra: Support of the task designation of a resource and the fencing. - extra: Change pcmk_snmp_helper.sh (2). - Upstream version cs: 6a8c1e9d35c65cbfd4019cfe797cb7bb9dfd4322- controld: Prevent unwanted self-fencing if "stateful_merge_wait" state of dlm is not available (bsc#977201) * bug-977201_pacemaker-controld-self-fencing.patch- libservices: clean up non-signalfd code paths - spec: fence_pcmk only eligible for Pacemaker+CMAN - crmd: Acknowledge cancellation operations for remote connection resources (bsc#976865) - controld: improve DLM check with stateful_merge_wait (bsc#977201) - attrd, libcrmcommon: validate attrd requests better - crmd: clear remote node transient attributes on disconnect (bsc#981489) - Revert "Fix: attrd: Correctly implement mass removal of a node's attributes" (bsc#981489) - crm_mon: Fix time formatting on x32 - resources: use OCF version tagging correctly - libcommon: crm_procfs_pid_of() would always return last /proc entry checked - crmd: correctly dig into cib-query-answer if alerts section is present timestamp-format defaults to "%H:%M:%S.%06N" - crmd: Take start-delay into account for the timeout of the action timer (bsc#977258) - libservices: make systemd override file world-readable to avoid log warning - libcrmcommon: correct directory name in log message - Log: make crmd messages more user-friendly - Log: make messages in common quorum/fencing situations more user-friendly - Log: make shutdown messages more user-friendly - pengine: lf#2560/lf#2588 - Correctly set the environment variable "OCF_RESKEY_CRM_meta_timeout" when "start-delay" is configured (bsc#977258) - Log: make operation messages more user-friendly - Log: make startup messages more user-friendly - services: Correctly clean up service actions for non-dbus case - uninitialized use of nano_digits - attrd: Update also dampens when synchronizing attributes (bsc#977846) - Upstream version cs: 389294fd1ebefddad67fff51306f585b758ca860- Rebase: * pacemaker-Wno-format-signedness.patch - RA: SysInfo - Reset the node attribute "#health_disk" to "green" when there's sufficient free disk (bsc#975079) - pengine: Organize order of actions for slave resources in anti-colocations (bsc#977800) - attrd: Fix the synchronization of attributes (bsc#977846) - pengine: Organize order of actions for master resources in anti-colocations (bsc#977800) - pengine: Respect asymmetrical ordering when trying to move resources (bsc#977675) - fencing: Record the last known names of nodes to make sure fencing requested with nodeid works (bsc#974108) - crmd: first implementation of integrated multi-agent, multi-target alerting mechanism (fate#320855) - ping resource: Use fping6 for IPv6 hosts (bsc#976271) - pengine: Consider resource failed if any of the configured monitor operations failed (bsc#972187) - ping resource: avoid undefined func w/ OCF_FUNCTIONS=/dev/null - spec: make Publican docs not depend on pre-existing packages - cib/fencing: Set status callback before connecting to cluster (bsc#974108) - xml: use spaces instead of tabs in schema files - extra: Support of the dampen change by RA. - Upstream version cs: 9e382568ac3cd54c222496501088ab3fc158b2e2- crmd: update cluster state in CIB after fencing an unseen node - crmd: don't abort transition for expected remote node shutdown - libtransition: potential memory leak if unpacking action fails - Upstream version cs: 5a6cdd11b4f93b4d55e1b2654078018c339931d4- attrd: crash on exit if initialization fails - build: fix scalability regression - pengine: Suppress assert if a stateful clone is not being demoted/stopped (bsc#971129) - attrd: Support of the dampen change by attrd. - PE: Correctly handle the ordering of demote actions for failed and moving containers - Upstream version cs: d076e9dbf9827f7801c89c6d635df370aeca5e90- crmd,tools: Set attributes for remote nodes directly into cib if it's legacy attrd (bsc#967775) - libcib: Correctly determine the node type (bsc#967775) - resources: match agents' default for globally_unique to pacemaker's - crm_mon: Help admins identify why resources are not being started or responding to commands - PE: Memory leak - crm_resource: Prevent segfault when --resource is not correctly supplied for --restart command - Build: Create CRM_CORE_DIR during installation - Upstream version cs: eb89393a82eb41ff50d041b91765ccac52e873e0- cpg: Ensure group name is never unset - remote: Simplify calls to accept() and inet_ntop() by using "struct sockaddr_storage" (bsc#964183) - remote: cl#5269 - Notify other clients of a new connection only if the handshake has completed (bsc#967388, bsc#1002767, CVE-2016-7797) - remote: Correctly display the IP address of the remote client (bsc#964183) - spec: declare also BSD license as suitable - libservices: Add error handling for pipe() failed. - libservices: Check resource agent is executable or not before pipe open. - crmd: Prevent use-after-free when an unexpected remote client takes over (bsc#964183) - pacemakerd: Correction of the stonithd process judgment of pacemakerd. - crmd: Do not turn on stonith-watchdog-timeout automatically if SBD is detected - remote: Correctly check for SBD configuration consistency - resources: Fix state file metadata in Dummy, Stateful and HealthCPU resource agents - systemd: Modified so that the cluster to stop before the rsyslog - common: Correctly locate sbd via its pidfile - common: Assume processes are active if we get EACCESS - Fencing: Simplify watchdog integration - crmd: Only poopulate stonith-watchdog-timeout if SBD is active - remote: Ensure SBD is consistently configured on remote nodes - remote: Allow cluster and remote LRM API versions to diverge (bsc#1009076) - cib: Do not send notifications when the dryrun flag is present - Upstream version cs: cf67796823c4429714857411e614cfacfbc59d89- crm_shadow: fix broken --display command - ipc: Respect the parameter of pick_ipc_buffer() but don't let it affect the global value - libcluster: crm_peer_uname() should return NULL if uuid is invalid - remote: recover from remote node fencing more quickly - crmd: update node state for migrated pacemaker_remote nodes - crmd: update node state for stopped pacemaker_remote nodes - crmd: update node state for started pacemaker_remote nodes - crmd: add new message type for updating pacemaker_remote node state - libcluster: set remote peer cache state based on CIB node state - libcluster: send notifications when pacemaker_remote nodes are started - crmd: report pacemaker_remote node state in CIB status section - Upstream version cs: c851a117bc77bdefe15181a7d753f1aed867cde6- spec: Move the common directories under /var/lib/pacemaker into pacemaker-cli package - liblrmd: Prevent potential use-after-free (bsc#964183) - crmd: Disconnect the relevant remote proxies as well when disconnecting a remote node (bsc#964183) - crmd: Prevent potential use-after-free (bsc#964183) - liblrmd: Prevent potential use-after-free issues (bsc#964183) - PE: Fix conditions for internal sanity check (bsc#971129) - attrd: ensure remote nodes are in correct peer cache (bsc#981489) - crmd: set remote flag when gracefully shutting down remote nodes (bsc#981489) - fencing: Correctly track active stonith actions (bsc#938545) - fencing: Functionize adding and removing active pids of device (bsc#938545) - crm_shadow: Do not invoke shells with --noprofile option other than bash (bsc#961392) - lib/common: check return value of dlsym() and not dlerror() - lib/ipc: allow PCMK_ipc_buffer to be smaller than default max sizes - lib/services: use self-pipe sigchld handling when signalfd isn't available - spec: associate subpackage with correct licenses - spec: rely on system-wide RPM macros if available - spec: C++ compiler is not something currently needed - RHBZ#1286316: Do an ordered shutdown of systemd resources - header == NULL when parsing compressed message - attrd: Correctly implement mass removal of a node's attributes (bsc#981489) - attrd: Hook up the client name so we can track requests - crmd: Set the shutdown transient attribute in response to LRMD_IPC_OP_SHUTDOWN_REQ from remote nodes (bsc#981489) - PE: Honor the shutdown transient attributes for remote nodes (bsc#981489) - pacemaker_remote: support graceful stops (bsc#981489) - crmd: support graceful pacemaker_remote stops (bsc#981489) - lrmd,liblrmd: add lrmd IPC operations for requesting and acknowledging shutdown (bsc#981489) - fencing: Support concurrent fencing actions on each device (bsc#938545) - pengine: Support concurrent fencing (bsc#938545) - Upstream version cs: c54f10440a7bba5a1491ea8506925c7d6d9ca2a3- Update to version 1.1.14 - fencing: free only after last usage makes coverity happy - crmd: 0 is a valid fd makes coverity happy - tools: crm_resource compile issue - crm_resource --list-agents: don't print uninitialized memory - extra: update SNMP MIB with new pacemakerTrap OID containing pacemakerNotificationTrap - fencing, libfencing: remap fence agent error codes before async callback (bsc#962309) - libfencing: topology is not used - fencing: topology is not used - libcrmcommon: when caching attrd connection, cache connection flags as well - cts: Plugin-based cluster has its own PacemakerUp pattern - Upstream version cs: 70404b0e5ecbe5e51d07c6c2233eea640cbd720a (Pacemaker-1.1.14)- Rebase: * bug-806256_pacemaker-log-level-notice.patch * bug-728579_pacemaker-stonith-dev-id.patch - core: Mistake of the parameter order. - RHBZ#1287315: stonithd: Trigger cib_devices_update in case of deletion of just an attribute - CLBZ#5253: stonithd: Do not intermingle stdout & stderr coming from stonith-RAs (bsc#962309) - resources: allow for top output with or without percent sign in HealthCPU - controld: Return error when DLM status is wait fencing (RHBZ#1268313) - crmd: Don't update cluster/peer CIB fields when processing stonith results - Upstream version cs: e16447de89d25db3b3578c7e080c1a4c2f85806f- ping: Clarify the description of host_list parameter in ping metadata (bsc#956459) - systemd: Prevent segfaul when logging failed operations - systemd: The underlying systemd calls default to 90s for their timeouts - cib: Do not terminate due to badly behaving clients - Correctly check for recycled PIDs in crm_pid_active - crmd: Consider only fence and shutdown transition events to be "down" events - pengine: Support of multiple-active=block for resource groups (bsc#942491) - crmd: use 300s timeout with notification scripts, not 300ms - stonith_admin: add ability to target topology by pattern or attribute - fencing,libfencing: add API support for targeting topology by pattern or attribute - Upstream version cs: a7d6e6b56fd2779a07970df7de4e0fb0b22742d3- crm_report: Call "crm report" if available (bsc#950483)- fencing: crm_resource --show-metadata drops documentation strings for fencing agents (bsc#950375) - Upstream version cs: 6f22ad7312b703289da5d24e918a78117a0825e1- CTS: add "try except" to deal with errors that raw_input gets EOFError and add "--yes" to skip interaction (bsc#953192) - Upstream version cs: 577898dc4ac1efdb5989a996cb5f9ac60ed2eb7a- crm_resource: Correctly clean up all children for anonymous cloned groups (bsc#950128) - services: Directly add operations into in-flight list in the execution functions (bsc#952874) - systemd: Return PCMK_OCF_UNKNOWN_ERROR instead of PCMK_OCF_NOT_INSTALLED for uncertain errors on LoadUnit (bsc#952884) - systemd: Return FALSE for systemd_mask_error() if it only maps an error instead of masking one (bsc#952884) - dbus: Correctly return the result for pcmk_dbus_find_error() no matter if there's a DBusError passed in (bsc#952884) - services: Prevent potential use-after-free when trying to add an operation into in-flight list (bsc#952874) - systemd: Directly return an error if the connection to System DBus is closed (bsc#952874) - services: Correctly determine if operations are in-flight (bsc#952874) - systemd: Reconnect to System DBus if the connection is closed (bsc#931271) - lrmd: Finalize all pending and recurring operations when cleaning up a resource (bsc#950450) - fencing: don't poke peers when remote node status changes - attrd: don't try to communicate with attrd on a remote node - libcluster,crmd: never update join info or processes for remote nodes - cib: Increased paranoia when peer updates fail to apply in compatability mode - crmd: do not accept remote peer data as enough for startup - crmd: remote nodes can't be DC so never add them to stonith cleanup list - libcluster: never autoreap from remote peer cache - crmd: improve generation of node state - CTS: get Reattach test working again and up-to-date (bsc#953192) - libcommon: Ignore CDATA of metadata of the resource. - cib: Downgrade the log message on forwarding CRM_OP_NOOP requests from INFO to DEBUG (bsc#949267) - fencing: Return a provider for the internal fencing agent "#watchdog" instead of logging an error (bsc#949441) * Drop bug-949441_pacemaker-fencing-provider-internal.patch which has been merged upstream - Upstream version cs: 7bd00f3f3010bc10d13b87e2ff501b597ea6ca03- fencing: Return a provider for the internal fencing agent "#watchdog" instead of logging an error (bsc#949441) * bug-949441_pacemaker-fencing-provider-internal.patch - spec: Move the normal resource agents into pacemaker-cli package (bsc#947197) - spec: Move logrotate configuration file into pacemaker-cli package (bsc#947197) - spec: Move attrd_updater, crm_attribute and crm_master into pacemaker-cli package (bsc#947197) - spec: Move xml schema files and PCMK-MIB.txt into pacemaker-cli package (bsc#947197)- crm_resource: Correctly observe --force when deleting and updating attributes (bsc#948197) - crm_resource: Correctly delete existing meta attributes regardless of their position in the heirarchy (bsc#948197) - fencing,libfencing: use level tag consistently in internal XML - crm_resource: Correctly update existing meta attributes regardless of their position in the heirarchy (bsc#948197) - crmd: properly detect CIB update failures for remote nodes - cibadmin: Prevent potential use-of-NULL in print_xml_output() (bsc#947180) - Fencing: The device list is expected to be comma separated - Tools: Do not send command lines to syslog (bsc#986676) - Tools: Repair the logging of 'interesting' command-lines - PE: resolve memory leak - libfencing: make topology level removal compatible with latest stonithd API - fencing: parse from correct XML location when registering/unregistering topology - tools: improve error handling when modifying configuration - crmd,libcrmcommon,libservices,tools: potential memory leaks (bsc#948197) - crmd,fencing: avoid potential null dereference in string searches - typo: OPSTIONS -> OPTIONS in crm_mon.sysconfig - cib: Check if the configuration changes with cib_config_changed() only for v1 diffs (bsc#946224) - liblrmd: don't print error if remote key environment variable unset - libcib: properly handle temporary file - libcrmcommon: better validation of environment variable value - crmd: avoid potential null dereference - libcib: potential user input overflow - controld: replace bashism - PE: drop probe_complete actions - PE: Allow resources to start and stop as soon as their state is known on all nodes - Fencing: Correctly construct simple topologies with stonith_admin - Fencing: Correctly remove topologies and detect invalid entries - remote: Revise a misleading message in the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * Drop bug-946332_pacemaker-resource-agent-remote-message.patch which has been merged upstream - remote: Correctly display the usage of the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * Drop bug-946332_pacemaker-resource-agent-remote-usage.patch which has been merged upstream - libcib: find_nvpair_attr_delegate: check buffer overflow - libcib: find_nvpair_attr_delegate: check alloc failure - Upstream version cs: 7906df92a713052db1edae851579ea229d8a5393- remote: Revise a misleading message in the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * bug-946332_pacemaker-resource-agent-remote-message.patch - remote: Correctly display the usage of the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * bug-946332_pacemaker-resource-agent-remote-usage.patch- crm_resource: Allow the resource configuration to be modified for --force-{check,start,..} calls - Fencing: Correctly parse 'by-attribute' fencing levels - Fencing: Use dedicated fields for fencing level patterns and attribute matching - pacemaker_remote: memory leak in ipc_proxy_dispatch() - crmd: don't add node ID to proxied remote node requests for attrd - membership: Safely autoreap nodes without code duplication - PE: Resolve memory leak - pacemakerd: Do not forget about nodes that leave the cluster - corosync: Display node state and quorum data if available - crmd: Implement reliable event notifications - extra: Added snmp trap of type "NOTIFICATION-TYPE" to MIB and snmp helper script - Date: Correctly set time from seconds-since-epoch - PE: Bug cl#5247 - Imply resources running on a container are stopped when the container is stopped - Upstream version cs: 20c2178f076ff32fdf9ba9a467c193b8dac2f9e5- lrmd: Upgrade start/finish log tags from INFO to NOTICE (bsc#943295) * bug-943295_pacemaker-lrmd-log-notice.patch- services: Reduce severity of noisy log messages (bsc#943319) - xml: Mark xml nodes as dirty if any children move (bsc#942382) - pengine: The failed action of the resource that occurred in shutdown is not displayed. - tools: memory leak in crm_resource - crm_resource: Correctly check if a resource is unmanaged or has a target-role - fencing: add ability to target by attribute - crmd: Resolve memory leak in remote_proxy_cb() - ipc: Do not constantly increase suggested size for PCMK_ipc_buffer every time we find it's insufficient (bsc#940992) - Upstream version cs: e8888b98cd7dbdfb986c1a46bdb4b113b96e914f- crm_resource: Indicate common reasons why a resource may not start after a cleanup - pengine: Ensure fencing of the DC precedes the STONITH_DONE operation - crm_resource: Compensate for -C and -p being called with the child resource for clones - ipc: Fix output formats (bsc#940992) - fencing: ensure "required"/"automatic" only apply to "on" actions - fencing: Remove unnecessary casts (bsc#940711) - crm_simulate: Prevent segfault on arches with 64bit time_t (bsc#940711) - ipc: Correctly compare values for the size of ipc buffer and prevent suggesting a negative value when it's insufficient (bsc#940992) - xml: Reduce severity of noisy log message (bsc#950551) - crm_resource: Correctly clean up failcounts for inactive anonymous clones - crmd: Avoid cancelling transitions when we tell nodes to shutdown - systemd: drop legacy SysVStartPriority from service units - crm: Set the attribute from remote node. - Upstream version cs: 4ad07f5f464c84b80c739922bd9fd708e8d36e5a- dbus: Remove redundant ref/unref of pending call records - stonithd: potential device list corruption - cib: don't destroy peer cache in peer status callback - systemd: Ensure pending structs are correctly unreferenced - systemd: Track pending operations so they can be safely cancelled - crmd: memory leak in CIB callbacks - attrd: memory leak in legacy attrd's CIB callback - attrd: memory leak in CIB callback - libcib: allow free function for user data supplied to CIB callbacks - xml: Prevent use-of-NULL in crm_xml_dump() - crm_mon: Memory leaks - Upstream version cs: 3fb7f71bf9ca2a3d6e1187fa3b74c7841d6af5a7- pengine: properly handle blocked clone actions - pengine: Correctly bypass fencing for resources that do not require it - libservices: potential memory leaks when executing systemd actions - libservices: memory leak in DBus-related log messages - crmd: memory leaks in recurring operation history - pengine: Addtion of the clone resource clone-min metadata option - Upstream version cs: 3d781d3fe61504c841e3c89b2e8ccff8195d4af6- Rebase bug-806256_pacemaker-log-level-notice.patch - Build: Update version numbers to 1.1.13 in version.m4 and sample spec file - fencing: Broadcast uname as soon as a peer's state has changed (bsc#938410) - fencing: remap sequential topology reboots to all-off-then-all-on - fencing: remap sequential topology reboots to off - fencing: support remapping reboots when processing fencing query results - fencing: treat remapped reboots as reboots when appropriate - fencing: support remapping reboots in fencing query results - crmd: check for errors when searching for CIB daemon's load file - libcib,libfencing,tools: memory leaks from xmlGetNodePath() - attrd: use-after-free in attrd_client_update() - fencing: memory leak when searching for a target's fencing topology - lrmd: memory leak when freeing command structure - libcluster: work around peer cache destruction in client status callbacks - fencing: add support for operation phases to device properties - fencing: add support for operation phases - crmd: Do not enforce restart for resources that support reload and don't support any unique parameters - crmd: Do not enforce restart for changes of non-unique parameters - cts: change the stack from openais (white-tank) to corosync (plugin v0) in set_stack of environment.py (bsc#936149) - Upstream version cs: bd8c4b5a30c9cacd0257fe50ab50d3a6436db42a- crmd: Make resource_supports_action() really general - crmd: Remove a duplicate invocation of snprintf() - pengine: clear failures after reconnect_interval expires - RA: Prevent an error message on stopping "Dummy" resource - PE: Ignore comment blocks when unpacking the cib - fencing: use "off" timeout when remapping "reboot" to "off" - fencing: do not set call options twice in query - crmd: don't synthesize op failures during shutdown - lrmd: prevent double free after unregistering stonith device for monitoring (bsc#1035822) - libcommon: crm_ipc_get_fd() must set errno on error - PE: Record the execution date in PE files so we can re-use it in crm_simulate - pengine: allow guest remote nodes using containers/vms to be nested in a group resource - pengine: Resolve memory leak in expand_notification_data() - cib: Prevent use-after-free and return -EINVAL when attempting to delete the whole "/cib" (bsc#934609) - cib: Prevent use-after-free when invoking "cibadmin --delete-all --xpath" (bsc#934609) - crmd: Prevent segfault when erasing resources from disconnected remote nodes - pengine: do not timeout remote node recurring monitor op failure until after fencing - crmd: No need to re-process actions we've already marked as failed - crmd: All pseduo ops must be allowed to complete - crm_simulate: Optionally include action IDs in the dot graph - fencing: properly decide whether a topology fencing device has been found - fencing: properly sort peers by number of fencing devices found - crmd: Record actions in the CIB as failed if we cannot execute them - pengine: do not stop notify a fenced node that the rscs on the fenced node stopped - pengine: fixes segfault in pengine when fencing remote node - remote: do not fail operations because of a migration - remote: handle merging duplicate recurring monitors for connection rsc - pengine: cl#5235 - Prevent graph loops that can be introduced by "load_stopped -> migrate_to" ordering - PE: Exclude nodes which don't match any exclusive discovery rules - Log: improve IPC connection error messages - Log: make syslog less noisy - lrmd: cancel currently pending STONITH op if stonithd connection is lost - fencing: Correct the all_topology_devices_found() implementation - crmd: Pre-emptively fail in-flight actions when lrmd connections fail - PE: Include a list of all and available nodes with notifications - lrmd: set recv timeout upper bound for tls connections - services: prevent recurring monitors from colliding with other operations - crmd: handle resources named the same as cluster nodes - crmd: make actions incompletable after remote-node fails - crm_simulate: Correctly invoke the policy engine library - libcluster: overhaul peer cache management - crmd: Prevent use-of-NULL - crm_report: Enable password sanitizing by default - PE: Keep the size of the secure list small in the cib - PE: Reduce noise when sanitized policy engine files are replayed - attrd: handle removals of cluster peers and remote peers consistently - libcluster: avoid possibility of invalidating a hash table iterator - membership: Ensure peer cache management supports all stacks - libcluster: do not re-add peer entries for exiting nodes - PE: Skip unrunnable actions when one-or-more is in effect - PE: Ensure recurring monitor operations are cancelled when clone instances are de-allocated - systemd: No need to trigger assert if cannot obtain an unit (bsc#931271) - dbus: Use operation timeout for dbus reply timeout (bsc#931271) - fencing: correct choice of fencing topology level - crm_shadow: Fix "crm_shadow --diff" (bsc#931166) - cib: Calculate and add digest for a patchset after accepting changes for the target xml (bsc#931114) - remote: enable reloads for select remote connection options - crmd: fence remote node after connection failure only once - remote: reconnect_delay option for remote nodes to delay reconnect after fence - tools: ignore stderr from crm_mon when running via systemd - xml: update RelaxNG schema for crm_mon XML output - Fencing: Correctly handle changes to the fencing topology - fencing: Allow complex configurations to apply to multiple hosts - tools: Update regression tests for ACL fixes - tools: improve failed actions display in crm_mon - tools: implement printing tickets in crm_mon HTML/XML output - tools: implement printing negative location constraints in crm_mon HTML/XML output - tools: implement printing operations and failcounts in crm_mon HTML/XML output - tools: implement printing node attributes in crm_mon HTML/XML output - tools: improve cluster summary display in crm_mon - tools: improve guest node output in crm_mon - tools: prettify plaintext output - tools: prettify crm_mon HTML output - tools: prettify crm_mon --simple-status output - crm_report: Allow log file discovery to be disabled - crm_resource: Support debugging promote and demote operations - fencing: Allow semi-colon delimiter for pcmk_host_list - Upstream version cs: ef86b494a411ce920eb18b9b6541a3a0425a41e0- Update to version 1.1.13 - Build: Update library versions - Build: Move new struct members to the end for backwards compatibility - Fencing: Gracefully handle invalid metadata from agents - Upstream version cs: 6052cd16c2f455809f8088af76ce86483bf98353 (Pacemaker-1.1.13)- pengine: cl#5130 - Only check the capacities of the nodes that are allowed to run the resource (FATE#313105) - cib: Correctly add "update-origin", "update-client" and "update-user" attributes for cib (bsc#931177) - fencing : Correction of the log output of the practice node of stonith. - Upstream version cs: a0449d443fa5c834207def5fe36a117a53c334d6- xml: Correctly create v1 patchsets when deleting attributes (bsc#931170) - xml: Prevent potential use-of-NULL (bsc#929960) - Upstream version cs: 677f53216662d121a47b4c7683ec3749c614437e- cib: No need to enforce cib digests for v2 diffs in legacy mode (bsc#929960) - cib: Ability to upgrade cib validation schema in legacy mode (bsc#929960) - xml: Do not dump deleted attributes (bsc#929960) - cib: Revert d153b86 to instantly get cib synchronized in legacy mode (bsc#929960) - cib: Enable cib legacy mode for plugin-based clusters (bsc#929960) - Build: CRM_STATE_DIR is created dynamically when needed - Tools: Repair expected output for ACLs - Build: Prevent rpm packaging conflicts - pengine: cl#5130 - Choose nodes capable of running all the colocated utilization resources (FATE#313105) * Drop obsolete pacemaker-colocated-utilization.patch - Upstream version cs: 0b79da3e73fe2ced8b9602aa59d55873d857b3e7- crmd/pengine: implement on-fail=ignore without allow-fail (bsc#981731) - pengine: Prevent use-after-free in sort_rsc_process_order() (bsc#930368) - crmd: Prevent the old version of DC from being fenced when it shuts down for rolling-upgrade (bsc#929955) - xml: Fix upgrade-1.3.xsl to correctly transform ACL rules with "attribute" (bsc#929681) - crmd/pengine: handle on-fail=ignore properly (bsc#981731) - crmd: respect start-failure-is-fatal even for artifically injected events (bsc#981731) - crmd: don't update fail count twice for same failure (bsc#950450, bsc#981731) - crmd: report operation rc as advertised instead of status (bsc#981731) - xml: add RelaxNG schema for crm_mon XML output - Upstream version cs: c9ad9cd503f071391efe17d3c45d578d6f152acd- pengine: process rsc parameters during unpack (bsc#929842) - pengine: handle setting container attribute in the correct location (bsc#929842) - lrmd: move isolation wrappers to hidden directory (bsc#929842) - mainloop: resolves race condition mainloop poll involving modification of ipc connections (bsc#929835) - Upstream version cs: f47ea56b4ec23c7d8e0c129535a9b49cdbd80482- fencing: Correctly make args for fencing agents (bsc#925751) - fence_legacy: Avoid passing 'port' to cluster-glue agents (bsc#925751) - corosync: Bug cl#5232 - Somewhat gracefully handle nodes with invalid UUIDs - HealthSMART: OCF_RESKEY_drives could contain multiple values - pengine: restart master instances on instance attribute changes - spec: move report.common and report.collector to cli package - pengine: only kill process group on timeout when on-fail does not equal block. - lrmd: Hint to child processes that using sd_notify is not required (bsc#956626) - Agents: Fix the HealthSMART metadata - make targetted reprobe for remote node work, crm_resource -C -N - crmd: include remote nodes when forcing cluster wide resource reprobe - crm_mon: Support of the start from systemd of crm_mon - Upstream version cs: 195559d47b0e9186b5d131981f6f7fee96ecad76- Rebase: * pacemaker-NodeUtilization-RA.patch - docker-wrapper: per resource logging of lrmd and remote client tool - pengine: Avoid trailing whitespaces when printing resource state - pengine: cl#5207 - Display "UNCLEAN" for resources running on unclean offline nodes - docker-wrapper: add reuse option for presistent containers - docker-wrapper: only override exit reason if docker daemon is inactive - pengine: handle isolated resource scenario, cloned group of isolated resources - pengine: handle cloned isolated resources in a sane way - crm_report: More patterns for finding logs on non-DC nodes - lrmd: Use original timestamps when reporting multi-step systemd operations - lrmd: report original timeout when systemd operation completes - systemd: improve unit files - PE: Turn off legacy unpacking of resource options into the meta hashtable - acl: Do not delay evaluation of added nodes in some situations (bsc#927828: CVE-2015-1867) - docker-wrapper: add demote, promote, and notify actions for multistate rsc - docker-wrapper: properly forward key value pairs during isolation - attrd: fixes double free in attrd legacy - lrmd: do not let isolation wrappers inherit the wrapper attribute, or it makes a loop - pengine: pass node name of pcmk host into isolated resources - lrmd: isolation wrappers are moved from containers to isolation OCF namepace - pengine: Fix colocation with unmanaged resources - stonith-ng: Correctly track node state - stonith-ng: No reply is needed for CRM_OP_RM_NODE_CACHE - crm_resource: Fix output format of the warning from --force-start - crm_resource: Display the locations of all anonymous clone children when supplying the children's common ID (bsc#870339) - cib: Correctly track node state - Upstream version cs: 7a2e3ae6b736621933b24f4cdc9ea260021d878d- Rebase: * bug-806256_pacemaker-log-level-notice.patch * pacemaker-NodeUtilization-RA.patch * pacemaker-colocated-utilization.patch - crmd: All peers need to track node shutdown requests (bsc#917625) - crmd: Cached copies of transient attributes cease to be valid once a node leaves the membership (bsc#917625) - crmd: Wait for all pending operations to complete before poking the policy engine - lrmd: preserve exit reason string when isolation wrappers are in use - docker-wrapper: properly separate docker and resource specific attributes - docker-wrapper: set authkey file permissions and properly set container 'node name' during start - systemd: Trick systemd into not stopping our services before us during shutdown (bsc#913251) - mcp: Allow a configurable delay when debugging shutdown issues - systemd: Kindly ask dbus NOT to kill the process if the dbus connection fails (bsc#931271) - systemd: Tell systemd not to take DBus down from underneath us (bsc#913251) - cib: Correctly set up signal handlers - PE: Do not record duplicate copies of the failed actions - lrmd: enable ipc proxy for docker-wrapper privileged mode - lrmd: properly handle poke requests in lrmd client when using ipc - spec: add docker-wrapper directory to spec file - pengine: disable migrations for resources with isolation containers - pengine: disable reloading of resources within isolated container wrappers - pengine: ability to launch resources in isolated containers - extra: docker container tech wrapper script for pcmk remote - tools: crm_mon prints Stopped clones only if --inactive was specified - tools: display node names more consistently in crm_mon output - tools: Improve crm_mon output with certain option combinations - tools: make crm_mon last updated header consistent across formats - remote: pcmk remote client tool for use with container wrapper script - crmd: Reset stonith failcount to recover transitioner when the node rejoins (bsc#921102) - systemd: fix crash caused when canceling in-flight operation - Upstream version cs: 3e93bc1dd6c1c3f2ee101f754567aa007b24bb5e- PE: Support non-actionable degraded mode for OCF - lrmd, services: interpret LSB status codes properly - tools: add crm_resource --wait option - tools: attrd_updater supports --query and --all options - attrd: attrd supports queries - pengine: remove unnecessary whitespace from notify environment variables - tools: free allocated memory correctly in crm_resource - attrd: properly write attributes for peers once uuid is discovered - cib: assignment where comparison intended - attrd: only send ack for recognized operations - attrd: make each client operation handler its own function - tools: attrd_updater supports private attributes - attrd supports private attributes (not written to CIB) - pengine: Reschedule specific monitors when resource definitions have changed (bsc#914761) - pengine: Resolve memory leaks (bsc#914761) - Upstream version cs: e32080b460f81486b85d08ec958582b3e72d858c- properly record stop args after reload - pengine: Do not reschedule monitors that are no longer needed while resource definitions have changed (bsc#914761) - Build: Fix building when heartbeat support is disabled - fencing: cl#5134 - Support random fencing delay to avoid double fencing (FATE#317136, FATE#318381, bsc#970733) - extra: Use crm_simulate for the showscores script - attrd: refresh should force an immediate write-out of all attributes - service: Leave synchronous calls to be free'd by the caller - service: Additional pointer safety - crmd: Add "on_node" attribute for *_last_failure_0 lrm resource operations (bsc#918839) - crm_mon: Fill CRM_notify_node in traps with node's uname rather than node's id if possible (bsc#918839) - pengine: ensure if B is colocated with A, B can never run without A - cib: automatically update .sig files in file backends when clients update live CIB - cib: file-based backends now detect whether file is live CIB - lrmd: add back support for class heartbeat agents - lrmd: provide fake meta data for ra class heartbeat - crm_resource: Use-after-free when restarting a resource - cli: Ensure subsequent unknown long options are correctly detected - crmd: Bug rhbz#1181824 - Ensure the DC can be reliably fenced - attrd_updater: Allow attributes to be set for other nodes - native_print: report target-role as well - membership: fix crm_update_peer_proc to NOT ignore flags if partially set - crmd: don't trigger a stonith_reconnect if no longer required - Upstream version cs: fa1311a0159588385f24cd8c3530233f4b90f3a9- Add pacemaker-Wno-format-signedness.patch to disable - Wformat-signedness added by GCC 5 and enabled by -Wformat=2- pengine: Handle ordering between stateful and migratable resources (bsc#881160) - crmd: Check "watchdog" daemon option before setting "have-watchdog" property - crmd: Correctly add the local option that validates against schema for pengine to calculate - Upstream version cs: 3021d731fdeba29e1136c117a62f3201785be6ea- crm_standby: update accepted options to match documentation - cts: Fix bashisms in LSBDummy script - pengine: fixes pengine crash with orphaned remote node connection resource - PE: Do not aggregate children in a pending state into the started/stopped/etc lists - acl: Correctly implement the 'reference' acl directive - Upstream version cs: 03ec61210c82471161f6cf3366e8afc30d737d67- pengine: imply stop in container node resources when host node is fenced - Build: Fix building if ncurses doesn't provide pkg-config files - xml: Do not change the ordering of properties when applying v1 cib diffs - xml: Do not prune leaves from v1 cib diffs that are being created with digests - Upstream version cs: 4109f1539a625bfa3e884d19ab2fc42d7a4daec4- xml: add 'require-all' to xml schema for constraints - pengine: require-all feature for ordered clones - xml: Ensure ACLs are reapplied before calculating what a replace operation changed - cib: Ensure file-based backends treat '-o section' consistently with the native backend - crmd: resolves memory leak in crmd. - pacemakerd: resolves memory leak of xml structure in pacemakerd - ipc: use server enforced buffer during ipc client send - pengine: do not recording pending migrate_to ops for pacemaker remote - crmd: never stop recurring monitor ops for pcmk remote during incomplete migration - pengine: prefer migration target for remote node connections - pengine: properly handle ordering during remote connection partial migration - crmd: Ensure remote connection resources timeout properly during 'migrate_from' action - crmd: gracefully handle remote node disconnects during op execution - pengine: Fence baremetal remote when recurring monitor op fails - crmd: Handle remote connection failures while executing ops on remote connection - remote: Treat recv msg timeout as a disconnect - pengine: properly recover remote-nodes when cluster-node proxy goes offline - systemd: Correctly handle long running stop actions (bsc#948989) - crm_resource: Include group members when calculating the next timeout - crm_resource: Ensure --restart sets/clears meta attributes - crm_resource: Clean up memory in --restart error paths - Build: Use a wrapper for realloc() which calls abort when we run out of memory - services: Prevent potential use-of-NULL - crm_resource: Memory leak in error paths - crmd: Mistake of the set of the variable. - Upstream version cs: d0139e9a00c32b9bc1d7d206d6210126045b49be- crm_node: Correctly remove nodes from the CIB by nodeid - fencing: Allow nodes to be purged from the member cache - xml: cl#5231 - Unset the deleted attributes in the resulting diffs (bsc#905641, bsc#967254) - fencing: stonith -l option for custom log - cib: Avoid nodeid conflicts we don't care about - Membership: Detect and resolve nodes that change their ID - attrd: Simplify how node deletions happen - attrd: Clean out the node cache when requested by the admin - crm_resource: Allow resource restart operations to be node specific - crm_resource: Implement --timeout for resource restart operations - crm_resource: Calculate how long to wait for a restart based on the resource timeouts - crm_resource: Implement an intelligent restart capability - crm_failcount: Better error reporting when no resource is specified - cib: tls sock cleanup for remote cib connections - Upstream version cs: 7dd90226e10035340d6707d9fd2b04f2e0141194- pengine: make resource-discovery work with location rules - services: Conditionally clean up services actions - Upstream version cs: 5093c095c5f517ab58375b2b69ecfc5516c86b5b- Drop conditional BuildRequires of system-devel: it was required one line lower unconditionally. - Replace remaining systemd-devel BuildRequires with pkgconfig(systemd).- pengine: exclusive discovery implies rsc is only allowed on exclusive subset of nodes - dbus: handle dispatch queue when multiple replies need to be processed - dbus ref count leaks - dbus: Ensure both the read and write queues get dispatched - systemd: Ensure failed monitor operations always return - Perform systemd reloads asynchronously - Upstream version cs: cd7c9abbcfc620aa84194ee07aade142240db15a- watchdog: Allow startup without sbd - service: Prevent potential use-of-NULL in metadata lookups - dbus: Fail gracefully if malloc fails - crmd: Prevent use-of-NULL during reprobe - crmd: Correctly obtain SBD_WATCHDOG_TIMEOUT from the environment - pengine: add #kind=remote for baremetal remote-nodes - Officially support the resource-discovery attribute for location constraints - xml: fix xml.c memleak in "missing upgrade XSLT" case - Prefer to inherit the watchdog timeout from SBD - stonith-ng: Correctly observe the watchdog completion timeout - sbd: Attempt to locate sbd via its pid file - Fencing: If configured, wait stonith-watchdog-timer seconds for self-fencing to complete - Resolve some potential issues spotted by clang and coverity - PE: Watchdog integration is sufficient for fencing - Fencing: Correctly wait for self-fencing to occur when the watchdog is in use - Fencing: Ensure the hostlist parameter is set for watchdog agents - crm_resource: Allow -M location to be reinforced with -f even if rsc is already on node - mcp: Turn on sbd integration if pacemakerd finds it running - pengine: Fix the behaviors of multi-state resources with asymmetrical ordering (bsc#899403) - lrmd: Prevent glib assert triggered by timers being removed from mainloop more than once - cib: Improved tracing of callbacks - Upstream version cs: a9c81774b89f21f990be255f9862446d1a38afee- remote: advertise default port correctly, further adjust default timeout periods - remote: report timestamps for remote connection resource operations - pengine: allow remote-nodes to be placed in maintenance mode - xml: Prevent assert errors in crm_element_value() on applying a patch without version information (bsc#900296) - pengine: prevent disabling rsc discovery per node in certain situations - crm_resource: avoid deletion of lrm cache on node with resource discovery disabled. - pengine: per-node control over resource discovery - mainloop: fix potential segfault for fd = 0 - ping: Correct metadata for attempts parameter (bsc#899324) - ping: Pass extra options to fping (bsc#899324) - ping: Remove incorrectly advertised migrate_to|migrate_from (bsc#899324) - ping: Add use_fping parameter (bsc#899324) - ping: Correctly advertise multiplier default (bsc#899324) - pengine: resource discovery mode for location constraints - cib: Ensure upgrade operations from a non-DC get an acknowledgement - lrmd: cancel pending async connection during disconnect - systemd: Ensure we don't call dbus_message_unref() with NULL - systemd: Perform monitor operations without blocking - dbus: Notice when dbus connections get disabled - pengine: allow baremetal remote-nodes to recover without requiring fencing when cluster-node fails - crmd: do not remove connection resources during re-probe - pengine: only fence baremetal remote when connection can fails or can not be recovered - ipc: properly allocate server enforced buffer size on client - remote: advertise more reasonable timeout periods for remote-nodes connections - crmd: properly update job limit for baremetal remote-nodes - crmd: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc - crmd: Ensure throttle_mode() does something on Linux - systemd: Perform actions asynchronously (bsc#956500) - crm_attribute: Correctly update config options when -o crm_config is specified - crmd: Fixes crash when remote connection migration fails - pengine: fixes segfault caused by malformed log warning - Allow fail-counts to be removed en-mass when the new attrd is in operation - fencing: Use the correct define for origin - fencing: Reject actions for devices that haven't been explicitly registered yet - cts : change default cluster stack from openais to corosync (bsc#894871) - crm_resource: Ensure fail-counts are purged when we redetect the state of all resources - corosync: Avoid unnecessary repeated CMAP API calls (bsc#870771) - cib: Do not update on disk backups if we're just querying them - mcp: Allow orphan children to initiate node panic via SIGQUIT - Support machine panics for some kinds of errors (via sbd if available) - Fencing: Allow the cluster to recover resources if the watchdog is in use - crmd: If configured, trigger the watchdog immediately if we loose quorum and no-quorum-policy=suicide - crmd: Ensure a watchdog device is in use if stonith-watchdog-timeout is configured - Fencing: Advertise the watchdog device for fencing operations - PE: Allow natural ordering of colocation sets - stonith-ng: Reset mainloop source IDs after removing them - Fencing: Force 'stonith-ng' as the system name - crm_mon: Repair notification delivery when the v2 patch format is in use (bsc#909286) - mcp: Teach pacemakerd to ignore SIGHUP - Rebase bug-806256_pacemaker-log-level-notice.patch - Upstream version cs: 28aee948cebd51305a2cdc3ec4f94252ce975655/bin/sh/bin/sh/bin/sh/bin/shlamb10 1575019081  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.1.18+20180430.b12c320f5-lp150.2.20.1  ctsCIB.pyCM_common.pyCM_corosync.pyCTS.pyCTSaudits.pyCTSscenarios.pyCTStests.pyCTSvars.py__init__.py__pycache__CIB.cpython-36.opt-1.pycCIB.cpython-36.pycCM_common.cpython-36.opt-1.pycCM_common.cpython-36.pycCM_corosync.cpython-36.opt-1.pycCM_corosync.cpython-36.pycCTS.cpython-36.opt-1.pycCTS.cpython-36.pycCTSaudits.cpython-36.opt-1.pycCTSaudits.cpython-36.pycCTSscenarios.cpython-36.opt-1.pycCTSscenarios.cpython-36.pycCTStests.cpython-36.opt-1.pycCTStests.cpython-36.pycCTSvars.cpython-36.opt-1.pycCTSvars.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccib_xml.cpython-36.opt-1.pyccib_xml.cpython-36.pycenvironment.cpython-36.opt-1.pycenvironment.cpython-36.pyclogging.cpython-36.opt-1.pyclogging.cpython-36.pycpatterns.cpython-36.opt-1.pycpatterns.cpython-36.pycremote.cpython-36.opt-1.pycremote.cpython-36.pycwatcher.cpython-36.opt-1.pycwatcher.cpython-36.pyccib_xml.pyenvironment.pylogging.pypatterns.pyremote.pywatcher.pypacemaker-cts-dummyd@.servicepacemaker-ctsCOPYINGChangeLogtestsREADME.mdcliregression.acls.expregression.dates.expregression.tools.expregression.validity.expctscts-clicts-coveragects-lrmdcts-penginects-regressioncts-stonithdCTSlab.pyLSBDummybenchmarkREADME.benchmarkclubenchcontrolctscts.suppfence_dummylxc_autogen.shpengine1-a-then-bm-move-b.dot1-a-then-bm-move-b.exp1-a-then-bm-move-b.scores1-a-then-bm-move-b.summary1-a-then-bm-move-b.xml10-a-then-bm-b-move-a-clone.dot10-a-then-bm-b-move-a-clone.exp10-a-then-bm-b-move-a-clone.scores10-a-then-bm-b-move-a-clone.summary10-a-then-bm-b-move-a-clone.xml11-a-then-bm-b-move-a-clone-starting.dot11-a-then-bm-b-move-a-clone-starting.exp11-a-then-bm-b-move-a-clone-starting.scores11-a-then-bm-b-move-a-clone-starting.summary11-a-then-bm-b-move-a-clone-starting.xml1360.dot1360.exp1360.scores1360.summary1360.xml1484.dot1484.exp1484.scores1484.summary1484.xml1494.dot1494.exp1494.scores1494.summary1494.xml2-am-then-b-move-a.dot2-am-then-b-move-a.exp2-am-then-b-move-a.scores2-am-then-b-move-a.summary2-am-then-b-move-a.xml3-am-then-bm-both-migrate.dot3-am-then-bm-both-migrate.exp3-am-then-bm-both-migrate.scores3-am-then-bm-both-migrate.summary3-am-then-bm-both-migrate.xml4-am-then-bm-b-not-migratable.dot4-am-then-bm-b-not-migratable.exp4-am-then-bm-b-not-migratable.scores4-am-then-bm-b-not-migratable.summary4-am-then-bm-b-not-migratable.xml5-am-then-bm-a-not-migratable.dot5-am-then-bm-a-not-migratable.exp5-am-then-bm-a-not-migratable.scores5-am-then-bm-a-not-migratable.summary5-am-then-bm-a-not-migratable.xml594.dot594.exp594.scores594.summary594.xml6-migrate-group.dot6-migrate-group.exp6-migrate-group.scores6-migrate-group.summary6-migrate-group.xml662.dot662.exp662.scores662.summary662.xml696.dot696.exp696.scores696.summary696.xml7-migrate-group-one-unmigratable.dot7-migrate-group-one-unmigratable.exp7-migrate-group-one-unmigratable.scores7-migrate-group-one-unmigratable.summary7-migrate-group-one-unmigratable.xml726.dot726.exp726.scores726.summary726.xml735.dot735.exp735.scores735.summary735.xml764.dot764.exp764.scores764.summary764.xml797.dot797.exp797.scores797.summary797.xml8-am-then-bm-a-migrating-b-stopping.dot8-am-then-bm-a-migrating-b-stopping.exp8-am-then-bm-a-migrating-b-stopping.scores8-am-then-bm-a-migrating-b-stopping.summary8-am-then-bm-a-migrating-b-stopping.xml829.dot829.exp829.scores829.summary829.xml9-am-then-bm-b-migrating-a-stopping.dot9-am-then-bm-b-migrating-a-stopping.exp9-am-then-bm-b-migrating-a-stopping.scores9-am-then-bm-b-migrating-a-stopping.summary9-am-then-bm-b-migrating-a-stopping.xml994-2.dot994-2.exp994-2.scores994-2.summary994-2.xml994.dot994.exp994.scores994.summary994.xmla-demote-then-b-migrate.dota-demote-then-b-migrate.expa-demote-then-b-migrate.scoresa-demote-then-b-migrate.summarya-demote-then-b-migrate.xmla-promote-then-b-migrate.dota-promote-then-b-migrate.expa-promote-then-b-migrate.scoresa-promote-then-b-migrate.summarya-promote-then-b-migrate.xmlanti-colocation-master.dotanti-colocation-master.expanti-colocation-master.scoresanti-colocation-master.summaryanti-colocation-master.xmlanti-colocation-order.dotanti-colocation-order.expanti-colocation-order.scoresanti-colocation-order.summaryanti-colocation-order.xmlanti-colocation-slave.dotanti-colocation-slave.expanti-colocation-slave.scoresanti-colocation-slave.summaryanti-colocation-slave.xmlasymmetric.dotasymmetric.expasymmetric.scoresasymmetric.summaryasymmetric.xmlasymmetrical-order-move.dotasymmetrical-order-move.expasymmetrical-order-move.scoresasymmetrical-order-move.summaryasymmetrical-order-move.xmlattrs1.dotattrs1.expattrs1.scoresattrs1.summaryattrs1.xmlattrs2.dotattrs2.expattrs2.scoresattrs2.summaryattrs2.xmlattrs3.dotattrs3.expattrs3.scoresattrs3.summaryattrs3.xmlattrs4.dotattrs4.expattrs4.scoresattrs4.summaryattrs4.xmlattrs5.dotattrs5.expattrs5.scoresattrs5.summaryattrs5.xmlattrs6.dotattrs6.expattrs6.scoresattrs6.summaryattrs6.xmlattrs7.dotattrs7.expattrs7.scoresattrs7.summaryattrs7.xmlattrs8.dotattrs8.expattrs8.scoresattrs8.summaryattrs8.xmlbalanced.dotbalanced.expbalanced.scoresbalanced.summarybalanced.xmlbase-score.dotbase-score.expbase-score.scoresbase-score.summarybase-score.xmlbnc-515172.dotbnc-515172.expbnc-515172.scoresbnc-515172.summarybnc-515172.xmlbug-1572-1.dotbug-1572-1.expbug-1572-1.scoresbug-1572-1.summarybug-1572-1.xmlbug-1572-2.dotbug-1572-2.expbug-1572-2.scoresbug-1572-2.summarybug-1572-2.xmlbug-1573.dotbug-1573.expbug-1573.scoresbug-1573.summarybug-1573.xmlbug-1685.dotbug-1685.expbug-1685.scoresbug-1685.summarybug-1685.xmlbug-1718.dotbug-1718.expbug-1718.scoresbug-1718.summarybug-1718.xmlbug-1765.dotbug-1765.expbug-1765.scoresbug-1765.summarybug-1765.xmlbug-1820-1.dotbug-1820-1.expbug-1820-1.scoresbug-1820-1.summarybug-1820-1.xmlbug-1820.dotbug-1820.expbug-1820.scoresbug-1820.summarybug-1820.xmlbug-1822.dotbug-1822.expbug-1822.scoresbug-1822.summarybug-1822.xmlbug-5007-masterslave_colocation.dotbug-5007-masterslave_colocation.expbug-5007-masterslave_colocation.scoresbug-5007-masterslave_colocation.summarybug-5007-masterslave_colocation.xmlbug-5014-A-start-B-start.dotbug-5014-A-start-B-start.expbug-5014-A-start-B-start.scoresbug-5014-A-start-B-start.summarybug-5014-A-start-B-start.xmlbug-5014-A-stop-B-started.dotbug-5014-A-stop-B-started.expbug-5014-A-stop-B-started.scoresbug-5014-A-stop-B-started.summarybug-5014-A-stop-B-started.xmlbug-5014-A-stopped-B-stopped.dotbug-5014-A-stopped-B-stopped.expbug-5014-A-stopped-B-stopped.scoresbug-5014-A-stopped-B-stopped.summarybug-5014-A-stopped-B-stopped.xmlbug-5014-CLONE-A-start-B-start.dotbug-5014-CLONE-A-start-B-start.expbug-5014-CLONE-A-start-B-start.scoresbug-5014-CLONE-A-start-B-start.summarybug-5014-CLONE-A-start-B-start.xmlbug-5014-CLONE-A-stop-B-started.dotbug-5014-CLONE-A-stop-B-started.expbug-5014-CLONE-A-stop-B-started.scoresbug-5014-CLONE-A-stop-B-started.summarybug-5014-CLONE-A-stop-B-started.xmlbug-5014-CthenAthenB-C-stopped.dotbug-5014-CthenAthenB-C-stopped.expbug-5014-CthenAthenB-C-stopped.scoresbug-5014-CthenAthenB-C-stopped.summarybug-5014-CthenAthenB-C-stopped.xmlbug-5014-GROUP-A-start-B-start.dotbug-5014-GROUP-A-start-B-start.expbug-5014-GROUP-A-start-B-start.scoresbug-5014-GROUP-A-start-B-start.summarybug-5014-GROUP-A-start-B-start.xmlbug-5014-GROUP-A-stopped-B-started.dotbug-5014-GROUP-A-stopped-B-started.expbug-5014-GROUP-A-stopped-B-started.scoresbug-5014-GROUP-A-stopped-B-started.summarybug-5014-GROUP-A-stopped-B-started.xmlbug-5014-GROUP-A-stopped-B-stopped.dotbug-5014-GROUP-A-stopped-B-stopped.expbug-5014-GROUP-A-stopped-B-stopped.scoresbug-5014-GROUP-A-stopped-B-stopped.summarybug-5014-GROUP-A-stopped-B-stopped.xmlbug-5014-ordered-set-symmetrical-false.dotbug-5014-ordered-set-symmetrical-false.expbug-5014-ordered-set-symmetrical-false.scoresbug-5014-ordered-set-symmetrical-false.summarybug-5014-ordered-set-symmetrical-false.xmlbug-5014-ordered-set-symmetrical-true.dotbug-5014-ordered-set-symmetrical-true.expbug-5014-ordered-set-symmetrical-true.scoresbug-5014-ordered-set-symmetrical-true.summarybug-5014-ordered-set-symmetrical-true.xmlbug-5025-1.dotbug-5025-1.expbug-5025-1.scoresbug-5025-1.summarybug-5025-1.xmlbug-5025-2.dotbug-5025-2.expbug-5025-2.scoresbug-5025-2.summarybug-5025-2.xmlbug-5025-3.dotbug-5025-3.expbug-5025-3.scoresbug-5025-3.summarybug-5025-3.xmlbug-5025-4.dotbug-5025-4.expbug-5025-4.scoresbug-5025-4.summarybug-5025-4.xmlbug-5028-bottom.dotbug-5028-bottom.expbug-5028-bottom.scoresbug-5028-bottom.summarybug-5028-bottom.xmlbug-5028-detach.dotbug-5028-detach.expbug-5028-detach.scoresbug-5028-detach.summarybug-5028-detach.xmlbug-5028.dotbug-5028.expbug-5028.scoresbug-5028.summarybug-5028.xmlbug-5038.dotbug-5038.expbug-5038.scoresbug-5038.summarybug-5038.xmlbug-5059.dotbug-5059.expbug-5059.scoresbug-5059.summarybug-5059.xmlbug-5069-op-disabled.dotbug-5069-op-disabled.expbug-5069-op-disabled.scoresbug-5069-op-disabled.summarybug-5069-op-disabled.xmlbug-5069-op-enabled.dotbug-5069-op-enabled.expbug-5069-op-enabled.scoresbug-5069-op-enabled.summarybug-5069-op-enabled.xmlbug-5140-require-all-false.dotbug-5140-require-all-false.expbug-5140-require-all-false.scoresbug-5140-require-all-false.summarybug-5140-require-all-false.xmlbug-5143-ms-shuffle.dotbug-5143-ms-shuffle.expbug-5143-ms-shuffle.scoresbug-5143-ms-shuffle.summarybug-5143-ms-shuffle.xmlbug-5186-partial-migrate.dotbug-5186-partial-migrate.expbug-5186-partial-migrate.scoresbug-5186-partial-migrate.summarybug-5186-partial-migrate.xmlbug-cl-5168.dotbug-cl-5168.expbug-cl-5168.scoresbug-cl-5168.summarybug-cl-5168.xmlbug-cl-5170.dotbug-cl-5170.expbug-cl-5170.scoresbug-cl-5170.summarybug-cl-5170.xmlbug-cl-5212.dotbug-cl-5212.expbug-cl-5212.scoresbug-cl-5212.summarybug-cl-5212.xmlbug-cl-5213.dotbug-cl-5213.expbug-cl-5213.scoresbug-cl-5213.summarybug-cl-5213.xmlbug-cl-5219.dotbug-cl-5219.expbug-cl-5219.scoresbug-cl-5219.summarybug-cl-5219.xmlbug-cl-5247.dotbug-cl-5247.expbug-cl-5247.scoresbug-cl-5247.summarybug-cl-5247.xmlbug-lf-1852.dotbug-lf-1852.expbug-lf-1852.scoresbug-lf-1852.summarybug-lf-1852.xmlbug-lf-1920.dotbug-lf-1920.expbug-lf-1920.scoresbug-lf-1920.summarybug-lf-1920.xmlbug-lf-2106.dotbug-lf-2106.expbug-lf-2106.scoresbug-lf-2106.summarybug-lf-2106.xmlbug-lf-2153.dotbug-lf-2153.expbug-lf-2153.scoresbug-lf-2153.summarybug-lf-2153.xmlbug-lf-2160.dotbug-lf-2160.expbug-lf-2160.scoresbug-lf-2160.summarybug-lf-2160.xmlbug-lf-2171.dotbug-lf-2171.expbug-lf-2171.scoresbug-lf-2171.summarybug-lf-2171.xmlbug-lf-2213.dotbug-lf-2213.expbug-lf-2213.scoresbug-lf-2213.summarybug-lf-2213.xmlbug-lf-2317.dotbug-lf-2317.expbug-lf-2317.scoresbug-lf-2317.summarybug-lf-2317.xmlbug-lf-2358.dotbug-lf-2358.expbug-lf-2358.scoresbug-lf-2358.summarybug-lf-2358.xmlbug-lf-2361.dotbug-lf-2361.expbug-lf-2361.scoresbug-lf-2361.summarybug-lf-2361.xmlbug-lf-2422.dotbug-lf-2422.expbug-lf-2422.scoresbug-lf-2422.summarybug-lf-2422.xmlbug-lf-2435.dotbug-lf-2435.expbug-lf-2435.scoresbug-lf-2435.summarybug-lf-2435.xmlbug-lf-2445.dotbug-lf-2445.expbug-lf-2445.scoresbug-lf-2445.summarybug-lf-2445.xmlbug-lf-2453.dotbug-lf-2453.expbug-lf-2453.scoresbug-lf-2453.summarybug-lf-2453.xmlbug-lf-2474.dotbug-lf-2474.expbug-lf-2474.scoresbug-lf-2474.summarybug-lf-2474.xmlbug-lf-2493.dotbug-lf-2493.expbug-lf-2493.scoresbug-lf-2493.summarybug-lf-2493.xmlbug-lf-2508.dotbug-lf-2508.expbug-lf-2508.scoresbug-lf-2508.summarybug-lf-2508.xmlbug-lf-2544.dotbug-lf-2544.expbug-lf-2544.scoresbug-lf-2544.summarybug-lf-2544.xmlbug-lf-2551.dotbug-lf-2551.expbug-lf-2551.scoresbug-lf-2551.summarybug-lf-2551.xmlbug-lf-2574.dotbug-lf-2574.expbug-lf-2574.scoresbug-lf-2574.summarybug-lf-2574.xmlbug-lf-2581.dotbug-lf-2581.expbug-lf-2581.scoresbug-lf-2581.summarybug-lf-2581.xmlbug-lf-2606.dotbug-lf-2606.expbug-lf-2606.scoresbug-lf-2606.summarybug-lf-2606.xmlbug-lf-2613.dotbug-lf-2613.expbug-lf-2613.scoresbug-lf-2613.summarybug-lf-2613.xmlbug-lf-2619.dotbug-lf-2619.expbug-lf-2619.scoresbug-lf-2619.summarybug-lf-2619.xmlbug-n-385265-2.dotbug-n-385265-2.expbug-n-385265-2.scoresbug-n-385265-2.summarybug-n-385265-2.xmlbug-n-385265.dotbug-n-385265.expbug-n-385265.scoresbug-n-385265.summarybug-n-385265.xmlbug-n-387749.dotbug-n-387749.expbug-n-387749.scoresbug-n-387749.summarybug-n-387749.xmlbug-pm-11.dotbug-pm-11.expbug-pm-11.scoresbug-pm-11.summarybug-pm-11.xmlbug-pm-12.dotbug-pm-12.expbug-pm-12.scoresbug-pm-12.summarybug-pm-12.xmlbug-rh-1097457.dotbug-rh-1097457.expbug-rh-1097457.scoresbug-rh-1097457.summarybug-rh-1097457.xmlbug-rh-880249.dotbug-rh-880249.expbug-rh-880249.scoresbug-rh-880249.summarybug-rh-880249.xmlbug-suse-707150.dotbug-suse-707150.expbug-suse-707150.scoresbug-suse-707150.summarybug-suse-707150.xmlbundle-nested-colocation.dotbundle-nested-colocation.expbundle-nested-colocation.scoresbundle-nested-colocation.summarybundle-nested-colocation.xmlbundle-order-fencing.dotbundle-order-fencing.expbundle-order-fencing.scoresbundle-order-fencing.summarybundle-order-fencing.xmlbundle-order-partial-start-2.dotbundle-order-partial-start-2.expbundle-order-partial-start-2.scoresbundle-order-partial-start-2.summarybundle-order-partial-start-2.xmlbundle-order-partial-start.dotbundle-order-partial-start.expbundle-order-partial-start.scoresbundle-order-partial-start.summarybundle-order-partial-start.xmlbundle-order-partial-stop.dotbundle-order-partial-stop.expbundle-order-partial-stop.scoresbundle-order-partial-stop.summarybundle-order-partial-stop.xmlbundle-order-partial.dotbundle-order-partial.expbundle-order-partial.scoresbundle-order-partial.summarybundle-order-partial.xmlbundle-order-startup-clone-2.dotbundle-order-startup-clone-2.expbundle-order-startup-clone-2.scoresbundle-order-startup-clone-2.summarybundle-order-startup-clone-2.xmlbundle-order-startup-clone.dotbundle-order-startup-clone.expbundle-order-startup-clone.scoresbundle-order-startup-clone.summarybundle-order-startup-clone.xmlbundle-order-startup.dotbundle-order-startup.expbundle-order-startup.scoresbundle-order-startup.summarybundle-order-startup.xmlbundle-order-stop-clone.dotbundle-order-stop-clone.expbundle-order-stop-clone.scoresbundle-order-stop-clone.summarybundle-order-stop-clone.xmlbundle-order-stop-on-remote.dotbundle-order-stop-on-remote.expbundle-order-stop-on-remote.scoresbundle-order-stop-on-remote.summarybundle-order-stop-on-remote.xmlbundle-order-stop.dotbundle-order-stop.expbundle-order-stop.scoresbundle-order-stop.summarybundle-order-stop.xmlbundle-probe-order-1.dotbundle-probe-order-1.expbundle-probe-order-1.scoresbundle-probe-order-1.summarybundle-probe-order-1.xmlbundle-probe-order-2.dotbundle-probe-order-2.expbundle-probe-order-2.scoresbundle-probe-order-2.summarybundle-probe-order-2.xmlbundle-probe-order-3.dotbundle-probe-order-3.expbundle-probe-order-3.scoresbundle-probe-order-3.summarybundle-probe-order-3.xmlbundle-probe-remotes.dotbundle-probe-remotes.expbundle-probe-remotes.scoresbundle-probe-remotes.summarybundle-probe-remotes.xmlbundle-replicas-change.dotbundle-replicas-change.expbundle-replicas-change.scoresbundle-replicas-change.summarybundle-replicas-change.xmlclone-anon-dup.dotclone-anon-dup.expclone-anon-dup.scoresclone-anon-dup.summaryclone-anon-dup.xmlclone-anon-failcount.dotclone-anon-failcount.expclone-anon-failcount.scoresclone-anon-failcount.summaryclone-anon-failcount.xmlclone-anon-probe-1.dotclone-anon-probe-1.expclone-anon-probe-1.scoresclone-anon-probe-1.summaryclone-anon-probe-1.xmlclone-anon-probe-2.dotclone-anon-probe-2.expclone-anon-probe-2.scoresclone-anon-probe-2.summaryclone-anon-probe-2.xmlclone-colocate-instance-1.dotclone-colocate-instance-1.expclone-colocate-instance-1.scoresclone-colocate-instance-1.summaryclone-colocate-instance-1.xmlclone-colocate-instance-2.dotclone-colocate-instance-2.expclone-colocate-instance-2.scoresclone-colocate-instance-2.summaryclone-colocate-instance-2.xmlclone-fail-block-colocation.dotclone-fail-block-colocation.expclone-fail-block-colocation.scoresclone-fail-block-colocation.summaryclone-fail-block-colocation.xmlclone-interleave-1.dotclone-interleave-1.expclone-interleave-1.scoresclone-interleave-1.summaryclone-interleave-1.xmlclone-interleave-2.dotclone-interleave-2.expclone-interleave-2.scoresclone-interleave-2.summaryclone-interleave-2.xmlclone-interleave-3.dotclone-interleave-3.expclone-interleave-3.scoresclone-interleave-3.summaryclone-interleave-3.xmlclone-max-zero.dotclone-max-zero.expclone-max-zero.scoresclone-max-zero.summaryclone-max-zero.xmlclone-no-shuffle.dotclone-no-shuffle.expclone-no-shuffle.scoresclone-no-shuffle.summaryclone-no-shuffle.xmlclone-order-16instances.dotclone-order-16instances.expclone-order-16instances.scoresclone-order-16instances.summaryclone-order-16instances.xmlclone-order-instance.dotclone-order-instance.expclone-order-instance.scoresclone-order-instance.summaryclone-order-instance.xmlclone-order-primitive.dotclone-order-primitive.expclone-order-primitive.scoresclone-order-primitive.summaryclone-order-primitive.xmlclone-require-all-1.dotclone-require-all-1.expclone-require-all-1.scoresclone-require-all-1.summaryclone-require-all-1.xmlclone-require-all-2.dotclone-require-all-2.expclone-require-all-2.scoresclone-require-all-2.summaryclone-require-all-2.xmlclone-require-all-3.dotclone-require-all-3.expclone-require-all-3.scoresclone-require-all-3.summaryclone-require-all-3.xmlclone-require-all-4.dotclone-require-all-4.expclone-require-all-4.scoresclone-require-all-4.summaryclone-require-all-4.xmlclone-require-all-5.dotclone-require-all-5.expclone-require-all-5.scoresclone-require-all-5.summaryclone-require-all-5.xmlclone-require-all-6.dotclone-require-all-6.expclone-require-all-6.scoresclone-require-all-6.summaryclone-require-all-6.xmlclone-require-all-7.dotclone-require-all-7.expclone-require-all-7.scoresclone-require-all-7.summaryclone-require-all-7.xmlclone-require-all-no-interleave-1.dotclone-require-all-no-interleave-1.expclone-require-all-no-interleave-1.scoresclone-require-all-no-interleave-1.summaryclone-require-all-no-interleave-1.xmlclone-require-all-no-interleave-2.dotclone-require-all-no-interleave-2.expclone-require-all-no-interleave-2.scoresclone-require-all-no-interleave-2.summaryclone-require-all-no-interleave-2.xmlclone-require-all-no-interleave-3.dotclone-require-all-no-interleave-3.expclone-require-all-no-interleave-3.scoresclone-require-all-no-interleave-3.summaryclone-require-all-no-interleave-3.xmlclone_min_interleave_start_one.dotclone_min_interleave_start_one.expclone_min_interleave_start_one.scoresclone_min_interleave_start_one.summaryclone_min_interleave_start_one.xmlclone_min_interleave_start_two.dotclone_min_interleave_start_two.expclone_min_interleave_start_two.scoresclone_min_interleave_start_two.summaryclone_min_interleave_start_two.xmlclone_min_interleave_stop_one.dotclone_min_interleave_stop_one.expclone_min_interleave_stop_one.scoresclone_min_interleave_stop_one.summaryclone_min_interleave_stop_one.xmlclone_min_interleave_stop_two.dotclone_min_interleave_stop_two.expclone_min_interleave_stop_two.scoresclone_min_interleave_stop_two.summaryclone_min_interleave_stop_two.xmlclone_min_start_one.dotclone_min_start_one.expclone_min_start_one.scoresclone_min_start_one.summaryclone_min_start_one.xmlclone_min_start_two.dotclone_min_start_two.expclone_min_start_two.scoresclone_min_start_two.summaryclone_min_start_two.xmlclone_min_stop_all.dotclone_min_stop_all.expclone_min_stop_all.scoresclone_min_stop_all.summaryclone_min_stop_all.xmlclone_min_stop_one.dotclone_min_stop_one.expclone_min_stop_one.scoresclone_min_stop_one.summaryclone_min_stop_one.xmlclone_min_stop_two.dotclone_min_stop_two.expclone_min_stop_two.scoresclone_min_stop_two.summaryclone_min_stop_two.xmlcloned-group-stop.dotcloned-group-stop.expcloned-group-stop.scorescloned-group-stop.summarycloned-group-stop.xmlcloned-group.dotcloned-group.expcloned-group.scorescloned-group.summarycloned-group.xmlcloned_start_one.dotcloned_start_one.expcloned_start_one.scorescloned_start_one.summarycloned_start_one.xmlcloned_start_two.dotcloned_start_two.expcloned_start_two.scorescloned_start_two.summarycloned_start_two.xmlcloned_stop_one.dotcloned_stop_one.expcloned_stop_one.scorescloned_stop_one.summarycloned_stop_one.xmlcloned_stop_two.dotcloned_stop_two.expcloned_stop_two.scorescloned_stop_two.summarycloned_stop_two.xmlcluster-specific-params.dotcluster-specific-params.expcluster-specific-params.scorescluster-specific-params.summarycluster-specific-params.xmlcolo_master_w_native.dotcolo_master_w_native.expcolo_master_w_native.scorescolo_master_w_native.summarycolo_master_w_native.xmlcolo_slave_w_native.dotcolo_slave_w_native.expcolo_slave_w_native.scorescolo_slave_w_native.summarycolo_slave_w_native.xmlcoloc-attr.dotcoloc-attr.expcoloc-attr.scorescoloc-attr.summarycoloc-attr.xmlcoloc-clone-stays-active.dotcoloc-clone-stays-active.expcoloc-clone-stays-active.scorescoloc-clone-stays-active.summarycoloc-clone-stays-active.xmlcoloc-group.dotcoloc-group.expcoloc-group.scorescoloc-group.summarycoloc-group.xmlcoloc-intra-set.dotcoloc-intra-set.expcoloc-intra-set.scorescoloc-intra-set.summarycoloc-intra-set.xmlcoloc-list.dotcoloc-list.expcoloc-list.scorescoloc-list.summarycoloc-list.xmlcoloc-loop.dotcoloc-loop.expcoloc-loop.scorescoloc-loop.summarycoloc-loop.xmlcoloc-many-one.dotcoloc-many-one.expcoloc-many-one.scorescoloc-many-one.summarycoloc-many-one.xmlcoloc-negative-group.dotcoloc-negative-group.expcoloc-negative-group.scorescoloc-negative-group.summarycoloc-negative-group.xmlcoloc-slave-anti.dotcoloc-slave-anti.expcoloc-slave-anti.scorescoloc-slave-anti.summarycoloc-slave-anti.xmlcoloc_fp_logic.dotcoloc_fp_logic.expcoloc_fp_logic.scorescoloc_fp_logic.summarycoloc_fp_logic.xmlcolocate-primitive-with-clone.dotcolocate-primitive-with-clone.expcolocate-primitive-with-clone.scorescolocate-primitive-with-clone.summarycolocate-primitive-with-clone.xmlcolocated-utilization-clone.dotcolocated-utilization-clone.expcolocated-utilization-clone.scorescolocated-utilization-clone.summarycolocated-utilization-clone.xmlcolocated-utilization-group.dotcolocated-utilization-group.expcolocated-utilization-group.scorescolocated-utilization-group.summarycolocated-utilization-group.xmlcolocated-utilization-primitive-1.dotcolocated-utilization-primitive-1.expcolocated-utilization-primitive-1.scorescolocated-utilization-primitive-1.summarycolocated-utilization-primitive-1.xmlcolocated-utilization-primitive-2.dotcolocated-utilization-primitive-2.expcolocated-utilization-primitive-2.scorescolocated-utilization-primitive-2.summarycolocated-utilization-primitive-2.xmlcolocation_constraint_stops_master.dotcolocation_constraint_stops_master.expcolocation_constraint_stops_master.scorescolocation_constraint_stops_master.summarycolocation_constraint_stops_master.xmlcolocation_constraint_stops_slave.dotcolocation_constraint_stops_slave.expcolocation_constraint_stops_slave.scorescolocation_constraint_stops_slave.summarycolocation_constraint_stops_slave.xmlcomments.dotcomments.expcomments.scorescomments.summarycomments.xmlcomplex_enforce_colo.dotcomplex_enforce_colo.expcomplex_enforce_colo.scorescomplex_enforce_colo.summarycomplex_enforce_colo.xmlconcurrent-fencing.dotconcurrent-fencing.expconcurrent-fencing.scoresconcurrent-fencing.summaryconcurrent-fencing.xmlcontainer-1.dotcontainer-1.expcontainer-1.scorescontainer-1.summarycontainer-1.xmlcontainer-2.dotcontainer-2.expcontainer-2.scorescontainer-2.summarycontainer-2.xmlcontainer-3.dotcontainer-3.expcontainer-3.scorescontainer-3.summarycontainer-3.xmlcontainer-4.dotcontainer-4.expcontainer-4.scorescontainer-4.summarycontainer-4.xmlcontainer-group-1.dotcontainer-group-1.expcontainer-group-1.scorescontainer-group-1.summarycontainer-group-1.xmlcontainer-group-2.dotcontainer-group-2.expcontainer-group-2.scorescontainer-group-2.summarycontainer-group-2.xmlcontainer-group-3.dotcontainer-group-3.expcontainer-group-3.scorescontainer-group-3.summarycontainer-group-3.xmlcontainer-group-4.dotcontainer-group-4.expcontainer-group-4.scorescontainer-group-4.summarycontainer-group-4.xmlcontainer-is-remote-node.dotcontainer-is-remote-node.expcontainer-is-remote-node.scorescontainer-is-remote-node.summarycontainer-is-remote-node.xmldate-1.dotdate-1.expdate-1.scoresdate-1.summarydate-1.xmldate-2.dotdate-2.expdate-2.scoresdate-2.summarydate-2.xmldate-3.dotdate-3.expdate-3.scoresdate-3.summarydate-3.xmlenforce-colo1.dotenforce-colo1.expenforce-colo1.scoresenforce-colo1.summaryenforce-colo1.xmlexpire-non-blocked-failure.dotexpire-non-blocked-failure.expexpire-non-blocked-failure.scoresexpire-non-blocked-failure.summaryexpire-non-blocked-failure.xmlfailcount-block.dotfailcount-block.expfailcount-block.scoresfailcount-block.summaryfailcount-block.xmlfailcount.dotfailcount.expfailcount.scoresfailcount.summaryfailcount.xmlfailed-demote-recovery-master.dotfailed-demote-recovery-master.expfailed-demote-recovery-master.scoresfailed-demote-recovery-master.summaryfailed-demote-recovery-master.xmlfailed-demote-recovery.dotfailed-demote-recovery.expfailed-demote-recovery.scoresfailed-demote-recovery.summaryfailed-demote-recovery.xmlgroup-dependents.dotgroup-dependents.expgroup-dependents.scoresgroup-dependents.summarygroup-dependents.xmlgroup-fail.dotgroup-fail.expgroup-fail.scoresgroup-fail.summarygroup-fail.xmlgroup-unmanaged-stopped.dotgroup-unmanaged-stopped.expgroup-unmanaged-stopped.scoresgroup-unmanaged-stopped.summarygroup-unmanaged-stopped.xmlgroup-unmanaged.dotgroup-unmanaged.expgroup-unmanaged.scoresgroup-unmanaged.summarygroup-unmanaged.xmlgroup1.dotgroup1.expgroup1.scoresgroup1.summarygroup1.xmlgroup10.dotgroup10.expgroup10.scoresgroup10.summarygroup10.xmlgroup11.dotgroup11.expgroup11.scoresgroup11.summarygroup11.xmlgroup13.dotgroup13.expgroup13.scoresgroup13.summarygroup13.xmlgroup14.dotgroup14.expgroup14.scoresgroup14.summarygroup14.xmlgroup15.dotgroup15.expgroup15.scoresgroup15.summarygroup15.xmlgroup2.dotgroup2.expgroup2.scoresgroup2.summarygroup2.xmlgroup3.dotgroup3.expgroup3.scoresgroup3.summarygroup3.xmlgroup4.dotgroup4.expgroup4.scoresgroup4.summarygroup4.xmlgroup5.dotgroup5.expgroup5.scoresgroup5.summarygroup5.xmlgroup6.dotgroup6.expgroup6.scoresgroup6.summarygroup6.xmlgroup7.dotgroup7.expgroup7.scoresgroup7.summarygroup7.xmlgroup8.dotgroup8.expgroup8.scoresgroup8.summarygroup8.xmlgroup9.dotgroup9.expgroup9.scoresgroup9.summarygroup9.xmlguest-node-host-dies.dotguest-node-host-dies.expguest-node-host-dies.scoresguest-node-host-dies.summaryguest-node-host-dies.xmlhistory-1.dothistory-1.exphistory-1.scoreshistory-1.summaryhistory-1.xmlhonor_stonith_rsc_order1.dothonor_stonith_rsc_order1.exphonor_stonith_rsc_order1.scoreshonor_stonith_rsc_order1.summaryhonor_stonith_rsc_order1.xmlhonor_stonith_rsc_order2.dothonor_stonith_rsc_order2.exphonor_stonith_rsc_order2.scoreshonor_stonith_rsc_order2.summaryhonor_stonith_rsc_order2.xmlhonor_stonith_rsc_order3.dothonor_stonith_rsc_order3.exphonor_stonith_rsc_order3.scoreshonor_stonith_rsc_order3.summaryhonor_stonith_rsc_order3.xmlhonor_stonith_rsc_order4.dothonor_stonith_rsc_order4.exphonor_stonith_rsc_order4.scoreshonor_stonith_rsc_order4.summaryhonor_stonith_rsc_order4.xmlignore_stonith_rsc_order1.dotignore_stonith_rsc_order1.expignore_stonith_rsc_order1.scoresignore_stonith_rsc_order1.summaryignore_stonith_rsc_order1.xmlignore_stonith_rsc_order2.dotignore_stonith_rsc_order2.expignore_stonith_rsc_order2.scoresignore_stonith_rsc_order2.summaryignore_stonith_rsc_order2.xmlignore_stonith_rsc_order3.dotignore_stonith_rsc_order3.expignore_stonith_rsc_order3.scoresignore_stonith_rsc_order3.summaryignore_stonith_rsc_order3.xmlignore_stonith_rsc_order4.dotignore_stonith_rsc_order4.expignore_stonith_rsc_order4.scoresignore_stonith_rsc_order4.summaryignore_stonith_rsc_order4.xmlinc0.dotinc0.expinc0.scoresinc0.summaryinc0.xmlinc1.dotinc1.expinc1.scoresinc1.summaryinc1.xmlinc10.dotinc10.expinc10.scoresinc10.summaryinc10.xmlinc11.dotinc11.expinc11.scoresinc11.summaryinc11.xmlinc12.dotinc12.expinc12.scoresinc12.summaryinc12.xmlinc2.dotinc2.expinc2.scoresinc2.summaryinc2.xmlinc3.dotinc3.expinc3.scoresinc3.summaryinc3.xmlinc4.dotinc4.expinc4.scoresinc4.summaryinc4.xmlinc5.dotinc5.expinc5.scoresinc5.summaryinc5.xmlinc6.dotinc6.expinc6.scoresinc6.summaryinc6.xmlinc7.dotinc7.expinc7.scoresinc7.summaryinc7.xmlinc8.dotinc8.expinc8.scoresinc8.summaryinc8.xmlinc9.dotinc9.expinc9.scoresinc9.summaryinc9.xmlinterleave-0.dotinterleave-0.expinterleave-0.scoresinterleave-0.summaryinterleave-0.xmlinterleave-1.dotinterleave-1.expinterleave-1.scoresinterleave-1.summaryinterleave-1.xmlinterleave-2.dotinterleave-2.expinterleave-2.scoresinterleave-2.summaryinterleave-2.xmlinterleave-3.dotinterleave-3.expinterleave-3.scoresinterleave-3.summaryinterleave-3.xmlinterleave-pseudo-stop.dotinterleave-pseudo-stop.expinterleave-pseudo-stop.scoresinterleave-pseudo-stop.summaryinterleave-pseudo-stop.xmlinterleave-restart.dotinterleave-restart.expinterleave-restart.scoresinterleave-restart.summaryinterleave-restart.xmlinterleave-stop.dotinterleave-stop.expinterleave-stop.scoresinterleave-stop.summaryinterleave-stop.xmlintervals.dotintervals.expintervals.scoresintervals.summaryintervals.xmlload-stopped-loop-2.dotload-stopped-loop-2.expload-stopped-loop-2.scoresload-stopped-loop-2.summaryload-stopped-loop-2.xmlload-stopped-loop.dotload-stopped-loop.expload-stopped-loop.scoresload-stopped-loop.summaryload-stopped-loop.xmllocation-sets-templates.dotlocation-sets-templates.explocation-sets-templates.scoreslocation-sets-templates.summarylocation-sets-templates.xmlmanaged-0.dotmanaged-0.expmanaged-0.scoresmanaged-0.summarymanaged-0.xmlmanaged-1.dotmanaged-1.expmanaged-1.scoresmanaged-1.summarymanaged-1.xmlmanaged-2.dotmanaged-2.expmanaged-2.scoresmanaged-2.summarymanaged-2.xmlmaster-0.dotmaster-0.expmaster-0.scoresmaster-0.summarymaster-0.xmlmaster-1.dotmaster-1.expmaster-1.scoresmaster-1.summarymaster-1.xmlmaster-10.dotmaster-10.expmaster-10.scoresmaster-10.summarymaster-10.xmlmaster-11.dotmaster-11.expmaster-11.scoresmaster-11.summarymaster-11.xmlmaster-12.dotmaster-12.expmaster-12.scoresmaster-12.summarymaster-12.xmlmaster-13.dotmaster-13.expmaster-13.scoresmaster-13.summarymaster-13.xmlmaster-2.dotmaster-2.expmaster-2.scoresmaster-2.summarymaster-2.xmlmaster-3.dotmaster-3.expmaster-3.scoresmaster-3.summarymaster-3.xmlmaster-4.dotmaster-4.expmaster-4.scoresmaster-4.summarymaster-4.xmlmaster-5.dotmaster-5.expmaster-5.scoresmaster-5.summarymaster-5.xmlmaster-6.dotmaster-6.expmaster-6.scoresmaster-6.summarymaster-6.xmlmaster-7.dotmaster-7.expmaster-7.scoresmaster-7.summarymaster-7.xmlmaster-8.dotmaster-8.expmaster-8.scoresmaster-8.summarymaster-8.xmlmaster-9.dotmaster-9.expmaster-9.scoresmaster-9.summarymaster-9.xmlmaster-allow-start.dotmaster-allow-start.expmaster-allow-start.scoresmaster-allow-start.summarymaster-allow-start.xmlmaster-asymmetrical-order.dotmaster-asymmetrical-order.expmaster-asymmetrical-order.scoresmaster-asymmetrical-order.summarymaster-asymmetrical-order.xmlmaster-colocation.dotmaster-colocation.expmaster-colocation.scoresmaster-colocation.summarymaster-colocation.xmlmaster-demote-2.dotmaster-demote-2.expmaster-demote-2.scoresmaster-demote-2.summarymaster-demote-2.xmlmaster-demote-block.dotmaster-demote-block.expmaster-demote-block.scoresmaster-demote-block.summarymaster-demote-block.xmlmaster-demote.dotmaster-demote.expmaster-demote.scoresmaster-demote.summarymaster-demote.xmlmaster-depend.dotmaster-depend.expmaster-depend.scoresmaster-depend.summarymaster-depend.xmlmaster-dependent-ban.dotmaster-dependent-ban.expmaster-dependent-ban.scoresmaster-dependent-ban.summarymaster-dependent-ban.xmlmaster-failed-demote-2.dotmaster-failed-demote-2.expmaster-failed-demote-2.scoresmaster-failed-demote-2.summarymaster-failed-demote-2.xmlmaster-failed-demote.dotmaster-failed-demote.expmaster-failed-demote.scoresmaster-failed-demote.summarymaster-failed-demote.xmlmaster-group.dotmaster-group.expmaster-group.scoresmaster-group.summarymaster-group.xmlmaster-move.dotmaster-move.expmaster-move.scoresmaster-move.summarymaster-move.xmlmaster-notify.dotmaster-notify.expmaster-notify.scoresmaster-notify.summarymaster-notify.xmlmaster-ordering.dotmaster-ordering.expmaster-ordering.scoresmaster-ordering.summarymaster-ordering.xmlmaster-partially-demoted-group.dotmaster-partially-demoted-group.expmaster-partially-demoted-group.scoresmaster-partially-demoted-group.summarymaster-partially-demoted-group.xmlmaster-probed-score.dotmaster-probed-score.expmaster-probed-score.scoresmaster-probed-score.summarymaster-probed-score.xmlmaster-promotion-constraint.dotmaster-promotion-constraint.expmaster-promotion-constraint.scoresmaster-promotion-constraint.summarymaster-promotion-constraint.xmlmaster-pseudo.dotmaster-pseudo.expmaster-pseudo.scoresmaster-pseudo.summarymaster-pseudo.xmlmaster-reattach.dotmaster-reattach.expmaster-reattach.scoresmaster-reattach.summarymaster-reattach.xmlmaster-role.dotmaster-role.expmaster-role.scoresmaster-role.summarymaster-role.xmlmaster-score-startup.dotmaster-score-startup.expmaster-score-startup.scoresmaster-score-startup.summarymaster-score-startup.xmlmaster-stop.dotmaster-stop.expmaster-stop.scoresmaster-stop.summarymaster-stop.xmlmaster-unmanaged-monitor.dotmaster-unmanaged-monitor.expmaster-unmanaged-monitor.scoresmaster-unmanaged-monitor.summarymaster-unmanaged-monitor.xmlmaster_monitor_restart.dotmaster_monitor_restart.expmaster_monitor_restart.scoresmaster_monitor_restart.summarymaster_monitor_restart.xmlmigrate-1.dotmigrate-1.expmigrate-1.scoresmigrate-1.summarymigrate-1.xmlmigrate-2.dotmigrate-2.expmigrate-2.scoresmigrate-2.summarymigrate-2.xmlmigrate-3.dotmigrate-3.expmigrate-3.scoresmigrate-3.summarymigrate-3.xmlmigrate-4.dotmigrate-4.expmigrate-4.scoresmigrate-4.summarymigrate-4.xmlmigrate-5.dotmigrate-5.expmigrate-5.scoresmigrate-5.summarymigrate-5.xmlmigrate-begin.dotmigrate-begin.expmigrate-begin.scoresmigrate-begin.summarymigrate-begin.xmlmigrate-both-vms.dotmigrate-both-vms.expmigrate-both-vms.scoresmigrate-both-vms.summarymigrate-both-vms.xmlmigrate-fail-2.dotmigrate-fail-2.expmigrate-fail-2.scoresmigrate-fail-2.summarymigrate-fail-2.xmlmigrate-fail-3.dotmigrate-fail-3.expmigrate-fail-3.scoresmigrate-fail-3.summarymigrate-fail-3.xmlmigrate-fail-4.dotmigrate-fail-4.expmigrate-fail-4.scoresmigrate-fail-4.summarymigrate-fail-4.xmlmigrate-fail-5.dotmigrate-fail-5.expmigrate-fail-5.scoresmigrate-fail-5.summarymigrate-fail-5.xmlmigrate-fail-6.dotmigrate-fail-6.expmigrate-fail-6.scoresmigrate-fail-6.summarymigrate-fail-6.xmlmigrate-fail-7.dotmigrate-fail-7.expmigrate-fail-7.scoresmigrate-fail-7.summarymigrate-fail-7.xmlmigrate-fail-8.dotmigrate-fail-8.expmigrate-fail-8.scoresmigrate-fail-8.summarymigrate-fail-8.xmlmigrate-fail-9.dotmigrate-fail-9.expmigrate-fail-9.scoresmigrate-fail-9.summarymigrate-fail-9.xmlmigrate-fencing.dotmigrate-fencing.expmigrate-fencing.scoresmigrate-fencing.summarymigrate-fencing.xmlmigrate-partial-1.dotmigrate-partial-1.expmigrate-partial-1.scoresmigrate-partial-1.summarymigrate-partial-1.xmlmigrate-partial-2.dotmigrate-partial-2.expmigrate-partial-2.scoresmigrate-partial-2.summarymigrate-partial-2.xmlmigrate-partial-3.dotmigrate-partial-3.expmigrate-partial-3.scoresmigrate-partial-3.summarymigrate-partial-3.xmlmigrate-partial-4.dotmigrate-partial-4.expmigrate-partial-4.scoresmigrate-partial-4.summarymigrate-partial-4.xmlmigrate-shutdown.dotmigrate-shutdown.expmigrate-shutdown.scoresmigrate-shutdown.summarymigrate-shutdown.xmlmigrate-start-complex.dotmigrate-start-complex.expmigrate-start-complex.scoresmigrate-start-complex.summarymigrate-start-complex.xmlmigrate-start.dotmigrate-start.expmigrate-start.scoresmigrate-start.summarymigrate-start.xmlmigrate-stop-complex.dotmigrate-stop-complex.expmigrate-stop-complex.scoresmigrate-stop-complex.summarymigrate-stop-complex.xmlmigrate-stop-start-complex.dotmigrate-stop-start-complex.expmigrate-stop-start-complex.scoresmigrate-stop-start-complex.summarymigrate-stop-start-complex.xmlmigrate-stop.dotmigrate-stop.expmigrate-stop.scoresmigrate-stop.summarymigrate-stop.xmlmigrate-stop_start.dotmigrate-stop_start.expmigrate-stop_start.scoresmigrate-stop_start.summarymigrate-stop_start.xmlmigrate-success.dotmigrate-success.expmigrate-success.scoresmigrate-success.summarymigrate-success.xmlmigrate-versioned.dotmigrate-versioned.expmigrate-versioned.scoresmigrate-versioned.summarymigrate-versioned.xmlmigration-behind-migrating-remote.dotmigration-behind-migrating-remote.expmigration-behind-migrating-remote.scoresmigration-behind-migrating-remote.summarymigration-behind-migrating-remote.xmlminimal.dotminimal.expminimal.scoresminimal.summaryminimal.xmlmon-rsc-1.dotmon-rsc-1.expmon-rsc-1.scoresmon-rsc-1.summarymon-rsc-1.xmlmon-rsc-2.dotmon-rsc-2.expmon-rsc-2.scoresmon-rsc-2.summarymon-rsc-2.xmlmon-rsc-3.dotmon-rsc-3.expmon-rsc-3.scoresmon-rsc-3.summarymon-rsc-3.xmlmon-rsc-4.dotmon-rsc-4.expmon-rsc-4.scoresmon-rsc-4.summarymon-rsc-4.xmlmonitor-onfail-restart.dotmonitor-onfail-restart.expmonitor-onfail-restart.scoresmonitor-onfail-restart.summarymonitor-onfail-restart.xmlmonitor-onfail-stop.dotmonitor-onfail-stop.expmonitor-onfail-stop.scoresmonitor-onfail-stop.summarymonitor-onfail-stop.xmlmonitor-recovery.dotmonitor-recovery.expmonitor-recovery.scoresmonitor-recovery.summarymonitor-recovery.xmlmulti1.dotmulti1.expmulti1.scoresmulti1.summarymulti1.xmlmultiple-active-block-group.dotmultiple-active-block-group.expmultiple-active-block-group.scoresmultiple-active-block-group.summarymultiple-active-block-group.xmlmultiple-monitor-one-failed.dotmultiple-monitor-one-failed.expmultiple-monitor-one-failed.scoresmultiple-monitor-one-failed.summarymultiple-monitor-one-failed.xmlnode-maintenance-1.dotnode-maintenance-1.expnode-maintenance-1.scoresnode-maintenance-1.summarynode-maintenance-1.xmlnode-maintenance-2.dotnode-maintenance-2.expnode-maintenance-2.scoresnode-maintenance-2.summarynode-maintenance-2.xmlnot-installed-agent.dotnot-installed-agent.expnot-installed-agent.scoresnot-installed-agent.summarynot-installed-agent.xmlnot-installed-tools.dotnot-installed-tools.expnot-installed-tools.scoresnot-installed-tools.summarynot-installed-tools.xmlnot-reschedule-unneeded-monitor.dotnot-reschedule-unneeded-monitor.expnot-reschedule-unneeded-monitor.scoresnot-reschedule-unneeded-monitor.summarynot-reschedule-unneeded-monitor.xmlnotifs-for-unrunnable.dotnotifs-for-unrunnable.expnotifs-for-unrunnable.scoresnotifs-for-unrunnable.summarynotifs-for-unrunnable.xmlnotify-0.dotnotify-0.expnotify-0.scoresnotify-0.summarynotify-0.xmlnotify-1.dotnotify-1.expnotify-1.scoresnotify-1.summarynotify-1.xmlnotify-2.dotnotify-2.expnotify-2.scoresnotify-2.summarynotify-2.xmlnotify-3.dotnotify-3.expnotify-3.scoresnotify-3.summarynotify-3.xmlnovell-239079.dotnovell-239079.expnovell-239079.scoresnovell-239079.summarynovell-239079.xmlnovell-239082.dotnovell-239082.expnovell-239082.scoresnovell-239082.summarynovell-239082.xmlnovell-239087.dotnovell-239087.expnovell-239087.scoresnovell-239087.summarynovell-239087.xmlnovell-251689.dotnovell-251689.expnovell-251689.scoresnovell-251689.summarynovell-251689.xmlnovell-252693-2.dotnovell-252693-2.expnovell-252693-2.scoresnovell-252693-2.summarynovell-252693-2.xmlnovell-252693-3.dotnovell-252693-3.expnovell-252693-3.scoresnovell-252693-3.summarynovell-252693-3.xmlnovell-252693.dotnovell-252693.expnovell-252693.scoresnovell-252693.summarynovell-252693.xmlnvpair-id-ref.dotnvpair-id-ref.expnvpair-id-ref.scoresnvpair-id-ref.summarynvpair-id-ref.xmlobsolete-lrm-resource.dotobsolete-lrm-resource.expobsolete-lrm-resource.scoresobsolete-lrm-resource.summaryobsolete-lrm-resource.xmlon-fail-ignore.doton-fail-ignore.expon-fail-ignore.scoreson-fail-ignore.summaryon-fail-ignore.xmlone-or-more-0.dotone-or-more-0.expone-or-more-0.scoresone-or-more-0.summaryone-or-more-0.xmlone-or-more-1.dotone-or-more-1.expone-or-more-1.scoresone-or-more-1.summaryone-or-more-1.xmlone-or-more-2.dotone-or-more-2.expone-or-more-2.scoresone-or-more-2.summaryone-or-more-2.xmlone-or-more-3.dotone-or-more-3.expone-or-more-3.scoresone-or-more-3.summaryone-or-more-3.xmlone-or-more-4.dotone-or-more-4.expone-or-more-4.scoresone-or-more-4.summaryone-or-more-4.xmlone-or-more-5.dotone-or-more-5.expone-or-more-5.scoresone-or-more-5.summaryone-or-more-5.xmlone-or-more-6.dotone-or-more-6.expone-or-more-6.scoresone-or-more-6.summaryone-or-more-6.xmlone-or-more-7.dotone-or-more-7.expone-or-more-7.scoresone-or-more-7.summaryone-or-more-7.xmlone-or-more-unrunnable-instances.dotone-or-more-unrunnable-instances.expone-or-more-unrunnable-instances.scoresone-or-more-unrunnable-instances.summaryone-or-more-unrunnable-instances.xmlorder-clone.dotorder-clone.exporder-clone.scoresorder-clone.summaryorder-clone.xmlorder-expired-failure.dotorder-expired-failure.exporder-expired-failure.scoresorder-expired-failure.summaryorder-expired-failure.xmlorder-first-probes.dotorder-first-probes.exporder-first-probes.scoresorder-first-probes.summaryorder-first-probes.xmlorder-mandatory.dotorder-mandatory.exporder-mandatory.scoresorder-mandatory.summaryorder-mandatory.xmlorder-optional-keyword.dotorder-optional-keyword.exporder-optional-keyword.scoresorder-optional-keyword.summaryorder-optional-keyword.xmlorder-optional.dotorder-optional.exporder-optional.scoresorder-optional.summaryorder-optional.xmlorder-required.dotorder-required.exporder-required.scoresorder-required.summaryorder-required.xmlorder-serialize-set.dotorder-serialize-set.exporder-serialize-set.scoresorder-serialize-set.summaryorder-serialize-set.xmlorder-serialize.dotorder-serialize.exporder-serialize.scoresorder-serialize.summaryorder-serialize.xmlorder-sets.dotorder-sets.exporder-sets.scoresorder-sets.summaryorder-sets.xmlorder-wrong-kind.dotorder-wrong-kind.exporder-wrong-kind.scoresorder-wrong-kind.stderrorder-wrong-kind.summaryorder-wrong-kind.xmlorder1.dotorder1.exporder1.scoresorder1.summaryorder1.xmlorder2.dotorder2.exporder2.scoresorder2.summaryorder2.xmlorder3.dotorder3.exporder3.scoresorder3.summaryorder3.xmlorder4.dotorder4.exporder4.scoresorder4.summaryorder4.xmlorder5.dotorder5.exporder5.scoresorder5.summaryorder5.xmlorder6.dotorder6.exporder6.scoresorder6.summaryorder6.xmlorder7.dotorder7.exporder7.scoresorder7.summaryorder7.xmlorder_constraint_stops_master.dotorder_constraint_stops_master.exporder_constraint_stops_master.scoresorder_constraint_stops_master.summaryorder_constraint_stops_master.xmlorder_constraint_stops_slave.dotorder_constraint_stops_slave.exporder_constraint_stops_slave.scoresorder_constraint_stops_slave.summaryorder_constraint_stops_slave.xmlordered-set-basic-startup.dotordered-set-basic-startup.expordered-set-basic-startup.scoresordered-set-basic-startup.summaryordered-set-basic-startup.xmlordered-set-natural.dotordered-set-natural.expordered-set-natural.scoresordered-set-natural.summaryordered-set-natural.xmlorigin.dotorigin.exporigin.scoresorigin.summaryorigin.xmlorphan-0.dotorphan-0.exporphan-0.scoresorphan-0.summaryorphan-0.xmlorphan-1.dotorphan-1.exporphan-1.scoresorphan-1.summaryorphan-1.xmlorphan-2.dotorphan-2.exporphan-2.scoresorphan-2.summaryorphan-2.xmlparams-0.dotparams-0.expparams-0.scoresparams-0.summaryparams-0.xmlparams-1.dotparams-1.expparams-1.scoresparams-1.summaryparams-1.xmlparams-2.dotparams-2.expparams-2.scoresparams-2.summaryparams-2.xmlparams-4.dotparams-4.expparams-4.scoresparams-4.summaryparams-4.xmlparams-5.dotparams-5.expparams-5.scoresparams-5.summaryparams-5.xmlparams-6.dotparams-6.expparams-6.scoresparams-6.summaryparams-6.xmlper-node-attrs.dotper-node-attrs.expper-node-attrs.scoresper-node-attrs.summaryper-node-attrs.xmlper-op-failcount.dotper-op-failcount.expper-op-failcount.scoresper-op-failcount.summaryper-op-failcount.xmlplacement-capacity.dotplacement-capacity.expplacement-capacity.scoresplacement-capacity.summaryplacement-capacity.xmlplacement-location.dotplacement-location.expplacement-location.scoresplacement-location.summaryplacement-location.xmlplacement-priority.dotplacement-priority.expplacement-priority.scoresplacement-priority.summaryplacement-priority.xmlplacement-stickiness.dotplacement-stickiness.expplacement-stickiness.scoresplacement-stickiness.summaryplacement-stickiness.xmlprobe-0.dotprobe-0.expprobe-0.scoresprobe-0.summaryprobe-0.xmlprobe-1.dotprobe-1.expprobe-1.scoresprobe-1.summaryprobe-1.xmlprobe-2.dotprobe-2.expprobe-2.scoresprobe-2.summaryprobe-2.xmlprobe-3.dotprobe-3.expprobe-3.scoresprobe-3.summaryprobe-3.xmlprobe-4.dotprobe-4.expprobe-4.scoresprobe-4.summaryprobe-4.xmlprobe-timeout.dotprobe-timeout.expprobe-timeout.scoresprobe-timeout.summaryprobe-timeout.xmlquorum-1.dotquorum-1.expquorum-1.scoresquorum-1.summaryquorum-1.xmlquorum-2.dotquorum-2.expquorum-2.scoresquorum-2.summaryquorum-2.xmlquorum-3.dotquorum-3.expquorum-3.scoresquorum-3.summaryquorum-3.xmlquorum-4.dotquorum-4.expquorum-4.scoresquorum-4.summaryquorum-4.xmlquorum-5.dotquorum-5.expquorum-5.scoresquorum-5.summaryquorum-5.xmlquorum-6.dotquorum-6.expquorum-6.scoresquorum-6.summaryquorum-6.xmlrebalance-unique-clones.dotrebalance-unique-clones.exprebalance-unique-clones.scoresrebalance-unique-clones.summaryrebalance-unique-clones.xmlrec-node-1.dotrec-node-1.exprec-node-1.scoresrec-node-1.summaryrec-node-1.xmlrec-node-10.dotrec-node-10.exprec-node-10.scoresrec-node-10.summaryrec-node-10.xmlrec-node-11.dotrec-node-11.exprec-node-11.scoresrec-node-11.summaryrec-node-11.xmlrec-node-12.dotrec-node-12.exprec-node-12.scoresrec-node-12.summaryrec-node-12.xmlrec-node-13.dotrec-node-13.exprec-node-13.scoresrec-node-13.summaryrec-node-13.xmlrec-node-14.dotrec-node-14.exprec-node-14.scoresrec-node-14.summaryrec-node-14.xmlrec-node-15.dotrec-node-15.exprec-node-15.scoresrec-node-15.summaryrec-node-15.xmlrec-node-2.dotrec-node-2.exprec-node-2.scoresrec-node-2.summaryrec-node-2.xmlrec-node-3.dotrec-node-3.exprec-node-3.scoresrec-node-3.summaryrec-node-3.xmlrec-node-4.dotrec-node-4.exprec-node-4.scoresrec-node-4.summaryrec-node-4.xmlrec-node-5.dotrec-node-5.exprec-node-5.scoresrec-node-5.summaryrec-node-5.xmlrec-node-6.dotrec-node-6.exprec-node-6.scoresrec-node-6.summaryrec-node-6.xmlrec-node-7.dotrec-node-7.exprec-node-7.scoresrec-node-7.summaryrec-node-7.xmlrec-node-8.dotrec-node-8.exprec-node-8.scoresrec-node-8.summaryrec-node-8.xmlrec-node-9.dotrec-node-9.exprec-node-9.scoresrec-node-9.summaryrec-node-9.xmlrec-rsc-0.dotrec-rsc-0.exprec-rsc-0.scoresrec-rsc-0.summaryrec-rsc-0.xmlrec-rsc-1.dotrec-rsc-1.exprec-rsc-1.scoresrec-rsc-1.summaryrec-rsc-1.xmlrec-rsc-2.dotrec-rsc-2.exprec-rsc-2.scoresrec-rsc-2.summaryrec-rsc-2.xmlrec-rsc-3.dotrec-rsc-3.exprec-rsc-3.scoresrec-rsc-3.summaryrec-rsc-3.xmlrec-rsc-4.dotrec-rsc-4.exprec-rsc-4.scoresrec-rsc-4.summaryrec-rsc-4.xmlrec-rsc-5.dotrec-rsc-5.exprec-rsc-5.scoresrec-rsc-5.summaryrec-rsc-5.xmlrec-rsc-6.dotrec-rsc-6.exprec-rsc-6.scoresrec-rsc-6.summaryrec-rsc-6.xmlrec-rsc-7.dotrec-rsc-7.exprec-rsc-7.scoresrec-rsc-7.summaryrec-rsc-7.xmlrec-rsc-8.dotrec-rsc-8.exprec-rsc-8.scoresrec-rsc-8.summaryrec-rsc-8.xmlrec-rsc-9.dotrec-rsc-9.exprec-rsc-9.scoresrec-rsc-9.summaryrec-rsc-9.xmlreload-becomes-restart.dotreload-becomes-restart.expreload-becomes-restart.scoresreload-becomes-restart.summaryreload-becomes-restart.xmlreload-versioned.dotreload-versioned.expreload-versioned.scoresreload-versioned.summaryreload-versioned.xmlremote-connection-unrecoverable.dotremote-connection-unrecoverable.expremote-connection-unrecoverable.scoresremote-connection-unrecoverable.summaryremote-connection-unrecoverable.xmlremote-disable.dotremote-disable.expremote-disable.scoresremote-disable.summaryremote-disable.xmlremote-fence-before-reconnect.dotremote-fence-before-reconnect.expremote-fence-before-reconnect.scoresremote-fence-before-reconnect.summaryremote-fence-before-reconnect.xmlremote-fence-unclean-3.dotremote-fence-unclean-3.expremote-fence-unclean-3.scoresremote-fence-unclean-3.summaryremote-fence-unclean-3.xmlremote-fence-unclean.dotremote-fence-unclean.expremote-fence-unclean.scoresremote-fence-unclean.summaryremote-fence-unclean.xmlremote-fence-unclean2.dotremote-fence-unclean2.expremote-fence-unclean2.scoresremote-fence-unclean2.summaryremote-fence-unclean2.xmlremote-move.dotremote-move.expremote-move.scoresremote-move.summaryremote-move.xmlremote-orphaned.dotremote-orphaned.expremote-orphaned.scoresremote-orphaned.summaryremote-orphaned.xmlremote-orphaned2.dotremote-orphaned2.expremote-orphaned2.scoresremote-orphaned2.summaryremote-orphaned2.xmlremote-partial-migrate.dotremote-partial-migrate.expremote-partial-migrate.scoresremote-partial-migrate.summaryremote-partial-migrate.xmlremote-partial-migrate2.dotremote-partial-migrate2.expremote-partial-migrate2.scoresremote-partial-migrate2.summaryremote-partial-migrate2.xmlremote-probe-disable.dotremote-probe-disable.expremote-probe-disable.scoresremote-probe-disable.summaryremote-probe-disable.xmlremote-reconnect-delay.dotremote-reconnect-delay.expremote-reconnect-delay.scoresremote-reconnect-delay.summaryremote-reconnect-delay.xmlremote-recover-all.dotremote-recover-all.expremote-recover-all.scoresremote-recover-all.summaryremote-recover-all.xmlremote-recover-connection.dotremote-recover-connection.expremote-recover-connection.scoresremote-recover-connection.summaryremote-recover-connection.xmlremote-recover-fail.dotremote-recover-fail.expremote-recover-fail.scoresremote-recover-fail.summaryremote-recover-fail.xmlremote-recover-no-resources.dotremote-recover-no-resources.expremote-recover-no-resources.scoresremote-recover-no-resources.summaryremote-recover-no-resources.xmlremote-recover-unknown.dotremote-recover-unknown.expremote-recover-unknown.scoresremote-recover-unknown.summaryremote-recover-unknown.xmlremote-recover.dotremote-recover.expremote-recover.scoresremote-recover.summaryremote-recover.xmlremote-recovery.dotremote-recovery.expremote-recovery.scoresremote-recovery.summaryremote-recovery.xmlremote-stale-node-entry.dotremote-stale-node-entry.expremote-stale-node-entry.scoresremote-stale-node-entry.summaryremote-stale-node-entry.xmlremote-start-fail.dotremote-start-fail.expremote-start-fail.scoresremote-start-fail.summaryremote-start-fail.xmlremote-startup-probes.dotremote-startup-probes.expremote-startup-probes.scoresremote-startup-probes.summaryremote-startup-probes.xmlremote-startup.dotremote-startup.expremote-startup.scoresremote-startup.summaryremote-startup.xmlremote-unclean2.dotremote-unclean2.expremote-unclean2.scoresremote-unclean2.summaryremote-unclean2.xmlreprobe-target_rc.dotreprobe-target_rc.expreprobe-target_rc.scoresreprobe-target_rc.summaryreprobe-target_rc.xmlresource-discovery.dotresource-discovery.expresource-discovery.scoresresource-discovery.summaryresource-discovery.xmlrestart-versioned.dotrestart-versioned.exprestart-versioned.scoresrestart-versioned.summaryrestart-versioned.xmlrsc-discovery-per-node.dotrsc-discovery-per-node.exprsc-discovery-per-node.scoresrsc-discovery-per-node.summaryrsc-discovery-per-node.xmlrsc-maintenance.dotrsc-maintenance.exprsc-maintenance.scoresrsc-maintenance.summaryrsc-maintenance.xmlrsc-sets-clone-1.dotrsc-sets-clone-1.exprsc-sets-clone-1.scoresrsc-sets-clone-1.summaryrsc-sets-clone-1.xmlrsc-sets-clone.dotrsc-sets-clone.exprsc-sets-clone.scoresrsc-sets-clone.summaryrsc-sets-clone.xmlrsc-sets-master.dotrsc-sets-master.exprsc-sets-master.scoresrsc-sets-master.summaryrsc-sets-master.xmlrsc-sets-seq-false.dotrsc-sets-seq-false.exprsc-sets-seq-false.scoresrsc-sets-seq-false.summaryrsc-sets-seq-false.xmlrsc-sets-seq-true.dotrsc-sets-seq-true.exprsc-sets-seq-true.scoresrsc-sets-seq-true.summaryrsc-sets-seq-true.xmlrsc_dep1.dotrsc_dep1.exprsc_dep1.scoresrsc_dep1.summaryrsc_dep1.xmlrsc_dep10.dotrsc_dep10.exprsc_dep10.scoresrsc_dep10.summaryrsc_dep10.xmlrsc_dep2.dotrsc_dep2.exprsc_dep2.scoresrsc_dep2.summaryrsc_dep2.xmlrsc_dep3.dotrsc_dep3.exprsc_dep3.scoresrsc_dep3.summaryrsc_dep3.xmlrsc_dep4.dotrsc_dep4.exprsc_dep4.scoresrsc_dep4.summaryrsc_dep4.xmlrsc_dep5.dotrsc_dep5.exprsc_dep5.scoresrsc_dep5.summaryrsc_dep5.xmlrsc_dep7.dotrsc_dep7.exprsc_dep7.scoresrsc_dep7.summaryrsc_dep7.xmlrsc_dep8.dotrsc_dep8.exprsc_dep8.scoresrsc_dep8.summaryrsc_dep8.xmlshutdown-maintenance-node.dotshutdown-maintenance-node.expshutdown-maintenance-node.scoresshutdown-maintenance-node.summaryshutdown-maintenance-node.xmlsimple1.dotsimple1.expsimple1.scoressimple1.summarysimple1.xmlsimple11.dotsimple11.expsimple11.scoressimple11.summarysimple11.xmlsimple12.dotsimple12.expsimple12.scoressimple12.summarysimple12.xmlsimple2.dotsimple2.expsimple2.scoressimple2.summarysimple2.xmlsimple3.dotsimple3.expsimple3.scoressimple3.summarysimple3.xmlsimple4.dotsimple4.expsimple4.scoressimple4.summarysimple4.xmlsimple6.dotsimple6.expsimple6.scoressimple6.summarysimple6.xmlsimple7.dotsimple7.expsimple7.scoressimple7.summarysimple7.xmlsimple8.dotsimple8.expsimple8.scoressimple8.summarysimple8.xmlsite-specific-params.dotsite-specific-params.expsite-specific-params.scoressite-specific-params.summarysite-specific-params.xmlstandby.dotstandby.expstandby.scoresstandby.summarystandby.xmlstart-then-stop-with-unfence.dotstart-then-stop-with-unfence.expstart-then-stop-with-unfence.scoresstart-then-stop-with-unfence.summarystart-then-stop-with-unfence.xmlstonith-0.dotstonith-0.expstonith-0.scoresstonith-0.summarystonith-0.xmlstonith-1.dotstonith-1.expstonith-1.scoresstonith-1.summarystonith-1.xmlstonith-2.dotstonith-2.expstonith-2.scoresstonith-2.summarystonith-2.xmlstonith-3.dotstonith-3.expstonith-3.scoresstonith-3.summarystonith-3.xmlstonith-4.dotstonith-4.expstonith-4.scoresstonith-4.summarystonith-4.xmlstop-failure-no-fencing.dotstop-failure-no-fencing.expstop-failure-no-fencing.scoresstop-failure-no-fencing.summarystop-failure-no-fencing.xmlstop-failure-no-quorum.dotstop-failure-no-quorum.expstop-failure-no-quorum.scoresstop-failure-no-quorum.summarystop-failure-no-quorum.xmlstop-failure-with-fencing.dotstop-failure-with-fencing.expstop-failure-with-fencing.scoresstop-failure-with-fencing.summarystop-failure-with-fencing.xmlstopped-monitor-00.dotstopped-monitor-00.expstopped-monitor-00.scoresstopped-monitor-00.summarystopped-monitor-00.xmlstopped-monitor-01.dotstopped-monitor-01.expstopped-monitor-01.scoresstopped-monitor-01.summarystopped-monitor-01.xmlstopped-monitor-02.dotstopped-monitor-02.expstopped-monitor-02.scoresstopped-monitor-02.summarystopped-monitor-02.xmlstopped-monitor-03.dotstopped-monitor-03.expstopped-monitor-03.scoresstopped-monitor-03.summarystopped-monitor-03.xmlstopped-monitor-04.dotstopped-monitor-04.expstopped-monitor-04.scoresstopped-monitor-04.summarystopped-monitor-04.xmlstopped-monitor-05.dotstopped-monitor-05.expstopped-monitor-05.scoresstopped-monitor-05.summarystopped-monitor-05.xmlstopped-monitor-06.dotstopped-monitor-06.expstopped-monitor-06.scoresstopped-monitor-06.summarystopped-monitor-06.xmlstopped-monitor-07.dotstopped-monitor-07.expstopped-monitor-07.scoresstopped-monitor-07.summarystopped-monitor-07.xmlstopped-monitor-08.dotstopped-monitor-08.expstopped-monitor-08.scoresstopped-monitor-08.summarystopped-monitor-08.xmlstopped-monitor-09.dotstopped-monitor-09.expstopped-monitor-09.scoresstopped-monitor-09.summarystopped-monitor-09.xmlstopped-monitor-10.dotstopped-monitor-10.expstopped-monitor-10.scoresstopped-monitor-10.summarystopped-monitor-10.xmlstopped-monitor-11.dotstopped-monitor-11.expstopped-monitor-11.scoresstopped-monitor-11.summarystopped-monitor-11.xmlstopped-monitor-12.dotstopped-monitor-12.expstopped-monitor-12.scoresstopped-monitor-12.summarystopped-monitor-12.xmlstopped-monitor-20.dotstopped-monitor-20.expstopped-monitor-20.scoresstopped-monitor-20.summarystopped-monitor-20.xmlstopped-monitor-21.dotstopped-monitor-21.expstopped-monitor-21.scoresstopped-monitor-21.summarystopped-monitor-21.xmlstopped-monitor-22.dotstopped-monitor-22.expstopped-monitor-22.scoresstopped-monitor-22.summarystopped-monitor-22.xmlstopped-monitor-23.dotstopped-monitor-23.expstopped-monitor-23.scoresstopped-monitor-23.summarystopped-monitor-23.xmlstopped-monitor-24.dotstopped-monitor-24.expstopped-monitor-24.scoresstopped-monitor-24.summarystopped-monitor-24.xmlstopped-monitor-25.dotstopped-monitor-25.expstopped-monitor-25.scoresstopped-monitor-25.summarystopped-monitor-25.xmlstopped-monitor-26.dotstopped-monitor-26.expstopped-monitor-26.scoresstopped-monitor-26.summarystopped-monitor-26.xmlstopped-monitor-27.dotstopped-monitor-27.expstopped-monitor-27.scoresstopped-monitor-27.summarystopped-monitor-27.xmlstopped-monitor-30.dotstopped-monitor-30.expstopped-monitor-30.scoresstopped-monitor-30.summarystopped-monitor-30.xmlstopped-monitor-31.dotstopped-monitor-31.expstopped-monitor-31.scoresstopped-monitor-31.summarystopped-monitor-31.xmlsuicide-needed-inquorate.dotsuicide-needed-inquorate.expsuicide-needed-inquorate.scoressuicide-needed-inquorate.summarysuicide-needed-inquorate.xmlsuicide-not-needed-initial-quorum.dotsuicide-not-needed-initial-quorum.expsuicide-not-needed-initial-quorum.scoressuicide-not-needed-initial-quorum.summarysuicide-not-needed-initial-quorum.xmlsuicide-not-needed-never-quorate.dotsuicide-not-needed-never-quorate.expsuicide-not-needed-never-quorate.scoressuicide-not-needed-never-quorate.summarysuicide-not-needed-never-quorate.xmlsuicide-not-needed-quorate.dotsuicide-not-needed-quorate.expsuicide-not-needed-quorate.scoressuicide-not-needed-quorate.summarysuicide-not-needed-quorate.xmlsystemhealth1.dotsystemhealth1.expsystemhealth1.scoressystemhealth1.summarysystemhealth1.xmlsystemhealth2.dotsystemhealth2.expsystemhealth2.scoressystemhealth2.summarysystemhealth2.xmlsystemhealth3.dotsystemhealth3.expsystemhealth3.scoressystemhealth3.summarysystemhealth3.xmlsystemhealthm1.dotsystemhealthm1.expsystemhealthm1.scoressystemhealthm1.summarysystemhealthm1.xmlsystemhealthm2.dotsystemhealthm2.expsystemhealthm2.scoressystemhealthm2.summarysystemhealthm2.xmlsystemhealthm3.dotsystemhealthm3.expsystemhealthm3.scoressystemhealthm3.summarysystemhealthm3.xmlsystemhealthn1.dotsystemhealthn1.expsystemhealthn1.scoressystemhealthn1.summarysystemhealthn1.xmlsystemhealthn2.dotsystemhealthn2.expsystemhealthn2.scoressystemhealthn2.summarysystemhealthn2.xmlsystemhealthn3.dotsystemhealthn3.expsystemhealthn3.scoressystemhealthn3.summarysystemhealthn3.xmlsystemhealtho1.dotsystemhealtho1.expsystemhealtho1.scoressystemhealtho1.summarysystemhealtho1.xmlsystemhealtho2.dotsystemhealtho2.expsystemhealtho2.scoressystemhealtho2.summarysystemhealtho2.xmlsystemhealtho3.dotsystemhealtho3.expsystemhealtho3.scoressystemhealtho3.summarysystemhealtho3.xmlsystemhealthp1.dotsystemhealthp1.expsystemhealthp1.scoressystemhealthp1.summarysystemhealthp1.xmlsystemhealthp2.dotsystemhealthp2.expsystemhealthp2.scoressystemhealthp2.summarysystemhealthp2.xmlsystemhealthp3.dotsystemhealthp3.expsystemhealthp3.scoressystemhealthp3.summarysystemhealthp3.xmltags-coloc-order-1.dottags-coloc-order-1.exptags-coloc-order-1.scorestags-coloc-order-1.summarytags-coloc-order-1.xmltags-coloc-order-2.dottags-coloc-order-2.exptags-coloc-order-2.scorestags-coloc-order-2.summarytags-coloc-order-2.xmltags-location.dottags-location.exptags-location.scorestags-location.summarytags-location.xmltags-ticket.dottags-ticket.exptags-ticket.scorestags-ticket.summarytags-ticket.xmltarget-0.dottarget-0.exptarget-0.scorestarget-0.summarytarget-0.xmltarget-1.dottarget-1.exptarget-1.scorestarget-1.summarytarget-1.xmltarget-2.dottarget-2.exptarget-2.scorestarget-2.summarytarget-2.xmltemplate-1.dottemplate-1.exptemplate-1.scorestemplate-1.summarytemplate-1.xmltemplate-2.dottemplate-2.exptemplate-2.scorestemplate-2.summarytemplate-2.xmltemplate-3.dottemplate-3.exptemplate-3.scorestemplate-3.summarytemplate-3.xmltemplate-clone-group.dottemplate-clone-group.exptemplate-clone-group.scorestemplate-clone-group.summarytemplate-clone-group.xmltemplate-clone-primitive.dottemplate-clone-primitive.exptemplate-clone-primitive.scorestemplate-clone-primitive.summarytemplate-clone-primitive.xmltemplate-coloc-1.dottemplate-coloc-1.exptemplate-coloc-1.scorestemplate-coloc-1.summarytemplate-coloc-1.xmltemplate-coloc-2.dottemplate-coloc-2.exptemplate-coloc-2.scorestemplate-coloc-2.summarytemplate-coloc-2.xmltemplate-coloc-3.dottemplate-coloc-3.exptemplate-coloc-3.scorestemplate-coloc-3.summarytemplate-coloc-3.xmltemplate-order-1.dottemplate-order-1.exptemplate-order-1.scorestemplate-order-1.summarytemplate-order-1.xmltemplate-order-2.dottemplate-order-2.exptemplate-order-2.scorestemplate-order-2.summarytemplate-order-2.xmltemplate-order-3.dottemplate-order-3.exptemplate-order-3.scorestemplate-order-3.summarytemplate-order-3.xmltemplate-rsc-sets-1.dottemplate-rsc-sets-1.exptemplate-rsc-sets-1.scorestemplate-rsc-sets-1.summarytemplate-rsc-sets-1.xmltemplate-rsc-sets-2.dottemplate-rsc-sets-2.exptemplate-rsc-sets-2.scorestemplate-rsc-sets-2.summarytemplate-rsc-sets-2.xmltemplate-rsc-sets-3.dottemplate-rsc-sets-3.exptemplate-rsc-sets-3.scorestemplate-rsc-sets-3.summarytemplate-rsc-sets-3.xmltemplate-rsc-sets-4.dottemplate-rsc-sets-4.exptemplate-rsc-sets-4.scorestemplate-rsc-sets-4.summarytemplate-rsc-sets-4.xmltemplate-ticket.dottemplate-ticket.exptemplate-ticket.scorestemplate-ticket.summarytemplate-ticket.xmlticket-clone-1.dotticket-clone-1.expticket-clone-1.scoresticket-clone-1.summaryticket-clone-1.xmlticket-clone-10.dotticket-clone-10.expticket-clone-10.scoresticket-clone-10.summaryticket-clone-10.xmlticket-clone-11.dotticket-clone-11.expticket-clone-11.scoresticket-clone-11.summaryticket-clone-11.xmlticket-clone-12.dotticket-clone-12.expticket-clone-12.scoresticket-clone-12.summaryticket-clone-12.xmlticket-clone-13.dotticket-clone-13.expticket-clone-13.scoresticket-clone-13.summaryticket-clone-13.xmlticket-clone-14.dotticket-clone-14.expticket-clone-14.scoresticket-clone-14.summaryticket-clone-14.xmlticket-clone-15.dotticket-clone-15.expticket-clone-15.scoresticket-clone-15.summaryticket-clone-15.xmlticket-clone-16.dotticket-clone-16.expticket-clone-16.scoresticket-clone-16.summaryticket-clone-16.xmlticket-clone-17.dotticket-clone-17.expticket-clone-17.scoresticket-clone-17.summaryticket-clone-17.xmlticket-clone-18.dotticket-clone-18.expticket-clone-18.scoresticket-clone-18.summaryticket-clone-18.xmlticket-clone-19.dotticket-clone-19.expticket-clone-19.scoresticket-clone-19.summaryticket-clone-19.xmlticket-clone-2.dotticket-clone-2.expticket-clone-2.scoresticket-clone-2.summaryticket-clone-2.xmlticket-clone-20.dotticket-clone-20.expticket-clone-20.scoresticket-clone-20.summaryticket-clone-20.xmlticket-clone-21.dotticket-clone-21.expticket-clone-21.scoresticket-clone-21.summaryticket-clone-21.xmlticket-clone-22.dotticket-clone-22.expticket-clone-22.scoresticket-clone-22.summaryticket-clone-22.xmlticket-clone-23.dotticket-clone-23.expticket-clone-23.scoresticket-clone-23.summaryticket-clone-23.xmlticket-clone-24.dotticket-clone-24.expticket-clone-24.scoresticket-clone-24.summaryticket-clone-24.xmlticket-clone-3.dotticket-clone-3.expticket-clone-3.scoresticket-clone-3.summaryticket-clone-3.xmlticket-clone-4.dotticket-clone-4.expticket-clone-4.scoresticket-clone-4.summaryticket-clone-4.xmlticket-clone-5.dotticket-clone-5.expticket-clone-5.scoresticket-clone-5.summaryticket-clone-5.xmlticket-clone-6.dotticket-clone-6.expticket-clone-6.scoresticket-clone-6.summaryticket-clone-6.xmlticket-clone-7.dotticket-clone-7.expticket-clone-7.scoresticket-clone-7.summaryticket-clone-7.xmlticket-clone-8.dotticket-clone-8.expticket-clone-8.scoresticket-clone-8.summaryticket-clone-8.xmlticket-clone-9.dotticket-clone-9.expticket-clone-9.scoresticket-clone-9.summaryticket-clone-9.xmlticket-group-1.dotticket-group-1.expticket-group-1.scoresticket-group-1.summaryticket-group-1.xmlticket-group-10.dotticket-group-10.expticket-group-10.scoresticket-group-10.summaryticket-group-10.xmlticket-group-11.dotticket-group-11.expticket-group-11.scoresticket-group-11.summaryticket-group-11.xmlticket-group-12.dotticket-group-12.expticket-group-12.scoresticket-group-12.summaryticket-group-12.xmlticket-group-13.dotticket-group-13.expticket-group-13.scoresticket-group-13.summaryticket-group-13.xmlticket-group-14.dotticket-group-14.expticket-group-14.scoresticket-group-14.summaryticket-group-14.xmlticket-group-15.dotticket-group-15.expticket-group-15.scoresticket-group-15.summaryticket-group-15.xmlticket-group-16.dotticket-group-16.expticket-group-16.scoresticket-group-16.summaryticket-group-16.xmlticket-group-17.dotticket-group-17.expticket-group-17.scoresticket-group-17.summaryticket-group-17.xmlticket-group-18.dotticket-group-18.expticket-group-18.scoresticket-group-18.summaryticket-group-18.xmlticket-group-19.dotticket-group-19.expticket-group-19.scoresticket-group-19.summaryticket-group-19.xmlticket-group-2.dotticket-group-2.expticket-group-2.scoresticket-group-2.summaryticket-group-2.xmlticket-group-20.dotticket-group-20.expticket-group-20.scoresticket-group-20.summaryticket-group-20.xmlticket-group-21.dotticket-group-21.expticket-group-21.scoresticket-group-21.summaryticket-group-21.xmlticket-group-22.dotticket-group-22.expticket-group-22.scoresticket-group-22.summaryticket-group-22.xmlticket-group-23.dotticket-group-23.expticket-group-23.scoresticket-group-23.summaryticket-group-23.xmlticket-group-24.dotticket-group-24.expticket-group-24.scoresticket-group-24.summaryticket-group-24.xmlticket-group-3.dotticket-group-3.expticket-group-3.scoresticket-group-3.summaryticket-group-3.xmlticket-group-4.dotticket-group-4.expticket-group-4.scoresticket-group-4.summaryticket-group-4.xmlticket-group-5.dotticket-group-5.expticket-group-5.scoresticket-group-5.summaryticket-group-5.xmlticket-group-6.dotticket-group-6.expticket-group-6.scoresticket-group-6.summaryticket-group-6.xmlticket-group-7.dotticket-group-7.expticket-group-7.scoresticket-group-7.summaryticket-group-7.xmlticket-group-8.dotticket-group-8.expticket-group-8.scoresticket-group-8.summaryticket-group-8.xmlticket-group-9.dotticket-group-9.expticket-group-9.scoresticket-group-9.summaryticket-group-9.xmlticket-master-1.dotticket-master-1.expticket-master-1.scoresticket-master-1.summaryticket-master-1.xmlticket-master-10.dotticket-master-10.expticket-master-10.scoresticket-master-10.summaryticket-master-10.xmlticket-master-11.dotticket-master-11.expticket-master-11.scoresticket-master-11.summaryticket-master-11.xmlticket-master-12.dotticket-master-12.expticket-master-12.scoresticket-master-12.summaryticket-master-12.xmlticket-master-13.dotticket-master-13.expticket-master-13.scoresticket-master-13.summaryticket-master-13.xmlticket-master-14.dotticket-master-14.expticket-master-14.scoresticket-master-14.summaryticket-master-14.xmlticket-master-15.dotticket-master-15.expticket-master-15.scoresticket-master-15.summaryticket-master-15.xmlticket-master-16.dotticket-master-16.expticket-master-16.scoresticket-master-16.summaryticket-master-16.xmlticket-master-17.dotticket-master-17.expticket-master-17.scoresticket-master-17.summaryticket-master-17.xmlticket-master-18.dotticket-master-18.expticket-master-18.scoresticket-master-18.summaryticket-master-18.xmlticket-master-19.dotticket-master-19.expticket-master-19.scoresticket-master-19.summaryticket-master-19.xmlticket-master-2.dotticket-master-2.expticket-master-2.scoresticket-master-2.summaryticket-master-2.xmlticket-master-20.dotticket-master-20.expticket-master-20.scoresticket-master-20.summaryticket-master-20.xmlticket-master-21.dotticket-master-21.expticket-master-21.scoresticket-master-21.summaryticket-master-21.xmlticket-master-22.dotticket-master-22.expticket-master-22.scoresticket-master-22.summaryticket-master-22.xmlticket-master-23.dotticket-master-23.expticket-master-23.scoresticket-master-23.summaryticket-master-23.xmlticket-master-24.dotticket-master-24.expticket-master-24.scoresticket-master-24.summaryticket-master-24.xmlticket-master-3.dotticket-master-3.expticket-master-3.scoresticket-master-3.summaryticket-master-3.xmlticket-master-4.dotticket-master-4.expticket-master-4.scoresticket-master-4.summaryticket-master-4.xmlticket-master-5.dotticket-master-5.expticket-master-5.scoresticket-master-5.summaryticket-master-5.xmlticket-master-6.dotticket-master-6.expticket-master-6.scoresticket-master-6.summaryticket-master-6.xmlticket-master-7.dotticket-master-7.expticket-master-7.scoresticket-master-7.summaryticket-master-7.xmlticket-master-8.dotticket-master-8.expticket-master-8.scoresticket-master-8.summaryticket-master-8.xmlticket-master-9.dotticket-master-9.expticket-master-9.scoresticket-master-9.summaryticket-master-9.xmlticket-primitive-1.dotticket-primitive-1.expticket-primitive-1.scoresticket-primitive-1.summaryticket-primitive-1.xmlticket-primitive-10.dotticket-primitive-10.expticket-primitive-10.scoresticket-primitive-10.summaryticket-primitive-10.xmlticket-primitive-11.dotticket-primitive-11.expticket-primitive-11.scoresticket-primitive-11.summaryticket-primitive-11.xmlticket-primitive-12.dotticket-primitive-12.expticket-primitive-12.scoresticket-primitive-12.summaryticket-primitive-12.xmlticket-primitive-13.dotticket-primitive-13.expticket-primitive-13.scoresticket-primitive-13.summaryticket-primitive-13.xmlticket-primitive-14.dotticket-primitive-14.expticket-primitive-14.scoresticket-primitive-14.summaryticket-primitive-14.xmlticket-primitive-15.dotticket-primitive-15.expticket-primitive-15.scoresticket-primitive-15.summaryticket-primitive-15.xmlticket-primitive-16.dotticket-primitive-16.expticket-primitive-16.scoresticket-primitive-16.summaryticket-primitive-16.xmlticket-primitive-17.dotticket-primitive-17.expticket-primitive-17.scoresticket-primitive-17.summaryticket-primitive-17.xmlticket-primitive-18.dotticket-primitive-18.expticket-primitive-18.scoresticket-primitive-18.summaryticket-primitive-18.xmlticket-primitive-19.dotticket-primitive-19.expticket-primitive-19.scoresticket-primitive-19.summaryticket-primitive-19.xmlticket-primitive-2.dotticket-primitive-2.expticket-primitive-2.scoresticket-primitive-2.summaryticket-primitive-2.xmlticket-primitive-20.dotticket-primitive-20.expticket-primitive-20.scoresticket-primitive-20.summaryticket-primitive-20.xmlticket-primitive-21.dotticket-primitive-21.expticket-primitive-21.scoresticket-primitive-21.summaryticket-primitive-21.xmlticket-primitive-22.dotticket-primitive-22.expticket-primitive-22.scoresticket-primitive-22.summaryticket-primitive-22.xmlticket-primitive-23.dotticket-primitive-23.expticket-primitive-23.scoresticket-primitive-23.summaryticket-primitive-23.xmlticket-primitive-24.dotticket-primitive-24.expticket-primitive-24.scoresticket-primitive-24.summaryticket-primitive-24.xmlticket-primitive-3.dotticket-primitive-3.expticket-primitive-3.scoresticket-primitive-3.summaryticket-primitive-3.xmlticket-primitive-4.dotticket-primitive-4.expticket-primitive-4.scoresticket-primitive-4.summaryticket-primitive-4.xmlticket-primitive-5.dotticket-primitive-5.expticket-primitive-5.scoresticket-primitive-5.summaryticket-primitive-5.xmlticket-primitive-6.dotticket-primitive-6.expticket-primitive-6.scoresticket-primitive-6.summaryticket-primitive-6.xmlticket-primitive-7.dotticket-primitive-7.expticket-primitive-7.scoresticket-primitive-7.summaryticket-primitive-7.xmlticket-primitive-8.dotticket-primitive-8.expticket-primitive-8.scoresticket-primitive-8.summaryticket-primitive-8.xmlticket-primitive-9.dotticket-primitive-9.expticket-primitive-9.scoresticket-primitive-9.summaryticket-primitive-9.xmlticket-rsc-sets-1.dotticket-rsc-sets-1.expticket-rsc-sets-1.scoresticket-rsc-sets-1.summaryticket-rsc-sets-1.xmlticket-rsc-sets-10.dotticket-rsc-sets-10.expticket-rsc-sets-10.scoresticket-rsc-sets-10.summaryticket-rsc-sets-10.xmlticket-rsc-sets-11.dotticket-rsc-sets-11.expticket-rsc-sets-11.scoresticket-rsc-sets-11.summaryticket-rsc-sets-11.xmlticket-rsc-sets-12.dotticket-rsc-sets-12.expticket-rsc-sets-12.scoresticket-rsc-sets-12.summaryticket-rsc-sets-12.xmlticket-rsc-sets-13.dotticket-rsc-sets-13.expticket-rsc-sets-13.scoresticket-rsc-sets-13.summaryticket-rsc-sets-13.xmlticket-rsc-sets-14.dotticket-rsc-sets-14.expticket-rsc-sets-14.scoresticket-rsc-sets-14.summaryticket-rsc-sets-14.xmlticket-rsc-sets-2.dotticket-rsc-sets-2.expticket-rsc-sets-2.scoresticket-rsc-sets-2.summaryticket-rsc-sets-2.xmlticket-rsc-sets-3.dotticket-rsc-sets-3.expticket-rsc-sets-3.scoresticket-rsc-sets-3.summaryticket-rsc-sets-3.xmlticket-rsc-sets-4.dotticket-rsc-sets-4.expticket-rsc-sets-4.scoresticket-rsc-sets-4.summaryticket-rsc-sets-4.xmlticket-rsc-sets-5.dotticket-rsc-sets-5.expticket-rsc-sets-5.scoresticket-rsc-sets-5.summaryticket-rsc-sets-5.xmlticket-rsc-sets-6.dotticket-rsc-sets-6.expticket-rsc-sets-6.scoresticket-rsc-sets-6.summaryticket-rsc-sets-6.xmlticket-rsc-sets-7.dotticket-rsc-sets-7.expticket-rsc-sets-7.scoresticket-rsc-sets-7.summaryticket-rsc-sets-7.xmlticket-rsc-sets-8.dotticket-rsc-sets-8.expticket-rsc-sets-8.scoresticket-rsc-sets-8.summaryticket-rsc-sets-8.xmlticket-rsc-sets-9.dotticket-rsc-sets-9.expticket-rsc-sets-9.scoresticket-rsc-sets-9.summaryticket-rsc-sets-9.xmlunfence-definition.dotunfence-definition.expunfence-definition.scoresunfence-definition.summaryunfence-definition.xmlunfence-device.dotunfence-device.expunfence-device.scoresunfence-device.summaryunfence-device.xmlunfence-parameters.dotunfence-parameters.expunfence-parameters.scoresunfence-parameters.summaryunfence-parameters.xmlunfence-startup.dotunfence-startup.expunfence-startup.scoresunfence-startup.summaryunfence-startup.xmlunmanaged-block-restart.dotunmanaged-block-restart.expunmanaged-block-restart.scoresunmanaged-block-restart.summaryunmanaged-block-restart.xmlunmanaged-master.dotunmanaged-master.expunmanaged-master.scoresunmanaged-master.summaryunmanaged-master.xmlunmanaged-stop-1.dotunmanaged-stop-1.expunmanaged-stop-1.scoresunmanaged-stop-1.summaryunmanaged-stop-1.xmlunmanaged-stop-2.dotunmanaged-stop-2.expunmanaged-stop-2.scoresunmanaged-stop-2.summaryunmanaged-stop-2.xmlunmanaged-stop-3.dotunmanaged-stop-3.expunmanaged-stop-3.scoresunmanaged-stop-3.summaryunmanaged-stop-3.xmlunmanaged-stop-4.dotunmanaged-stop-4.expunmanaged-stop-4.scoresunmanaged-stop-4.summaryunmanaged-stop-4.xmlunrunnable-1.dotunrunnable-1.expunrunnable-1.scoresunrunnable-1.summaryunrunnable-1.xmlunrunnable-2.dotunrunnable-2.expunrunnable-2.scoresunrunnable-2.summaryunrunnable-2.xmluse-after-free-merge.dotuse-after-free-merge.expuse-after-free-merge.scoresuse-after-free-merge.summaryuse-after-free-merge.xmlutilization-check-allowed-nodes.dotutilization-check-allowed-nodes.exputilization-check-allowed-nodes.scoresutilization-check-allowed-nodes.summaryutilization-check-allowed-nodes.xmlutilization-order1.dotutilization-order1.exputilization-order1.scoresutilization-order1.summaryutilization-order1.xmlutilization-order2.dotutilization-order2.exputilization-order2.scoresutilization-order2.summaryutilization-order2.xmlutilization-order3.dotutilization-order3.exputilization-order3.scoresutilization-order3.summaryutilization-order3.xmlutilization-order4.dotutilization-order4.exputilization-order4.scoresutilization-order4.summaryutilization-order4.xmlutilization-shuffle.dotutilization-shuffle.exputilization-shuffle.scoresutilization-shuffle.summaryutilization-shuffle.xmlutilization.dotutilization.exputilization.scoresutilization.summaryutilization.xmlversioned-operations-1.dotversioned-operations-1.expversioned-operations-1.scoresversioned-operations-1.summaryversioned-operations-1.xmlversioned-operations-2.dotversioned-operations-2.expversioned-operations-2.scoresversioned-operations-2.summaryversioned-operations-2.xmlversioned-operations-3.dotversioned-operations-3.expversioned-operations-3.scoresversioned-operations-3.summaryversioned-operations-3.xmlversioned-operations-4.dotversioned-operations-4.expversioned-operations-4.scoresversioned-operations-4.summaryversioned-operations-4.xmlversioned-resources.dotversioned-resources.expversioned-resources.scoresversioned-resources.summaryversioned-resources.xmlwhitebox-asymmetric.dotwhitebox-asymmetric.expwhitebox-asymmetric.scoreswhitebox-asymmetric.summarywhitebox-asymmetric.xmlwhitebox-fail1.dotwhitebox-fail1.expwhitebox-fail1.scoreswhitebox-fail1.summarywhitebox-fail1.xmlwhitebox-fail2.dotwhitebox-fail2.expwhitebox-fail2.scoreswhitebox-fail2.summarywhitebox-fail2.xmlwhitebox-fail3.dotwhitebox-fail3.expwhitebox-fail3.scoreswhitebox-fail3.summarywhitebox-fail3.xmlwhitebox-imply-stop-on-fence.dotwhitebox-imply-stop-on-fence.expwhitebox-imply-stop-on-fence.scoreswhitebox-imply-stop-on-fence.summarywhitebox-imply-stop-on-fence.xmlwhitebox-migrate1.dotwhitebox-migrate1.expwhitebox-migrate1.scoreswhitebox-migrate1.summarywhitebox-migrate1.xmlwhitebox-move.dotwhitebox-move.expwhitebox-move.scoreswhitebox-move.summarywhitebox-move.xmlwhitebox-ms-ordering-move.dotwhitebox-ms-ordering-move.expwhitebox-ms-ordering-move.scoreswhitebox-ms-ordering-move.summarywhitebox-ms-ordering-move.xmlwhitebox-ms-ordering.dotwhitebox-ms-ordering.expwhitebox-ms-ordering.scoreswhitebox-ms-ordering.summarywhitebox-ms-ordering.xmlwhitebox-nested-group.dotwhitebox-nested-group.expwhitebox-nested-group.scoreswhitebox-nested-group.summarywhitebox-nested-group.xmlwhitebox-orphan-ms.dotwhitebox-orphan-ms.expwhitebox-orphan-ms.scoreswhitebox-orphan-ms.summarywhitebox-orphan-ms.xmlwhitebox-orphaned.dotwhitebox-orphaned.expwhitebox-orphaned.scoreswhitebox-orphaned.summarywhitebox-orphaned.xmlwhitebox-start.dotwhitebox-start.expwhitebox-start.scoreswhitebox-start.summarywhitebox-start.xmlwhitebox-stop.dotwhitebox-stop.expwhitebox-stop.scoreswhitebox-stop.summarywhitebox-stop.xmlwhitebox-unexpectedly-running.dotwhitebox-unexpectedly-running.expwhitebox-unexpectedly-running.scoreswhitebox-unexpectedly-running.summarywhitebox-unexpectedly-running.xmlvalgrind-pcmk.suppressions/usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/cts//usr/lib/python3.6/site-packages/cts/__pycache__//usr/lib/systemd/system//usr/share/doc/packages//usr/share/doc/packages/pacemaker-cts//usr/share/pacemaker//usr/share/pacemaker/tests//usr/share/pacemaker/tests/cli//usr/share/pacemaker/tests/cts//usr/share/pacemaker/tests/cts/benchmark//usr/share/pacemaker/tests/pengine/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:11614/openSUSE_Leap_15.0_Update/efb20285b35734f3bb10541660745edb-pacemaker.openSUSE_Leap_15.0_Updatedrpmxz5x86_64-suse-linux      directoryPython script, ASCII text executablepython 3.6 byte-compiledASCII textUTF-8 Unicode textASCII text, with very long linesBourne-Again shell script, ASCII text executablePOSIX shell script, ASCII text executableexported SGML document, ASCII text, with very long lines  !"#$%&'()*+,-./012345678RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRϧ/).f7Z`python3-systemdutf-8ac100ab2e6e771b55e8220404bf3e5a6855226c0f3c7df955e7a58d5fec4ecff?p7zXZ !t/ă]"k%hMY{S <'Z  WҪN$RMҗ{6Ʀk Li7s֊-Q,jAuX٫%3#YuUFɵCi؂c5`";0$t3 >~hӠILʿϛqsNELf_ۇBek1 Gf]VR [B]V1QkqrfL[2C8`Yb\k,xS) w±$X>a3OV0,/%3ұ]P~0,k֔6}m7PK aZk7J ҈ LM2"i@\=jÏոΜp㩙4UT ʓMW@R[66naո9[Q;cN1XP,]8 * lC~cU [#]šH9lYm#MaS3 VFW&ljppre &R%k>}IUUxjZFVk씿rz"c2\/ӱo6(&U{E~7Vm0֔vt Tc`#\G7:,]۵3)!A>]] 8b^6\o^Pf-b)v*Bʌן27z9Ϗ:$8,αN~7KHoڧT{QI潫`lfd`Dp ⿫bϡ6tD}`"{$wͺ,(-\z9G\I{Ui M=SuH# 2I ɮNW$z\^/ߣg[)u7uhSJaS~__4b@2 h:H(+CJzm gNPڒN$oswEzT[kݷ&.WF2Ke Wzm͊^uɒuC L: $g9[Q!sBf˵jڭ@"^b&rəN`k(w|J_4t`"Feb^v ^xlF0_7nɯR%MKC liuQ ü,yg{(A״G?F'U$x J|%枹,&ܔG,`lC;=wsГ:ʣ9$#ɒ;d|K~T1bμJUuM '|xYu0 ,{\$5~R 4n$ bPCR2 M{*|ȯo#v Cb;\gC~U-Q/*ٴn7/aYUUo{{0pJU%UǢw ` l vHւ|Qj̩/1,[B4Ajr>~XdgJ(6TᙚPm%C!Ivo]ǭ٪ A y(TOZ;7 ӛP2φǵf#[* [vZ:/dhUA 97ӷacOr t-xa*IGL,SH|g;6׏V.Ŏ[Qi|Uz 7i"[ D I>8 '9S_c~ eτ\ZJgAm49҃7Cf2aA10(tNB$txBCGzбu+\hx<[0B gAƴ26v~d!N%$3l8 9'd4@* NLF[ߠ/:M=h'f.P'Yݤ&Ü-Z_3KIڼYlN6K?6:; gZQ!XѧO;.՗.< VdY ޸0$t^c}.&H9.Sj,'9hhL6p˗+~)]M-pN]o}17 ;lAa\ox -~c[c3G8Z-LRA֫f M] }3DvLO-?Jŏa6UY^$e$b@4Xp*0RzI`t vY,?jۉx[o|g'$B8`/J!v95? L4HC,gG|V&S n HjH$4ELL7Z8]grgǮ.;uϓG ʪF2MO>43__4ܟ ^>`LSh_n$HD=}a@WJJuQK<"Z9da!dc x|jY TAF$/%0<-.1 6֚MkVc٤=W_\[^mG&OorY.5,h)NNxcwm_ p+-prՑS!+#C3TChzE۪"YL2lsWG6@aAAogm) g*0vն $xo%yqẦP#"*u(#JC(N~hrfA6V'AFC<'V,`@:_zTڏc`J1!eqܧO֓[ʅ*.:^Efysse/".g$,,FM7.;KXjwtǝ7Pod:f8}/g96٪ 跢6O3M&g߫-wU!Y88hRzTF*2p%tCt7KaYYڰEKY_熑d!{5wtF`h> ]q-6R N)lyZJ;1#{}=׃T7L4A7C X'>&JeN=THǐHa ‚ְ"c[VzX@x2ځS7YvayY [NVù}73y%]PT3ۛAC72 07pJ|g= c?&q֖u”85bÎ 1SgO'^MC1HssO4 ᖘS[_>hkW/@FoI . sB\=nj`v=uD +VNO7u[[Mϫ`cV^ qmCk3m"Yv@(ԝ>Z0e?p?Br^ w鳃MZ JuT ]= #CTڇLm ,8-E^tJH&(w kMAv,lQ.C2[{1%[̂͊,Mcy%ٿΕDma8Ia%4y)ਘ pl&l#NB>ThexJ/B8wYa"fɟHĀYwk~M3r$Bm;c/i#iCDH7!S 7VK~ "=tnT”V®}{]veR77ZQ *,vk`PW4BG=ݬ.YN|+ Srٜv\YzWȿ۳$nyKN}UIM2==(|fWa51؅9ϚΓ+2 3ZRT3Y KE> ]:ᓆ`/I7aMV0KnGȅs (ݪQ§E^@j\fw#UZS;xdv0;0ѻFV 7ŭ玥]`*ekfgϪsKՠ"3^;@EzϖaL}/W7C cJ<t*:-h&BV42Љ":LOQOi?e9Q &nF^[3!{7eﴻK6,S7wqKFX * }i?ω"ϲ1I6 hTya zDY]_XwJfYbZkĶt #8`2ɴF.i_ FʍfӯFS2y+Ҋwѭa+U%r7vŽfϪ'X+(eqO!\jo~q8Sy\Kǝd8`!*f`U :#sܭ'۴ofK.y%' e&&Q~ YVa8Ѝ] ;>{ ӆH O6E{'p?.%Iwz!T 3.)8(Df€d(uN#+e5K[1*Ҿ,i}3H5ffR>ZZnG}M,o[zgoܯK4[3y O[%:!뱍pHϷN[/<21SCZ';PU;!6Him33ſ[b;&ϋ՝l/j= p c$`榠aW[zQ3.br5HP],V,5-1tC%Gª ,nU#U ɽr"I+R!]peȊ e /( `=ɸ]ʯgQeno4Zs`D,򯸣Xҳb+8\1zkJĞ]4-{|0\&i-]:οU/@h:d[鈤aq%mlhŧ91g]:(4N*b]["+J[:Q m%z9/gt φbR:P~k)χf GPISBwOUz9j=7…ӟEGƋ.N:@/hwvۄf$Οձ2a q,GVg]8#l{>=o][3ͽZnPP;q Cr׬%}pFYۗ(A˙8cPBDjI\yS?ݸ݆+#@C#Q#5~f{1DȽǃW weV;ʟUY^@Ef_&1*IP+ӕ; ?j_&1T@ dbEfF3+rt]h\1נhLRtǩ5V2G:N5+9efVv <&Sn 4JI^k|#E  ?I,[wdf]ŤZy'w+cs"D*s;CfswCF%󃍥̓(Bɕ5fz , ]9;( SBhJu쎥,L?OW/6]/Bn /Qu\uiWPWnVI-d+,QJ+Z[kڴGETMyM#@VvőIŎ]|V dBLS-,5@^ʨ[&L4.ZuZχ7l.7.&kJm`RNcIZsO:"ؽ'cP=*oG<.l%#Fؒ#L?kȨZ;'jê&XB)+cT^u l`UgP͛o=<>hߞo(i}~nUyg.ܽD冘:9!2Xsf lEs""YԈwOY8y{JV0Fx ϳg˟'  7O~פXss=kaO]˯ٍv(7խI)g'd6`,DC(Ty ~|:uߡfWS3ͯs߹df%;$7*eTc-9LbO1! nK00{X#'.D[_NJ[ʋ"&EB`ёz~B1"eFzb],L#|3SwY`6R).; +UX,ƥ1olofnKSs'7sqF6Wgi< ֽ cQ LYb.~Cf&Z]_ssIdPz4: )&tR>p,5f0Պ !ՄN Lj%Ww$f!2rfHEaY h^}5P{8%TL灩K;JeūJdL<'k߲d9 1DuC~ZG1vSjfBx蛃;~HeiKS]$7v# nF6/>6J.\I ρ}?ˏg֥5}j7qK(MY_*(Zn-DpamoP¸2 O4-K;JU12%>Dȭv$b 'zOw2Px|̾Sl8$Lt,ֱⳑ깶DK%t3!SYӽb08bH?P_YT!_Z|Pk)մgv/{~Eq2WOD"Sp;щ4չHE5ia$5SdaA*0Zr{ F0#[+YntMz"@Oρk>dɀ8ϵi<˔U k3.v я孡Lozo 8t/dƁɫf=!Uj+0-͒PV[+S/Hu0l@Z<c(@Su#zX^ Ř)eV('zIu5y%1I`N0/?!jEpqW^1n-dr.>?Ǖ2p^3/5xӾh&G|I"qe̋ R֜'Ȏ\ou!uo;mGvR&{忼% '׉T?̽"Ae?|8ꢱq]lpcG4Kgq4 TsuP6ђѡ)Xlj$=g?Kiz5ku}P}jjI0QUN9dw 4%sX&m; g#e+p_7F5EZk e%<*L^6@'S7AI euJ]JHzLָLB6G=@:QtiY7mDʵ&1=d6 @r(L 8qϨ>)t7*4winnnRY~:EƎڦWLKND--;3]M}>Z3 bH1SXiWmcH31#7zż`W hBȵy#Y6#M.^^Ma %YfKbnJ7N?5mB1&ŭƦg}E&$Uw@jozڨ[fedr(0VA$^n %i{Y:I["1x n}\7;5 !ٲL+chuVO18\pQb>3mAmj LoK+"Qm>֬m4T}HItE521A״VAٶO>5rI _kc_8yTo(P1Q&s4rY)deaH ULAj59]'CUdHlCk $&ڊ\lbX0I~Ϧf_ByV*ݜ VicLZHivY^R5xp]S"f㪗$8ڜ 4N *[Bi0wc.?4GguEWĄuj6w?\@^Fnw/7s=E=Z.{|ppn {ISIaye7ڏ'%We|,Kr퐍K(d:Y r`6P-9 Ee-.0 vy:'ot a':b%RAh Oˣ"iQŅ+)o[aT@c7p*lꊛQ䢡  =5l$42Üv<$.a/2J\m:9L:Ej+ :}:Rdő8D|>XQ>NUN# |^fY\vY 4[pD6jok rLTbr1Uc҉߭ezsI!,=C&X0jᄀKn]hh bDʴ>j++Ց_tɇK]}NYh'c*rZ>P%+Oǧē oRY#㜧 Cʫjy)T3<U,cːq-!?MU4_ 2| keQ>n*Zy|PpQ51.5\|~ IaEMuC!MƵD6\Xswj e٧d/x̍cVʋgŰ\D5 [ !-ke|Q[-@dϛ`%+Z"CWQ_h|+,#9T MW/)N|ecVε4wF(x<0ҕXC6ՠoTx-hfN?=IպLۥXȘפB:ɧm(^v$Ő::52 |HVwU?E$A _nFט&┒*t~].#D -] TNNPnIZ"XG2ڲSRIq`lp$f&.`_f_7DMvCFP5(U3MPy+#0Z NNVK|MOoǀ?d0$QiՁBrEu|%00@J`_S ׂ˲jX*LLO6DaGW KGt_O=+Hg^!igFo)v:Fv Wz] D1%Pٗ>{'x \؎hʁ:gvB`F-gqh8[DUUI F|Yi%>B2?*(CߐwX&9@%$u'DQ.Zh0'?r̢n(~FOn H X*/ 4)9 ^ MkH0"IjSoi+1dTֆ@l. Gγr JQ_`ZI(b:Ienpx9_o)נ޴Fì 0A);nLOesܿ{Jbb?9N Fc@4?.z5;jrY?U,Fì>hCR(1~Pcme/!x/20]_G_TD=xXb*h/n{ujP.`*vɍ1%B^۳}5 K Pm=—oS bFQջd/\eQF(rs񶪗0MJeǐ I@wek1W^|[vlƕJH+!Tҿ,(W;MvlP]l6poc.7ֳ1KI3YI5:LJRV Gwv`G K4N3{x0"V˷XGڞRbvLFc ߴߔ~*{Eˡ~iQD4H>I_dcĽ{yN(7wbq5-Q9VdQ!;#e˔O3h1r9W x ieO}lW1]ɧv38wRpIjL;kHMPf)JbYhozlKi2b3r\| }:ٌAXn,Z,JHҤt|wTw}n k\ཟ§A쪆ynRoɺb Gz=/sSmpmyKs 1a |o1 &B9uFػ0$JK곽GB` -7kA;SH+(vltfAg%{+ Edb !zY2)a#_c. 4AlSu݇B\ *FKnVXC]"js72YcK_W&ZjGN-=~"433Bz* EMg:1iЩR=7>B3p(,}Izl^ (RF90h{z"ȟFD>t9Y pσ0<`}Ƞ%M<];86)m#>5Pr-^ ٗ,'ks#W8'no;K+ ba- `ˉpP`ǂ}~u q5HqD&Y4[28] ܞ6N!kG֏=m1H>\\/T ]VL+9}rw|1X,Cx!U&Va 6=𸨬 XpX?ʧZ'6Q>o"ƾRZWM6BF?%3[O GMqA \GF5[1/ ؁hY9re򅒏M/y#`D{"%煏Da.zP85j=o˽~[4j[N`-MdA:QCx53\ Z39BY)dl'b^!%m3fe2t#kDZVEW/fݖLJ r NÄ ө4*! @M4ȸF7Rb֊rA~geyey wok?apq#DC@|d1ѕ{TC/mB֖2oXH/I܆/]^ Gj$ƌd(#XUPOBRM\~ke&( vЦNX2xPwݑ?BZJ9V{Mq\պz_6Y!m\[WmR/έ; c4 TyEN uOSmv6ЛԒ2M>]} JNm']Ε۷_kOJ*<.}G%GZrW=4 Yb022BMHSBPC驢h5VD̐œ$4ЧX Xi;]ʭ4)j@^::`A;Il1Mr7hnHy8CMM+M!˅e\(Qffk{ފ"Ӝ]f_UcQRm "jrV[-1=Pt~mW8o)]60ewmڄ.} \MW`TNKWs\yrV#Yh?gi{r =!f'Ml[=Õ{t%ԟߑ)E&1{jr OԈ. <&(lɈHN 2jhu^g)E2JiQ)ue'{ūEhQ XQiVD*1Γ\jRU!VLϦ. t;CB0!N#-~"l$HW1iKe ˸:7edz xYPA#gA4?Ϝ9gAۂ0鞿[8;TP=)JHӟҙE r˘~(йŀAyMҎKrG+`r&WV @ F^:+*Q֞I49fPYD8w%R>T'c2%no=ϻtnZ̒58FL=~<-augLE s ,CzX rj FlJߩrEsg8UlG{\D- yavto7e8 N[_sIpq=P{ѕ!j`$ϒ,!t5`pSPZ EJnn*YfX"]gU=8yql:/4`JT5 zYH^ۀ)-$)p9WT/\(mW\u5@ƌd(kyB7ub4RaKR1}TۍP(^(.(Kk kn[c L&oqhLq-|mo; IvѶv9ǰ8Bib;7zXB lu\FMT]{/D֌(A2M# ^[N7@6w0ϟel'EH1eoȒmE?¬i!¦s!ٶH`7ڧ辢TG$#9G:+cD$t ̲+e[t)-찗(Jw"w+@ԟkX++! ³R7 }߈ 7|W(Ĩ8^t1ﳭQŷXJ12KQ:(~S40%|=֊P:g3Hs`[={/yGܫarCMy%ۭ.? 2Y#ں dtSaP`o5qRbR|(JG'6NKSr}#KIey8`~'"<ƤG]%ny1?SHŒ=;H|P\_p~ƅ*GS fԅVN+.†\A& {K@+,nU$ʜZo 8o@B6OgJTOC_&UAM,!qTZ*–ƄVoҕt/ Y4K4 02IMԯpfIb}t22sxrӺw2lucݾm}<&JO}@nngA1%h,Eq!AO$kv\9qՎxfP ,ljgD@D5n_D/U<W>_7uq{ $eJk#$> "u3lG^jEIgsYB%[ 9y^qs9 Eё̴h?mۀ:cBU5>,/>Ԭ:ɁD&GϜ*9>HxXz)*G@uuFrB!6h(!Wk !LȈpO{w‚D!+u}.iXi/p$n1OU|v5RB-¤]Tۯ8ɂcix*zoGZ+> mX,cLgB+QmsH\% D$-k=;]O94p1 ^DH^v=6a pTk3q.8kc{?X6f]d'rBmN]kg惏ٝBX9֐]:F; e >$.8SPLp߯y܈xR8f9vAMpE/;0_gp HDxIOv81bD2Qۄ)^gƽEÆ\}J ·Ad1 a}yy#;ݓ0g 3>8M>V7$?S#,a{^#)FhJ ] lfLm !@L%sQf9hlq\FrܞE 48p"ferx:rb;WgxAaȭjȶ{̜kfE+T#Q=ǣ֮,|^y{ak1Q4˃]~!|-vFm§HauC]bAf;!僊3RSoh\UjWiʻ*HDz.7~?'OKxyN bFdlIdRkŝi)}%nb-90?]|&=Yx{vtytuڑ.q#]Yr(O*Vxa {nkIY7;CǭaZ&RZ'?V)ٯX?/jIM!^`G@sUiIZ k񅯤 nڧ|,)?ȾLff%vk8>Ċ)(p ށL% zZY0rkC/yQ9,YܡlӴc@F !\Gr jy VppXE'ۖifٰ~6<5ZUIʀX-UA9M^Stʉ)q&-!F,3LФÑ1Yh%-eJ VYP So{[\.Sy DB0R(,B?râAjGzVyDo9T{_|˖i>j<30/)md2_xQPaU(yG>2,`Tg*c'JDz. Y֝,p6^F4.7%QOH%G€[V,~:Kھ77>PO;j (Oۏ\/EQ71s9U%Ms&dRaE5F1A{Z1UdrHU\HB> `Na*߹65$g{mq%x Z?]Xz;+G-Xcs5~Lz 4ʹ^g~#$~*]Ao&]'„l "U;T(U(@Pis7=n,,`=@#5opSĆu;M.sn6Gʾey4:cgB5o'S2DQ%)ϻfZ0僤F/1vU)|兓:dT#0;+p_;ÌHPn6C>cpPR2,b:b7nZv` T?ͯva Tfr s`[*bX"op q_.1aֆ_CF%X:+MƗ_zm{2ìxH͖5;M8Z%f8CI^^Qv3G*/jt*Xla4sWmm B@5>N$`\BoNu8_DΒ""/7<ϩȡ5%AU !: #77!iM%PKrZHB]tm5Dw!ugQ&] YRNRt(@yiFv~BNLM=x[E%WWIQpϱ6,{+AM83 U{Dō =fК1?'$_i,Y  ::Aa,L M7P"'颕H9o ˤeQH*YhVq-#yJFZi |/\?%Vx`šBO_1a`,v[bjpO3cnșfU>b%uC ^'=(2;a8ݚY?+3Y:Q7BIdr߈#- H~.DӘݬ;ߪy8 ɢ&OZr3yynEgVov#rulYy_R2Ρ9民!60D2E:޵H+0Z0C. !Nc!twlfD:JyNhmdY3 >Y*d!Q /Z7O<(/4SMڗ5`r¥?wW]9ONY|k߳nBZD9+RiG.:Ee4G \Ϳ53E}PK=)dd i(GWqGH 9Ӌ="N#x>ش]yl$n/ Yac2@K +kWkP_DB`?ף (JE,8xT^M1X+aW |^]؈{!~]n{ʯpqFR@kRU'Q%' 8"/\GKo<,LBF fy˸5QF"izYN[ll69Ț*Npj QDPk  #P]Iu弻5JXbbJqsP2ѱj  .wVx5rlHd-N!퍣CA/ wcV5lZ:~)!XpL9VH-8<}\Q%`WV1proe#)tf-KGq^GdiRJد9KNTpѸQwWjɹr۝`$dQ$gP H'wq؋3g dj3nԓubAh^sD?ɳeYY@'Dό70%pjOhc}[Ԏ*:gscgk }0yE=<z7ѻ `jwPδm̸unku2^DMwZrٌfjxMRH$!$cO?]QW1C8lY ЁCpClwMI!y¿C ,iPݞ&sŕ|LWtJ8.75%Tғf Ht9i-F>(fG4PMücc/da}rY8<z1}t . CSI ߻8~Ɉ0yA x$tZ#,5*)V 胻?#LR7gO$QE7~qVL5N\{ h&K>S[lɒ<$r9ps%m M oIhm)Q3f<AÎ+J4.GX/9rtdluB񤐣ahp21@ܽp᦮e?Y}] ǽ^&Q=b Y _1} #b'|Ya*i=>/}{` }nohKƤxۃC/7eWPiY~L??Gj]bόb/{t!X|Q2ݰ|)<~.W%3Hj On]p;}ZHlB'ADԅ&sM/UXs(F5uNnAsKzЎ~]pҍjmrցU蛺4|&`^P&(jL,kII oভΣ-$Iӫvy&[.[E 8EQKOD'paH\Ιh{NI;w ;[.8q2z#0XC{/!]K3  MG/^\$~aGl[, S 1Jucʟ*KF%֊\=VlUD"yfqu,hn 1i,4 rSlp*S>C.p oX Grw~ˉZ I ݉6-v5͗V)j@썳~ kٛ 1BdQNͩ,-r8?Ɲ$KhPaIe4:E/EЎH^ed8\{MBS&!w!1X965\1_;V;{oKcm_[T}!Y|6u2iW:-Uďm]=m:E.QMT]@jOβiֵVm9,]yFCð%(H> 6U oVi6EXqs\ w!!OSXT{R"3ivswfEI8u_Ј60\bC/oW:tZv`4C;sycpɫcyp=% 76qCo|]\;w!7^?Yt(>1@@åeX$OZcBo:0} HN7bj2-/k,Pu~,l3-G͛EmhDGj(eRK4XN*} -jX7{.PX&`ڻ0Q)(1kS5=# cPW&a%bM=Av1eQ1] ۺސ&v #g.ZWg΢{1h]q~uUKDz(MH)O1.ڍj/Z9D7_0X^Ī83컵cB @n+Oc~P£YQTⰊah ƒPW=P{faPDmwd-v.!ICn=FG r` 9<ꄵ*~z^̓+Xyٍ0Q`Q a3T՚Yj__0%]J h  stq-rUB%@Fp&x/Df,_`b]:WK~P}{T0ǒXDDSľ@(ER0HEӫ;ȤSesd+.C`w?mY:RtRu9'g^!f Χl~5{To*&'IH\@yDgK>u#&B*/CqsK7RqNNkd>\.?Vit?=W]˙|@?8 ${4a_(^('RrpZGlQӲ"8M, 62y ?9b)z ee!1:՟,? _z !px]-;Zm%(;۴{1tF13`0q~#'7Qi'aB`|@oM&fW:"îSg!kuG:ܸ/ CC'CƂ\ޠ1Ɋ'HsԽv7·*Qw?.fnӌd>X#IJɖ?0ѹ[Ɍg˄% 2dq ZZ߉9@bN7%SnUz3k2˶4*#Tl%/b[GT} E*Y^3NcXWżu{hhtvh;и Է Rf.ԣOܤE( X9rܞS-'4 kH[I-&ŐMˁ G}5y ;3F2[{zpݤI :)ovP۪l:2ZJs0SUp7CgxuWn~ASuB8$!窆ԇbJ9a {j3UTGKI@O*K-k6{"l1Ƀ&sdЊ y:)BvۡA >,Bi)H~)(G|,X8Sԁ^7289ran'HL5q`EPbԃK1ʻIlh-l 8I,Ryr kӓA##芣w@)kLPWO D9Zk[nǢ iVȍ*hlNPަ){o8KYe<7^+"(zJ@1_[4S<[Swϣ&2jqώM8=HJQpЊhRf{:[VR.M=g{5L|]IL Wd]A55@3'lj6Ivl 1.GW^Kn#=#RȂi뭥ʙjğS,ȔmxAuEy';Ct'P4()uO]+=t~~T=vF T͙esҫq =X?1q0-l<ƿJؿn~̂y_5CS h mC|{BL؍YMʛ~:4c ˹d>*x)kJb8~f92tE]`N<҅""1r<> Y* m':cI:"pSnLΪ%G~ׁq60?YNTwT"@pSy?Mĝ^8_+DuqPR3uiۉz\`4ekM*YS&f񘒕yq ΜI^u|i! rOt89z7 Vy5OHWfѓ47%#oJ(DiRM"abN z}$x#2(vz{F*Otyv g GE/q [w}mʯb(ΨXX@fHor6=WnPv_D)TD/KX>Sҕ׏MY]-|^^m)4vԌ d֬FU~aKT㗐fQo?fy\2_U)zO27P#0W:芴BBckc%GbYY|W\ e {+e#)9CF@JOp$'(/|=y1]}숗^% {է^3gmqB8ojRvlcf^ דJ瓄ÍI]v-IRJ/> O!^7 >$=$J*瀣GU թGl8Q3.nZ h(*aJ,EdDO n;QW-iJ@ɹ`CxM(p[dT&Yuf"[u[צIoG;ݗ// Dh-*8^ +W/x^7 ^&+<H ]ؾNpgA8ZygYʧ$J KE4݈nܡ6Mvk+^ ¾w76M2c'ycz_dd1[ Q$:u >$=i2H|YwӐbr7b8#MދU$zkM# zwCД3|[[D#5 /p~xJ~M!ՎuM!ײEEf"mꈦxsVxC[ |cQxåɩʸ PB<f8!ʜǪ#iGV{*ibdH7,`cAP {'},qbd>OJ0&A642{ק_ePKMW3^>ъW6JwP~ϛ[G"Mw dDzIEQ(^[Zɀ7j0U`gVp Ĕj1fhni(Wh6\]Yj`ٙ!{^b;77_[ 4~Wհ,ytYfe8&f:+T33LB:W=-FU|:@tc40@5ͅx G^?zTs \FĠqGڳ͕֕ k׈j2@s0wcXƠ;GPuZdK b$U;'z!V'H#Lg7?w-m$@3ؕRg|HTT G*jxE zt2 %4 $(]9]x"֎Ɋ'T̈́۱޸q’S,U3,~ -n/TXI:=} 1t6;>4ۤѝ ֤; _<=߶ВHVͦO qx'v PͅOٱ8 ЃPGü{1VA-mĿkQG%"Ӿ-RL>8)JWӀ$ B!Ar"2@q-5vO=㌲֒ =G ,SS)_0c.S(4r󫶺Uo\jݱ_\IFPXtyrJboB-Kl%R*y*Tn%G=,HZa}q8AӧaH[n*bğ/ɨ):Էj.& H]v3u]}82mJoCQ0S@a!i2e CyʗӻN4t`ı*KxS7eF[{9v0Nn{Xu]E m򀢮}Rd^Ԙ7O6΄Ś, b(1eBTwvPixS!1aube_ZHlyvJډ^QMO›D\'l9)uYIݝ|j*4pceƺ+~E &1߈Əك)e’Cc܆6-УtIPea.jAJN l58(C[k/wӪBP#; K">i@߅,MڍU*ڔA=avrI4DTsZMRZ>6٢Yk th=LNW!ɸ (H !2:v|('/G6#ьgȏULb?> -&'0qfq #YBO[aޏ!"cP}?!kU#I?v7꩎)`B/ˈxdͫu,ٯxLý:JY3ֺK?:ľ:$ 3Ԗrw ŗ p4@]~WݑAP)r19hk4*kEerJzj u=@Sԩr^b@;Aˮ/b*{۸QG`bҹM7*[KEj,OJ%(Xx$6I/4u AS}i𦞽c e9BB=LÞfWX4;(#S[裬V@8Wa 5\#F@ `Q㐑 l})bts5hM7 Rt]Xk뫇Jw?aoZå%+ߧR@ݲHCz47UVd2Tqń p'MwRdi'\4tYlݭ%KB3(QSBX}Jߵl|&yy1)s{DIh&X/˘aQM" <^`j@f%FP$+eg2V2W耙̖T2 cTnQ}KypY|g" K@++,{Nnۉ%.Sy5awp+UDᜭsS C"sr5چt$'_+ FA8nl=ޫH59Dke/XٞkW3sϬ#[`ſu,N?N0C;.j<#?MR`jcz.GA+Ӕ!Ҩ_S$nl7A.D]*T^g%@f@Ir@?K]{#^iպESkB COΥpFw6S-vJ͂=whz itc}y%e>ЙPjrϰzi;jFgD?h"0a#/ XRأS?[cf|!n?vICJn:}X y3, >? ^vyu_'ZA,jWiØxnRumT՚zv(GHG rR."ZFf52(G"R0Bk&QH@َ(!v򣄌^:r_>65ϝ%Zm!Iʔ;l`ȼYn un̺o+Ule<=TOs\d3 5cƭʆ% sF/⁠  aR wݒvqN;h}iT0i-U,<>LnR-# y|UT켑 c"ZVx̧LkX([Z f, N,l@`P DSh~t" $.@59wƘ\Yy$%zZӽ}s!Wť˨'@}\h[͝&WgD89M~HԹ3j^`f:oE᛻4A8Zx7̇OyTΎ8Sn . 46R,"gU(+nj9EM_}ǠRJM있 0Cya9s.D( -A \"V Y9tU%b/^aL^د_m}ޭsQ'Ce9?ou]}&VҖ~nt}ˈII⯌<?&{X`'zSew[v~N d)*/ewvEb۠W=OWo!C .'Œ (k>߀.]T` v,)|1|rXԢC5u]4Yz ɳIat,]O 7@֕A/G1n&Ꙝ­ũ"1;q ({Uҿ9DEgBΚGXb H P/Ma-f 8QHln Uq76(Ҕ1OG<3IHORn#;k fnlBLQ>Z6SI(?egܘS#aQQQ0c2h+QZ"ƿOϧ1#/9zҨէX#_;K~Ce|q$;I'_1Fe?xQiv/(iSmU:ڌS9D[@ ^6&iyB xDa1_5f4 xl5K:g6B\`.NrӶZ){ hxz67>0 {3>+,1m=ȫ)iɒ3_Wnmxu&cR*szǎS-u(,Q-oQ[Z8KӄPЖ&dAL]vr:g씗emuc;֒tes~Q6 N1/W-o]IDSPKtjyoQkVkNS*Q:66ːmB-2"mn#.DiG[#_HΤ_#ȍx߿CiZO>cv/bt!ͪq!ZR!~ '!s-7^W&JUpdM` !0|ZɤL %WBgsdWL#B^S@n8i%XՌ~+PX%?J7rJBdhz9B)#}Z {.r*y=HCKX49Hf9ޟ/7} W 2݂5p+Ι p-1tk34q{0gi'C81<(I(`Ll]8SS޲執-D pGRMEL^Di(6"q_Mo ZĵHN7F^ǒƋQ)ne'URQWFÒ$O;TYyK'% .b0|b 9r`sJ=# /F]@o!aǏjn$znegb^~yJ!324j%S)4 QM&AUA, 9UuٗYT2@ >$&ډpU0]`A9Բٜ,'i@C ݦdx8_Tڄ2HbOKTM^IkD{㈭ 7S1mRhiRÆ)uHoxW<7 FĮ5$ZexxP+˃Pm)S<04X[zbuA, [+e ,}\P?b\yU q%boR3yר֎^A[ﱐ.>_4Y#+%lf3#Aem{#_=Ps:2/3ɢSv 'Mѷˠ_p 쫆rPn3EƚsDт28ܴ0ZZ$8Wn}iIU}ܾ_p()yvMMV_oǘ?ґ|v#>I_-.ӄ- +)|SfZJQ`@ }&d=Wm)5ʌe2;]ڸ4N0pxn7,l5H'+At 'o/SvAGB ye]rJ&v UQR)z[ -b@:cl.۪G|L=bA ֬0b[VlMդF93iAs9S]dH $uOJClu2ȴYJC=>vzFaHs_Y\]AKΜ;=q49[a$EC,A9 >cu =/Txlm; ']m{z#푳?}%Ρ8 >SحhJ>A#'VeFT8%1`7[p>$dQ特3MrFTF_v֞vh#M>y}@LFr=D^x? 'l2k1~.-s{U1ţɁ|!\ܕ%L`(HzH)7J}lڔK[,Q˲  ݊ok7WW &71O#ܔĬn@S@9 $iP-EnlTН_.kt67E1+_| Wk^0#>?JsԋDɝST(ѥkUU6B:Vy7gtSR6zC. D>>?86=$&#YJb(ZX#)>j YfErYjU rZ -rWA9v [ռ)fnu l7MQ hܢc }}.`GW-Chq>B"UMar`R˨8ObڜARr5Q ABJn]/Y,2:&.̜8-NPmly&PHX~k[[O$Z EUcBݘZBI~/1Wtbz_$v]ۏ^-_8$3 ]J?4} L] L{q,/ۨiS&2 ]FlZWd o+va‰>&c>جTQdl JXi 'Q)[؎Ğؕt9݈Qò֡;6>^e#EBK=`#"9W>ϕwJDW!kH07h]&"{e#^88"$#T6s^b=pcLPUvDx\108-OR? ͮTs!MP lE"֤0 i&UVp܈DK)'buRbQ\8i1_AҚZ Iq+"Lq#OFu _ӈdE[ J[tKIPX{~-sw,d]uk &I6b͝Ɂ3! _M3'fOGp"ˉcW PXyo H cϳG7*9Xۙd*[h>c.s[QѿXuCVFn? ařh^VYⶱJpnYH )/F%RRr3^dTnrIT6sub7#6'Ed|7QY^AUK Y}IT@+%{̓6(%>JrA{SᡕhH?ֲSi,/H ѝ&<,WƸAt^Uo0}#H1nC;\:O%+C[]L)";Hc4D~07jTyKJy.(#tI"ƩZ}*QdUg:71b 9K^ G'iߦu 6"$@47Z;4c\茛͔|1U ^nyuL-" Y!4a,57DiwX|Lz-vVF;iai+z wL upp~;J?`QJ+W#SL7d͑KQΡ N{3ŴXO@L4q4S31<8o_[h~3z.SSbX e0\̵3ZLP˖} |Pv2X_}o_GG14,1%&"WVaF:gEZQUXZkXA'|>+ `;- T#z!Od~XoeBSiH1lnI nͺ\:m7_ʈ|c{AqdFQ\DG&Y<&$/ӭs<_?}qTOrOnO3w1ʛ'#!)f&bqϪ)k^ud/+[pikStqB !Ѭ[G{S5n^G%E<.W(phQô#\feUdsԴ7&"nq @y˔%BOeȊ&ߙ\ H Uz!ӕiI~Pw M@nlLY,%[C9\vIYBmd`uk-Au ^Zzg-U?{ {eSÂh@xZ$bj%W@$]*/r2zB{W聧n#Oߤ&@09 |UB7s!.cgcMAC4O!$lv_L$/4^Az0:nɯ=F5Mϻ\Lа^t72~l&9ȇJE.yY(Ouبk+bځk5`!fy'c%1ja +eX6vH}`$<6hǡx#Y$ #&)LĿ OL~ ] 1y9!rE2%GF&8'tF\;G*Eڛ,k x֌jmW ;4vgUBd0'52CNuO'<~f< wc/KouZ3 D'$D׵OZCynE;J 7$DV׵Ch(qm]1Jwv_yҷKfM85ō/(|^oQ`xxhܚb1{Ud(rs6ۑt#;ӽxmC*IQ+(b@} er P@yăn5^Wc -"D}9;*k z;qK^VżXN4=8pL0ylT{s;ˑG8U90>)iMg=>L:qQ?[t N~hjw y,m90Z= ʚuSm)QKG ~1K`OI{>EBfLZ q^?p6R(fvf ]>pfԼIargST6/,هIaf_hD67XX &%hF{}g~Ȁ&V_޾VcN76#1G'.&B[ p鍤33eg1xݚW, &I %\N(b^ͪ ;H 6f-ſWL /Ԥ`R.`F%Wƾg:PPC{ְ*r|T8ovi6uΘgT;Ƣ\/G ЈN~qMۗNIFC_/t?UB[\\Dv=#]aRPh^\mITC6괕_xZ[ǃ"Ocux::WlTa fnۢ=mδ4.wmd.~D"e)xHo+g\~JbltpɃ,˖1%٫l/`!ql 6A8CdQPsmZ2xIԥv$ on `*E7X5k5˔A#Mͩ{]! iy#\bL.kh%:vnFy ::>bBd\@Q1HbMC6?T)Ulȃ=6a|2Ftក%ށo)C?k["TsL;F72 %|z-b]Ha-O;l%-x2S"S?QFJSE^E7Ƒ]rv*iM*"l4Va.0TO' z!$?@(eÊqzka>asz2ީ dAV{BC xlH^^WYok|O,ݹơǴݙwxS2IkұuN})hQ4ip~iܴF{r^ӗP&FBʊS:]7jzKt8#sFnfhe!|z&A0rAxMu PS>[XmNdW%g;YKX. `x|hCĢD 󫰫4 #wk{%W`luXou;O[-9΋M;q0 (@Lfx+\hFh$e+R9F␧ 4wJR$p\R 䭯Ucug5Wj9w ,R%b9$фM NiMZ1~UIC$!L'ͥ![3Tb+h ifFmƍȿp Xޑ?`-#8iTLjۓ%\7͛6T[qNIR>F'g7@Pd*Z|.L]a\/;BOh >/v.umQevB#4 D6Te ھǙE UœO(ƖMC[ h-m]kZ$@ÖgI ,Q[]SOϏ: f8ZSEdxIA("=.?cߊ )m U)榗яEX|2Y6B0{S|o.QO͡@k ։˙ƍ}^Fa$Xo`6rM3vehAE' '=5jq덆k/L5}@€OuwHQjTAE9ev?X>ʽD#'\$;q6G#K>"d-hTO:?WDfh^5ܐG"S@9.@(i,M#Վh;,6PTv?$ZŒ#7g)fUYfF TW0?E ~:2 IB\fYhJ=ؾwH6Ƥ7nS%%mKX*MqKwiU(-DmxTF^HY6(s繾DB\4(={GGUvb'zo|xDnֻPF d.@^>+Y?pE Gd+KCЍGrquDG}ό i1?|WO>+G l္ScDE!dc~5ndOKFvY?JGHt6 !Rv ^7 hջ M=bV%9Td#^&bI6y4\H)z#fbcƓdXhtTb][1*a+5JY WEG uU!@eBJ;2Y~fs``tu_t? 5Niw5)!AI:CM΋%M)j[74.&X'l҆NBcI3G79(_f>Qsd"nGP#Of $Pezhjv5/(ˋJv m%׭^D`4,4Ҏ~uu#2w*Ͱe#+41X0;hH$HEJ9Qbl[ [[5 >NT~p Y>2WX`{{;ߜ}uah:ϥC)y"k̇\_rz A.d,8q8cB:;Qv#;G4N*v6 XVT%5f3\+ll~QjY"Oc9ޘE4n(s9}~(DRO5z[P:n̉2nAڿ1ww TOp~'~܈@s&V2&ҚDcqTBXa IX3!<^$QL1siTXք Yw?v;Na$i"m?,J'Q:D1uĐSD!SXdF1-,פs"ո9V/h%3hҁu6z@t; 2ړV}ů'u#ɵgE'ϘMo>2F1 cY^H_ ` :-8yuG csY8_V( x s^舃Qq!b|~\rWNvaTb%k_W$˩4-=&ŊRcGVYn.cGIkۥî:Cba;[mMgM7?#onkd69!PJ&Cʄ3]M$6J/1@;2pdюݲǠ(j& Ȱ207Q+U! 'b:' 3S75 2ahHex:"S#29kt_cIB쓴R BTeF}+{=92W+pJTZU_J2ҡP+SXt2I )MЄKy=w_`n7rL G ZZ≾[n$ E),F~ʔi'ȁoP֑:C^{D$S [e,YD6ᶑIU"5АFd}5.PW2ŢtГk6%>QQ,?vCkDTWqҘ5wJP? wg3m @2%tG.'쮉oW?J6<_|N^}mk h vHDFϗ`~] YZ