O7int for interactivity
PATCH 1/1 O7int for interactivity
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will be away for a week so bash away and abuse this one lots and when I get back I can see what else needs doing. Note I posted a preview earlier but this is the formal O7 patch (check the datestamp which people hate in the naming of my patches). I know this is turning into a marathon effort but... as you're all probably aware there is nothing simple about tuning this beast. Thanks to all the testers and people commenting; keep it coming please.
Changes in this patch:
The sleep buffer has been removed yet again. To smooth out X is just not enough reason for this to be here as it can induce unfairness elsewhere, and the actual size necessary for the sleep buffer to work nicely would depend on the hardware.
Kernel threads are excluded from the idle detection code so they can become max interactive regardless of how long they sleep. Should prevent some of the bugs seen recently.
The requeuing has been rewritten. User threads will be requeued inversely proportional to how cpu interactive they are. Prevents interactive tasks from starving other interactive tasks during periods of cpu activity. This may have been causing slowdowns in unlucky circumstances in O6
Con
patch-O7int-0307190129 is available here:
http://kernel.kolivas.org/2.5
and here:
kernel/sched.c +9 -13
@@ -76,7 +76,6 @@#define MIN_SLEEP_AVG (HZ)#define MAX_SLEEP_AVG (10*HZ)#define STARVATION_LIMIT (10*HZ) -#define SLEEP_BUFFER (HZ/100)#define NODE_THRESHOLD 125#define MAX_BONUS (MAX_USER_PRIO * PRIO_BONUS_RATIO / 100)
@@ -391,11 +390,11 @@ static inline void activate_task(task_tif (sleep_time >0 ) {/* -* Tasks that sleep a long time are categorised as idle and +* User tasks that sleep a long time are categorised as idle and * will get just under interactive status with a small runtime * to allow them to become interactive or non-interactive rapidly */ -if (sleep_time >MIN_SLEEP_AVG ){ +if (sleep_time >MIN_SLEEP_AVG && p->mm){ p->avg_start = jiffies -MIN_SLEEP_AVG ; p->sleep_avg =MIN_SLEEP_AVG * (MAX_BONUS -INTERACTIVE_DELTA -2 ) /MAX_BONUS ;
@@ -421,13 +420,8 @@ static inline void activate_task(task_t*/ p->sleep_avg = (p->sleep_avg *MAX_BONUS / runtime +1 ) * runtime /MAX_BONUS ; -/* -* Keep a small buffer of SLEEP_BUFFER sleep_avg to -* prevent fully interactive tasks from becoming -* lower priority with small bursts of cpu usage. -*/ -if (p->sleep_avg > (MAX_SLEEP_AVG +SLEEP_BUFFER )) - p->sleep_avg =MAX_SLEEP_AVG +SLEEP_BUFFER ; +if (p->sleep_avg >MAX_SLEEP_AVG ) + p->sleep_avg =MAX_SLEEP_AVG ; }if (unlikely (p->avg_start > jiffies)){
@@ -1310,10 +1304,12 @@ void scheduler_tick(int user_ticks, intenqueue_task (p, rq->expired); }else enqueue_task (p, rq->active); - }else if (p->prio <effective_prio (p)){ + }else if (p->mm && !((task_timeslice (p) - p->time_slice) % + (MIN_TIMESLICE * (MAX_BONUS +1 - p->sleep_avg *MAX_BONUS /MAX_SLEEP_AVG )))){/* -* Tasks that have lowered their priority are put to the end -* of the active array with their remaining timeslice +* Running user tasks get requeued with their remaining timeslice +* after a period proportional to how cpu intensive they are to +* minimise the duration one interactive task can starve another */ dequeue_task (p, rq->active);set_tsk_need_resched (p);
Quoted 7 lines · Con Kolivas
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will be away for a week so bash away and abuse this one lots and when I get back I can see what else needs doing. Note I posted a preview earlier but this is the formal O7 patch (check the datestamp which people hate in the naming of my patches). I know this is turning into a marathon effort but... as you're all probably aware there is nothing simple about tuning this beast. Thanks to all the testers and people commenting; keep it coming please.
Feels pretty nice here... X still feels a little "heavy" and slow when forcing Evolution to repaint its main window. Anyways, this seems to be on the right track.
<quote sender="Felipe Alfaro Solana">
Quoted 9 lines · Con Kolivas
Quoted 7 lines
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will be away for a week so bash away and abuse this one lots and when I get back I can see what else needs doing. Note I posted a preview earlier but this is the formal O7 patch (check the datestamp which people hate in the naming of my patches). I know this is turning into a marathon effort but... as you're all probably aware there is nothing simple about tuning this beast. Thanks to all the testers and people commenting; keep it coming please.
Quoted 3 lines
Feels pretty nice here... X still feels a little "heavy" and slow when forcing Evolution to repaint its main window. Anyways, this seems to be on the right track.
I was telling Con that when I first trying the O7int patch, after a series of activities (mutt, xmms, licq, firebird, blah, and blah), i experienced high loads (2.00+, 3.00+ - that is pretty high for me already, considering the reasonably high-end laptop i am using). xmms seem to starved. doing top, i discovered that most, if not all the X apps that i am running at the moment are in low priority, that is 18-25 at least. compiling kernel, listening to mp3s, typing something seems difficult. i couldn't deduce what has really gone wrong. i have not experience this before (O6.1int, and below).
Any idea?
Eugene
Quoted 7 lines · Con Kolivas
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will be away for a week so bash away and abuse this one lots and when I get back I can see what else needs doing. Note I posted a preview earlier but this is the formal O7 patch (check the datestamp which people hate in the naming of my patches). I know this is turning into a marathon effort but... as you're all probably aware there is nothing simple about tuning this beast. Thanks to all the testers and people commenting; keep it coming please.
Is this on top of 06 or 06.1?
Quoted 3 lines · Mike Fedyk
Quoted 1 line · Con Kolivas
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will
Is this on top of 06 or 06.1?
On top of O6.1.
Con
Quoted 7 lines · Con Kolivas
Quoted 3 lines · Mike Fedyk
Quoted 1 line · Con Kolivas
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will
Is this on top of 06 or 06.1?
On top of O6.1.
Thanks,
Compiling 07int now.
Oh, btw, I had a few starvation problems while testing 06int and mozilla.
I was able to get mozilla to livelock, and it's pri would stay at 15, and badblocks run niced at 5 would get completely starved, no activity, or only a few KB/s compared to the normal 40MB/s. I think that even happened when it was at nice 0, but I'm not sure.
Anyway, I'll be trying the same workload on 07int.
Mike
Quoted 7 lines · Con Kolivas
Quoted 3 lines · Mike Fedyk
Quoted 1 line · Con Kolivas
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will
Is this on top of 06 or 06.1?
On top of O6.1.
Ok, after some testing I have a test case that hits a severe starvation case.
I have the courier-imap server running on my box, and when mozilla gets messages with junk filtering turned on, it has to download each message to scan it, almost all of the processing is in mozilla, and the mouse is smooth as you'd see on windows, but I can't get anything else to run.
My kde taskbar won't switch desktops, though gkrellm keeps running smoothly reporting 100% processor usage.
I'm not using sound on this machine ATM, so I have nothing to say about XMMS...
<quote sender="Mike Fedyk">
Quoted 10 lines · Con Kolivas
Quoted 7 lines
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will be away for a week so bash away and abuse this one lots and when I get back I can see what else needs doing. Note I posted a preview earlier but this is the formal O7 patch (check the datestamp which people hate in the naming of my patches). I know this is turning into a marathon effort but... as you're all probably aware there is nothing simple about tuning this beast. Thanks to all the testers and people commenting; keep it coming please.
Is this on top of 06 or 06.1?
His patches are usually on top of the previous patch,
so if you applied O6int, apply O6.1int on it, then O7int on O6.1int. But do read his readme file when you download it.
Eugene
Quoted 10 lines · Eugene Teo
<quote sender="Mike Fedyk">
Quoted 9 lines · Con Kolivas
Quoted 7 lines
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will be away for a week so bash away and abuse this one lots and when I get back I can see what else needs doing. Note I posted a preview earlier but this is the formal O7 patch (check the datestamp which people hate in the naming of my patches). I know this is turning into a marathon effort but... as you're all probably aware there is nothing simple about tuning this beast. Thanks to all the testers and people commenting; keep it coming please.
Quoted 5 lines
Quoted 1 line
Is this on top of 06 or 06.1?
His patches are usually on top of the previous patch,
so if you applied O6int, apply O6.1int on it, then O7int on O6.1int. But do read his readme file when you download it.
Yeah, I didn't even go to his web site. I've been taking his patches sent through email, saving it to a file, and running that through patch... :-D
Quoted 8 lines · Con Kolivas
Here is an update to my Oint patches for 2.5/6 interactivity. Note I will be away for a week so bash away and abuse this one lots and when I get back I can see what else needs doing. Note I posted a preview earlier but this is the formal O7 patch (check the datestamp which people hate in the naming of my patches). I know this is turning into a marathon effort but... as you're all probably aware there is nothing simple about tuning this beast. Thanks to all the testers and people commenting; keep it coming please.
I was able to trigger persistent starvation of openoffice by acroread and temporary starvation of fvwm2 by it. AIUI this is a known issue but I collected some detailed information on which whatever analysis you're doing can be done.
Attached is a script(1)-generated log of top(1) during the incident.
-- wli
�g�? top.log.2 ��]�䶙&��
G�� �g�|h�cڎnoT�Cꉙ�>�����*���l���/ ��`&A��@&��+f^�ZUTf�$������O���}��ݧ/�~�>��������������k��L����?�������"ܗ���������|�������q��߇�����H����u���U���}��~����~��ۻO�����y��W�+�+�����ϟ>~����w���$�>��������W�z����Oᷴ���|���E�.>���������]}���o�o���������������O������ߙ7�7����|���W�ao���~|.���w��I����{���w�[#��/���Gj���/ݟ>��W��_�����������ǿ��O�ß�!�"�}����No�E���������}��w?��b�6���d�o
�d�w��t�������V��
������������߄?��o�������o����m�}���ݷ��O������������7o�������������?��?������il��w�>�{˿%�_��_N��B�oݷ�{xC�����w?����w?�������#�+1-�{O�����ѕ���_���s�
�3W���h��FL��ƫ��o�|`�u������C|F�w���pw�"��7|�N�{�롢���������{�:J�{=�
2�|�x�?�����n']�
�k�:����]�����?�����Qt�S�}ʚe~ʌ��w����J��O�}֓O��]��������kQ�kQ̍IRf�k�ע�;н�U���o���O?�Ə#����}1��Sv#�����;-�}wd|{������u����?�ޙVO��b���;���w��O_����d|w�Ͻ*n�So��&�����O���7��~8�ܨ����I���L�$���ļF�L��3+�~�2Y�Ƭ�$1��Y��4'��,%�"{��O�(7|��{�#����m����ߺa�ohs���ν�n2�'M�j2ލO�v�P���o��!o�xw��߾�ą��R�I����\�XM���8�7,�Ifറl2f'&�p5p�/�E������+3?Ci�<�A\\
<�l�q4M����H
T����32�������ݧ�w�f��-&���}>7�o����gtS,e�L�&K<�f��D�����q�0��Y�L,�k�x��i�M5��k&., ���+���VK&���,� K"b�n��S�R����d��Xr�"Yɍ1s,�k��j�TI��WK�ޜ���gi��%5�R(MH���+�d�6�� �Yu�HR��8�݄�X-mFR�Cԩ��$��]���*v���;�) #��j�F�L��&�`K���(�H��~�(�Hd��v6ivy�]�<x��nh|�^%e IZ����]%Ŧ���wsC�I�� �dn�44>LZ��D&y�L,��%��xm�T��fז�$K���eJN�_
�n�m���l����q����3�Y�ϳ�χ������/�d�$Q��x�onw0$� I:�2���Ȅ$��H�l�$��$M'�����'�R�u%{���2��d $�`s�����?�į&�2��{5p���F����]@ (e
&� �d�I����or�hx �X0UixP����D�W�6��^�` �^2_��z���ju�8'�HK���Tt
�,m�NR��Q��ȇO�$��fIʭ�
$��$;!IݵcIG$��x�EF�$-�w, ��v,q6��E�5\�A�߶Y)�Ji��{��F���9=;ȹ�� So�L��U>����izk_��������l��(�&��2I�y��;���&M����Jf��� ��|"��"P�$>_&م��������;{�2���0W���b��)e� ��[
��BI�%%F렔�N'��(��=B�..)��=���B����cQJ&!�!<8��Ik�7J(0��P`G�w,�T�����"�|�T��a��]J%��F�i p��R��F���ݦ�C�� %��5v�:��bI��Z��ҴX�it���z^�b��YB�*%�
އ����$I��;ַ���$��� ��^%��<��@Hj���*I��w�I,��B�,I:�e59��)��-[�e�b.�N�� �VYR��;ʢ�>�ݨ�o2z9y'������jO�$pn�-�{(��:ɄI�a--���¥?�o�N2+JZ�S)F���n��$�Zأ"���d���F�4��LW�hxj�x{��4<���������u���M�r��T��Dn�dB��i���h`�eN�e���nnt�g�}sl1�j��7��Z�-��̮��j�}dxi�Dt�Kn���IJPR"FI���;�ԭ�$}�sB�,�4ԗ@I�Q�&�
�a�2�\'�ir�����事;z�pX������S���N,:��%OW���VÆR1�hx�-�ėq*��5Ѫ��@0 �O�u+&;&�e���x���WLq�C���L�
%��܊i� N� 8Y�����S�2X
YCC<kq�t���fn��YM�'�j�DkɳHO��'�Kuj��Pچ-Ib܀p˨�h^��^V���p�Ea�(�Z2k%��&��RI�(��d歹Z��K�cs��Rkā&��rhʫ�N4�*4u|��j2זVOI�4ޑhr�(�O�i���U!�\JM�t��J@�m��B-~���e��N{9�����(��iC�y�(M&��[Di�ݟ��. w�)�րK��WKr�Ѓ'x&�D7�]��a�Y�R���c�D�a��V����cR�Z��QU�%a}��ky�M�1ՒL�IZ�%K�>4����M���P��qN��~���H�Z�s�C��ᄍh���<6��FlfJ��q����\�ES��0mAJO��I�xMƆ���дp���ѴX/�xu�����+3�,�R�æg�x��L�C�m[|'�2��kr�5w|_`�����I��֘���/ͽ��&s�T�֘xj*�q߭7Ҥ�:MFh��!K4���ҥ��S M��<.�CS��&w�/Ҥ��#(���{G���F���N������6������
�=|��
��Y���Tɝ~L�:S�<��K�$�+���I��P��'��>��y���D�)y��kx�%�(�*N��B< "fy����p�U�/O�����Cj�u����1Լ���a0���z|��,*su�
��F��f]��1��N�=@�Y�s!I��VR�O�x�$� �4Z;���I���&>��cʼnF�z<��'�V��":���p�R'J�pRĊT�$�����L<'ǣ_��vb���q�LJ���Z�9� ��8 -��l�`�Od���T ��'5��ߎ�QZ�H�&kN98�;��3N��8�����6��DX�*����#ל�8�7��ߟB�u���D�+'�n/j��RfWN�'N ��
8���Z�t��s�+�H�Z ĭ��%.ESnݤB;������i2!1�DSbR���n�Ѥ�}�q#>Y�I�Ѥ����Ӥ�*��gU�\s���NV��7�h����ol��8X���W��.}ƌ�&�'��p57�e5W���{Nr������ 4-~ʏ���VM&Ф�)==G�h���x4�'�`��6>6�� �2M�,݉&���ΦM�h���s��.ߩg�M�n��,�9�mX�&��w������?<V�0*␓��P�%6��K7�C��
w�Oh���i��څ�+��P�9��;��U�{2�]��\;#LO���tG�D�G�t�j$��i�'bՄ'��rr<%�!<O���˓\�����xR9�zS�Nå��n�I��|�����z�B�t�V1٧��
�R�]�%pb���
+N�U��"�(�J���v9��Q% �k'���8Q���4�p��8͒����)�coy�#eX#���3A&=u��+Nt\��kmO�1�b9]+�X+Mq��v�WNj'�dJ�ģt�9*r��cp�0�g��H���ל
��~�X��L;D��.A�B�5ٛM�ao���+*[9q��S߫�O���)��K�.'8����p��&\��� 7��4٫������O�ӳ4,쨷>!��7�Zgh�Λ�SںgXQ��yZ��u�
��̽d#�6,Qu@�YT�6D�ܺI��4Q2�)}f���ٴ>��,�i�F,�d��8�E�WO�
�z���C̷1Pa�^=���0�zP����ɿ�:!�i.����
�٤��
P*��J�I=�[7�p���s�l麉F�6-MꩨnR�z}�w��Z���I��8�0�V'˟_7Yu�D��s����s���0=��ꦝ�qq n���(q)�r�>��M$�~��Xo2{�@�͍��4yPh:�$0i��,@��#���hzM2�j�5i�Q���&c��&��Sz�M� ��e(�+�uk)��n"�_mҞ&eϓpҟ���\�Iͪ��l��`�d?"�aA���m$�n"o
L@���iʭ�x��!8)��$��d��j2<�jM%i��'�iڄ�Lc��8��Z"�����f�90�2:���3��S����qz��=������:�.�!Sb(M���!Y:�Ip9�FN�@i�m�v!<�-��N@���.�qc���o�{���w�qN� ���?���?֮�ι�[���`s9��u������Y�ѭ2S8e�9�Փ�prH����z����H��:��j�E��+n�=N����"3��3%R�z�+� %ƪ�q�%�3��ȩ
�e�!��xz�I��NMu�4M�-�t��umM�=nPX � �:P4�z��q2����fh���zv�*�r#P�����0�.�џ�t�V������Q*ñ�O�/��b������c�C���z:��T z��_��_�ՆEi{P�ٓ��s'��Z0���S^���/mCN� �\��n����V�D�<�n2����~��D��P�? *A+�#J�G�Ḍ�$�B�����'�t,N��j�Y���m�ϕ�W��:%�۲iU'�G��5+�6q��$A��/*���a��?>��M�4���I�gmɍ�$D��ֈ���uw�]:WR�B1C���*�U��{0Q��|F�3,j��(���� ,�_É���%�K�+���q_b��"�]�� �#�(�WQ:�'�c��'㪈(����Q�9KM�u64F����s6=��[9�]R3;�竀Q�� Oԍ4��}��C��㈢��=����ɸrQjv�/t��5Q�W�����J5�~vA�7�����D�'=�()��b�N��DQ�<����IOʮ��Ĉ�q���l��\21�jn�NYbL�,}����p�������pF�.N�
���e�;�o�Oz
=�|��vE��i���~��)�����*"�O}�_Y7~w�q�BJ�"E#��Rwt�qM���T��a]��0�z3Ej��bj��24�nn�%5�b�<R#QG����B�z%��N�x���:J0sE���c���zB�������Q6z�������=�*��G ��'@���������J�o;ׅ��2j;yGk�1����#�[l�H"�l; �R��鹋J�L*)���pH�����J8���:�<�]h�X�31u�)L�(�@���(rMT��s�L,o���X%�L�Zڶ�$�'��DO��D���_P�?8n���)���a�5���wQGپG0^�ɾ ���`����-��Yx1�ׁ��%s����܆��̴LhrW����
���1Q�d4�[���XA�X����s�!�&(���O�pϠV�#j�V��(ND��]}���o0�O�"�D�پQ0ŗ[&Nï�gݐ'��Q�{�J����8d�uQ�U� �Q6�F�>�OO����|BE}�WT��G:��cf��B7f���F��bl�(�f�)�Ҥ������D�U��<%ƯQr�4�Be�#�����L҇���X&�/i�w�
3��� Jc�E�r�nb1\���]��(.���E�2$���Y"qӟ��2I�F'��!WW���E�6�Xс^л�zn�%�5ɭ����)K"9��u��E�<Œ����Ʈe�1Ɣ�֟� �rX��ܣ�d��I�?�ݳ�ȣ6�����F��7fd���i_4��͵�#��/{�չc���T��vG$�QkC�E���Ѥx$I1���:��_?ΜγJt%rG�Q|nn��|�!tg�K�J���Zi.G¡�zO�$+L�=�
���~�D^�9��1E<ov���7�_��I��t䝯���$����k�2�_)*����#*���0� � č�Z휸K4�V��N���T��d�Xb,�z K�/%��4��xr��?6��:"T�Sx�g��4���j%��ڳm�g�/l�TUA��� �*�hm���{2�%U&��1m"���T
&��īU/=��\���S]����6~2����z������!".�E��a��'n�D���B��r�4�nx�Sޥk�2�Bq�ë�1N]�F�#N�?d�*��n�#}���N繧�����z{�m!��.������_��-���[tm?�A��o!]B]`0���� ��A���(���VE�.ꋩ�J���>�*]�3���Zgew��4w�h)T��]pN�p��2p���x��N"���^TO&kvO�'F����
�L�!�T�;���K����lT�Ϲ�il��[��?4�M<Zx"yu������4�
���G��6��Y7���$t@� ��Q��z�ݓ�I��M�
�_��$�F;��]�T����P� NZ>�+�
m��S~WUN.�`�M@J� ��Ͳr&^�?��W�[�h�xx�o� ��6�f1��w�wJ�������L2-S|N.�W�'2e�����Y��L-��*�B��adZ��e�<|}K��H��]���4��mu_�&tZ��cօ+��x��~'��X�Z�L��Xc��<��ge�[�1����D�Fm�q��6�K����l�KX�.Qs�&�j�^���'� ��g0e�q��9�ڜ[L�$3�����S� �2� ��A̟�;�Iݲ� 8E�C�8�oKLm��!�d~�����ϣɘ3M�t��o ���u&M��㏠�J.�l3�(��� 4�&�T��ܪɧ�;�D���w<���z TF��2�ғ�-M����q�ü*ޕW�y�8ks��C|���=��@h�@��4���4�u��h6YmZ�Г��o�\>�Vz�h��B��2M�M���.�)�W��+Z����>7&ͯ�m=��b=M�י_OC����x����R�D��zD� Q�;o�s��VO7U�zjt�i�����ֆ:�=2����lo�_���I���C2J5D��U'������T�~q �]��W%.ES_7��Ģ�!�ס�Gg݆h����������Bb�⍞���h�t�]���s8��'�t�8�ʼn��)�J'��Nq�8�?�ຩ\KDr�I�QJ�Y�Uc4}���O�Jk6��Z7����6'�Sn�$l]��
�z9]��:�r�Tx�kVP�M?�}+��I�VNBF6?�)��r�9�6�!D��"gS�8�o���*�}6��P�o
v2�'�˦~��E��-�98���4-�8�&��@S �dn��M]�DDS����T{M��o��&TM� 4��gє[5q����.M�iZ��T�&����yl���*����������%P�A�)7���}����/�n�Փ��T%"��s2.����8�T��N����I?���.��z�i5��.єh�c����18'����^rN�������8�_O\r�©�&r�`��;kϸ�N٥����an:�*�E=ɩ�~�M���*@�\���P�Z8���M$��o�IG�zK��1M4k��z&�д�<)��$�ȕ9G�5�@h
�hʢIf��lԫW�j�����sz9�E�i���!��`/�>��ƇU�.h��h�M�����5k6��6MC����h$R�l*t Ӗ�%��ix=�i6�lڭM2�&)=Y�&5��M��6�^���*��� �@�r��^U��^�t���ZdWN��ՉG;p�z!��SUr�d��E��z���l��YøTN"�rb�'UӦ�L�&*'� �@�#�R�r�ٕ�5u��!XsRU��T��ElrP�!�!`��q�+'�_9�b֦{���
���N/g�⚓�TN�z���M���M���\��M���&�Y7�1�W%B5�
��b6�n�M� 6�lʮ��]��E6ѻ�!���9��X6�I�ޥMP�@��w���T]q�_��ʉ����t�S^�d�H#���[��;�q)��+�x�.o��l�;d����Jp�j4��L�!�8q9�a�3�
��/j��[|�c�^�N}����n�ȏ��t.֜�J�@�#�R�rb����k��rjb������#�l�� 6���wv0��\=�n�k�Gn�Xq:�M�f�l�M�)e�̶�=ʦ�=NuS��
���&������iL�˰�F6��6�,U�TI.һH.*�
�lZ~gG�)�n�_I}�v��w,�P7�&��Ә��n�k6ݳ��Nꦼ�&��z���[d���[ʆ�*P�\��WU������ٕ15+'Ξ�\���/�\�Y=�ܬM���&l��Ny�E��8�&6Yq�ՃMl�M5lʯ�td�-��$"�؞v8�*�E��T=����&!���x�t�L��@�p��-v�������� �`��~g3j��[7*N%W�fW��QO��K��ݞ�w)l�M����ͦ��=[צ�f��*�E���"2Yw��l�o��«*gӘ��a��kS|b�M���al�M���M�uS�I�hy��
�NM���* �� ED��^t�ԍ_al�ɦ1Y��&�W�)ޅ�{�`u��m�9!ul�o��«*h�̶)J}�a�!Yu��U�&u{�l�M�i|M��.��d��X]����gH��"�hz-�ބ=�� 6���M�u�M�ieN�@�r��^U��^��^�N�z:�H'VZ�8!�ff�&V���!H� �f�P9�8�R6�WNUm�.�L�6��f�@7l�M���M���L��L�uS�^dvt^��l���o�
T�*���UU�:��O�z:��:�7�Ȑ�E��2[�z0ƍ� ��U9��z6�6�͙�m���&[}V�K9�$+f�?����|�����˗w�>�8�vd\J���)։��ף7��ZЉ�H.���i��@�U:�rTU�VNc�^�M��M�����&f��e�4U��&�U���;{UU*�9��z<S'����S�ɤr�]sjb^��ȇ�i�z����2��q�5.aӘ��a�\��{p_���ל��C'9l�M�)eS~��0�rw�j�M�?x�I�&��Sm��\��Dd��kS��Fv9��E�6�]����`l_l�Ϧ���a6�L�l
6�&��^ͦ1U/�&S�&%����6֛X�t��t�ų2�$6��������6�)�n�um2Q��ʬ��Xoz9�V_���&����d��o�&:�-����� �� 6��G��Hݴ�L=V%��5�[���6�&�Tۦ1S/�&�$��$nH�h"��h6�n�l�M�mʯ�*ۤ7��dڨ�x��"�hjQ�D=��lJ�4&�=ߦ8���iN�X6aN6�&�����I�ڤkٴ���� ���@�v�^�)M�%�辺�x��"�hb��`��q��x�U����e��jT�*P�����*�+�1O/C'�8�v��'�d��e-�BLu�8�V�JXy��)��k�X'U^'yC�^�ӱtb� �@�r���S��ޘ��l��w�T9�=%�*���D=[�&�U�&��R65R7�R�t�/g�J��^� �@�r��^U��kN���m:�Z�z��ۼ��F6ıtzĚ��q0�����q)��VN�l��'Q%�H�"��ά�!�;�q ��T���oH#o�:�r�*P倪T��h#�S�ؘ�j�aϷIVI��&Q��l�oӘ���&]�n�7��5Q7��M�@��R/Ę�'�e"ue�7�B@&��y���\��8^U��iL�k�&��E�H����\$w�\�S��&�^UA���X挞n�O��lZ�-�jS�`l�mӘ��m�|Dݴ�L=U%�H>/��auS��6�&�t�Ύf�ֺi�&�D���㙩E��d�c��&u�B����m�Gpش?��D��L�ZdJ�M��\��zӱl�^�K��
TA�s��^U�ʝz2�r���*�ܼ�F2�T��"�hjQ�� �z0���9�x���6�6��d��B���t(����bV6��l�M�U�)�nRQ�^e�r�1�W%�H5�Y�4��a܋�����%t�6�d��6��Ff��*���GTN{��h~�$��WNy}�dC�*���l���&��j�4&�=ߦݞ�q4�����&������l�&�n�x�M��ԃM� 65kV��jӘ��|�X�E�veS��"�hn��̎.r���vm��JشC���Xfy#;��e-h�&9=ؔ�i��˰�?�&�9��ۨ�L�l�h6�r�U�
*��w�����b�l�S~��ϩz��։F�E����N�?T'^p� �z0����M��a�9�n�iS�zDzIL��5*'�U�J���=^M�D'���kNmTNU��L��E�5�K����3kN�7k�OO�M��M���y��6�
q,�HA�0��P���M�ulJ�T%��4�[�dT�*�T���U�:�G���TN�g���t4�,*'��P95o\ʦ&+�]�������� +N{���V7��6�6U�VI.2�H.�M���e�� u�nm�&�n�k�v��8��xC+N� 65f֭�j�-ڔ{RF��Jr�}^rъM6����i�6m��D-�DdS��[��zӱl�� 6��&�7��&��n�f�^_-��
a͆�Xo�M{� u�nmj�nb�9���W�D�t0���Ӟl�z�^m���M��M<�)w��j��6��L�26q)�dŌ���^7���v:�������P�ȸ�N�UN�u"~'��r";�Գ�Fn�$��Mg�v�B��iU���ʉ�2��o��a��M�S;�� �z� lJ�T�n"�M�0�E��H����d�T�*X+�~g��J/V��c�L��H�ʉN֜ruj�r:�N��Y=�� ƥlʯ���4�-�M#�M��s�0���[�Y���W�X#u�Μlb�651�Gk�I���"�Q��N�T����6�xͪ)7���d�W��I}z0�a�
�%l��m��mb�}z��rZ#�H�fS�`S��c��ڴ�n�fۜ��F���l����N���2�ڄզ��$���tT7���uBp%�6�*����!(�M-
��=�r������T^q�TN�s2��*'����0��3+N���I6R9M3�`S�6�b6aV6���M)�
�M,��ޕ�7������6U��Ğ�Z4k�P7�� �&'ش�&~J�{v��/����Q�z��r�-V��
*�ëRuʼn�2�����!��Q{�u�U�8��'C$t�3��P9�8�8-��W5.a��r�m�7�8=��6E�z:��놀M� ���;;�M��M�m"7�0�Ȭޱl����&���2�ڄ��������Ey��;_p٦*�o��r�ԲM��:ش�P7�֦�n�MٔW75ҩw4�lu�p2;�k�8�_�K�4�굤S{�z�:�T��:��%-�D1�U��
*��VN���)�S��n���ieũ~��l�~g�Il��X-�lT7�fC41�w,��&���l�Z7U��G6�v��Fl��[��-� 6��&���&�H��&�os���Xo:�Msz�iO6�nڭM��M�L����G�˾lS��"�hn����`S��&�}���$N�zm��m�m�ޱl���g�M� 6���M��Mlқ�!IԓU�!D���}��������D����
�zM���&���� u�nmj�n�7$�5ѧw4�����&��`S�&�L�$���y�M�$��*�E��Ԣ�nr��p�*P娪��b�3�Ę��>�g��L�c�4�Ի� �0�1��Լq ��D�"6�w2�n�T�d�h2�g�� �z� �lJ��L�D��)o��n�S�h6���l�M�)a�(X7��&���[�Mysz6�?��D=��l�dS#u��N=�iS]�Jj�l4�H�n�M{� �M{�I��N��s������9=��~lBݴ[�n��T���ݦ�*�EꑩEE���Z��M� 6]��C�$�D�l�mj��t��[�U�ʁU���J;�䘩׀N�,�&t�U�!T��K�o1��3+N����6S9ųzbO�EG��������sO�b�}�c�z�w;����|y����q���?WŸ�N�TNq?D���F֜^@�"��6�:��
TA�t���S�j�Ě���ܢ�4�F���*�E���"�^=���l�&�k�e�!S�����l�gVoӸ@W�H�-lz�Mc���m�m�d�dC�F�!�[M��u���}�65S7�m��M�����lZ�"�;�(��aS�S�D#u��8��M6�?�к�/�U�
T�~g��J/V��$n��ti��� ߘ���?=_�*�E�y�E����8�W9aV��8��I�V9�i������ �/g�ʊǬl�M���M��M�Ny�z��5U���.��0�U��qU�:��N�z%t���i唻���Y���T�r¬��q0.eS��龳�w��g�dC�f��l�M�3�Y=���F�h3+N�T�&z��fS�n.��U����3�c8���������/@��!�⩙E'zâx��Ճ� \���,�łk�p��!vu ��\d
.*٪���q)����5eSn�^�z/gӆ�W�����3�TƦ1T�-�vT7��J8�m4ul�M��6�V7��6��M,;6�_� uS�`l�m���n*n�aNO�0�w4���z6��6��65R7����9�&��݃\%��6[�'e�g68�&��6ɂu�!7�ͦi/�&���2� 6�WUЦF���[��������E��"���&�U���;{UU�{��'}��{�N;
|} ����m3nin��8w��^ո�M[+'R�&}ì*'��z� 6��W��n���ٴ��"Fh��"E���[�ՃM� 6�� 6�gS3uSlS���M��6
i�sϟb�}�#�0��(�ܣ�|y���a�;�d\B'�L���"�S��"E���+�G�� �@�=�R�r3��6�l]�v�[�r6-f�т�z���`lJ�4f�eSn7D�z�f�uT�*P�����*���y3���R�r�!�Љ�H.R���"V0����q0.a�h�r�Q:���I�;�M|���@�r��^U�ʕ�h�r�>���\sjC��E�6�]�&��sTN0��q0�B�$��v��X6�ɬޥMP�@��w���T��d#�ӎ��X�|�l>D�� ��0���Y��)W��6Ѭ=�����M�a6 ��R���*{p[�iڭ�Y=���2� 6�WUЦf�&���'+N�O��6aV�@���Y=sJ�{�Nq�WἌ�t��ω5�^��wn��q0��M�TN,�����S_jV������5lz�M즺ɐ��O�ջ�&Se�k4bzZ*�U��J�Y�1YO���y���I���C@�n�bi>�0ƍ� ��U9��z%lz��W���U9aV6���5���l*X7��G�7�M�������f���l�M�)a�h�n�Q�^~�l�zZG��lz�M�u� 6�-_7�{�r�����3U�!x��E���[��lJ�$��&]Ӧi�^n�^�o�e���[������}6�Vl�M,s�mu���
!�͆�zS�`l�k��cB�M��M�4�&ꦣلݷl�M���M�uSo}�M�Y�M�o:�M���&���&�T�&�_7ɺ6�6Q�VI-�L-�r��Q̸/�qC����/�>}8��[���A'������tʯ�*��͝�k�rڿN7���� 6��l�M�U����WN�q6�UNM佺�J2�h6B� +N� 6���MC�$Wm�,�ăM��M"J����kb���l��ݷ� 6��l�M�U����l�h]�v��z<�����&��Sʦ���Դ�E�lO�E�A��Z$w���S��&�^U9�Dv�Dl]����Z8��mZL�c����`lJٔ]7
�z�l����<�ZYo��Z$M-Z^o�*P�\��WU��+�/h����SU���os�8�Q9�_�"����G0������)�r�um�7dC�r�lSj��o����n�
��v�9e�=ߦ�nҙ;��膠Ur�T��E�"�l�M�mʯ�ԣ����&��fv�v� 6���6���)�"ǜ����T%�H=2��@�Q���2�WM��L;��{ �6��c�-��q0�U˯�hS��M�6�*�
�� 6���4�M*7뵷�ל�˯��Xm:�M{oaS�`S��<���t��㙻�Ʌ8�Mv�&�U���;{UU*�8�F*'~C2�l��UI-��&�-�� �5f\������K�$�+'^�&��4m<�I��
q4�$*'��� �ԯ�D~崪�t�wdꑝ�9UI���f�-�4���g9�r⨜`�[|g�j\�&�H��D�c�4�»oV/�Ջm�R�\�)f�?����|�����˗w�>�8�vd\J��ʉ=N����@���:��:A�RL��'y���ʉ�2��o����&v9�*�E��ܢ��� 6��M)�����
�zM��˦G���&������l���M|s�d����U����`l�M���65X7��s2t�MDz�� �z� �M�)ak�nb'����~R�^Φ��W�MlڏM��vk�P7�u��z!X�z�Κ�3$�ɍ'�mU��L��E�}z�Q|]R�8M���U�J�����w���[z��+��=�oe4��2g�h֬��Y�*'"��T���U��D'u��t|�����[_��^����;����q�I���Ϋ��(PvO��M��H�d�ʉ��dTV��?)�ɟU[�&Y�S�6�\�F�+��$U��&�fFK!uPN�uO��h�2���y�Ǖ�������1��PVhW��sc�b�y����&��SP�}�3���{�2QzQ�ܞ�Y�N%���/�^W�W�{,��]�݂+����uc-v�U��]�Z�,����|cʨ6�(&'���r���RL���ςHej�?�'�iF���s�d�8�1����w�&5�>b ��Q0j�(yW�b�ܭ~�Q4d?�f���{�l���ߣ�īP���U(��peQV��b5�҂�i
�;��b�FQ��B���7�I�&���,r����h.�3}���2δf�z�U�eI��}|2���:%�Q�p%xTG���>���Q&,?��(�6EUc�(jm�s-�!��=9�SL��ng��f��Y e\Cr���"M����� M�8ʇ����� 2�V��|�L��ܒ�'���N��8z������'�e�u1(yD%�t!����u����2\��K��K�F9�a�.å��{RN. .�$��ڵKB5(R�v�
��e�K�
��h)�%)�^�Y��9˕��s�21���K�a��hI�4̱�t�K�V�YR|Sa��-�M�ط�U\��6י��y�ū�0�K�����}@p�'�y`1�7.�S~�$*�����y'㒌�r%���w�B�nY�N��E)�f�yX���^X�,������ �
2(���N�{F��<�:F���WF�a�w�L�ҋ7U�\g���@��\A����6+I�J��U�Ӱ�U'vJ�˰���t��\u��ޞs�lz�MP�@��w�����b��v���Љ֭���ٽ��ۡSq��f�^s
���8��5o\ʦ�r2�6��6�2a۰�B���
�G��4��aV6�&�TӦ1uo�&����`�*lg�Oo�I����z�B�6]t�����
�V�I�ӓN;��K.�V�K�(���Y���o�;�\�����R��PJ��$f)��L��]1q��0��T҅URq'���$��m�����f�TROS��{��Ux�b����c�{Lަ���%E�P��A��@yd���.���j�ҫ@���U0i��Q��|1���h���&3ݚ$��;i�ߚ�@�^h�hʮ�D聠}v����D4�m4��y����e�:S���ȥ��F.�"ͅ��Fwa����@S�� �U:�dn��d���F�{���v���-���
-���Z��o �d~�d�U*����$Q/kO���Rk��)Q�Xe6�D�ÞL+z�x��G�։2�Aٴ��=������I�J4�}h�$�כd��T�(7V���Y����ϭE&F�Сw4�ԒQ�w蝌�Y�;��W��
�=��>XHÛ&��c~���YI�S�^�R��R6���a�*)m�D)���z�R�F��"OO0�W�����Rq%%�*:Gך�]ۓ0�h�.���)e/���V4��!?%ee�z?9�����yYĺ,�c��aW/lz�M蓘��?p���O2�(�fT�'A7F�aOFKRY=|��G�Rk�>�$����!�tX.�����"fY�� �+��B�ui$�r��ZB��t����t U)�mcn�B����BFi��g.jl�U���+-�,2�"��rez� �����~�=�'"��JXFz�QXFz�Q,����^��
�M��f%LƁ�["�m8Wt���U�&y�{�A���3Y8,w<C�
��uԒv����ک�3u<ʜH���r���d�����}9{P�5�nza]� �R�{@Kh��ӎ)���ɮ�D�]�I���Nԋ��J����A��.�Ľ�%�~*Xt�̹D�XX�������'�z���]��j9�qil9_pi����Ŭ���5�Kg-�<y u�)�g#��<Q[�'J��2j��<��"�ᒧ-��X���'��iS�x�)�'�:�w`�
�yC�S��DM���k#�_C�hۮ-<�G���##3r����ܞ�dyno)��RH�*=����HM�˽����=���h6N�Aw��ٸ��[>!-�����楰�Ɓ'���<��j��c���Pn�9O��g���5�Ga���uR��*}�O�I-M��L
i�$�V����}�UYp�f^
S�b�Mn�#Ӌ��_�����Q��'J�]1�}ρ)�n�a�&�y���Þ|t[��v1�o&j�LU����a=,�.��ɽ�'��m���g����� Δ�ﳾ�0�Ä�\�dv�4�zbU`��'����a���V�t�U�Fa�a/� ��SK� ��
�Hi����UJ���E���i��)>Tÿ�M�y4��$�Nی��{���vR��Nz'Sc:/1�� >��]�O�N�a����Nr;�tXL�_72�v�ݾ�)k�:Sw�s��8A�u�H ���.9�]��wKf:"&;r���N��X*ڈ�15��h�$��R/�����Fl�(J8�`� ���{�~�F����(�c�\��M���U*����u��5��f������M�����w��0�(� #w���o��B�qj�άr7>�7t N����S;�63�����������>��$�Ma:䄜��|��L�d�a�Q��Qʜ�"xfDl�Q:t���b�/M����'�P�(Y�(Ξg�Z0J�>�h0�2�a,r��x�H]�F�Q���7~�UC,�x�N���#(x֖�#�$%��م�!_
s~)Q)y��㙽{9H ��NHe�y�d�M"U���#���O�]�Dڷ��q�!u��)ޟ�1 e�Ҿ���p!56�_#u��Y.�^��J��!aI���=�JZN�%���B��b��{L�D�5����
'�߀�R%u$����NH��c�cy�q�b���?�xE��;�
�BHMg��� ��Y���[�uy�S�;R,��bC�9�)3������I�ټ� ���-䆘)��ހ��Aji�O�xI�.����%R}%�o�MH��>�ߥ�J��L��ށ!f��^oyB-�T�l��Zʽ�5�Dȉ����L�ӄ�dJ�gI8��dU*t�f���(��#�̷0e��� �y�)����c*d-0��I�@
H
@j�!�o)>�R=R�~w ���Q\��e�N*٤�bK�GI�Rn�$RK�}�Ƶ[>]w�ɪ���
.��+HMy_�����T�R�55�Tf%ŇJ�l>Rz�OE�Bq]�u�����>�R:u�GʷUT@��xSH���d� ?!���Y����*��^��H���DJdWR"�I�r>�Ԥ�OnD��7Jq�W��URvRI��3�����4�g��eD�_m��TI��}�N��u���H��D*���& 5O���dTI��c�L+�[Z'���R%e-'��i���������i%��> ��H��J�_��C��\%��\$��s�G�y3O��#�j:�*�*�YEo�*�]R�|h�Sʧ�?9�����ݾch�S�� :Y���3�RC��0xV*��eN"����6�o���� B��v���k�*��
]f�F*]F����%�(>
�7N����/��\�[��=]�$#�Gs�R�ϴ��~��P;-��� ��^%���"3˨0�g�
���1_���T�� ��mR��l�R!���s}���}�U��q%����TE��2��v )�^���;�IĬ��6�P�PGپs�t{��QĬ��(���]�J��t�,OVS�TܨF�����NP���q�����NhaaV̈́�
�ʊ��5�]%.�控=D�D
�?m�}3��^�R��]�j�fWS:���+���)u��կR�F�ΰōR!�|)�>���H��j���F)y�1;��":��L�
��-�w ՟\)L���b2|�g/ůH��HeWR�UR�
�fg������u)�K������F�Ns��Q*��?��@H��)?��N��}�q�3w�����4yS�ƇH) �<R,���, *)6��wW%E�� S�yH�^���b~��T���H�|�PI) ���J��"��3;�#E#�J�I��t�*?�W�Ï+I��&���{�(���d���ŕT��RI�8���z=��]���xC�t
�2=��=���)7p����{Ε��H�]T�H �:�������rW>0���~w7g�IO�t�?����4&�됼�vN�G(����Q�ˍb�4{6/��
)j��iq��_
�R�����!ńG���`��*j�����)}R,9���t�h���ڡr���iz����P�b<�{?�
��>�:�H�'�) �bHeWR���t/�&��N'��rHMN�w���
�)�,K�
�T���"�x�<�iF'��f�Y�Q
v�i_����:�p[w_��-�@
H�"R�l��J�x�x���skRJGH���}$�����I)��&�B*���xH�s�,���H�w�CJ�"e"���˷L������J
H��5�
)�]I��>ޟ#?�&ug4� )Aʝ�!�qv��|)�/�T*�#��L�==ub)�S'NH]%�&*)/�%R!��R��a�@
H��AJ�>�\�l@�?G~n3�=����t��)^)C�R�D�J�=��t�2��"Rc��#����_E�R�TR�e'��PR@
H��igH�b+H�7�|��7|8��t%ţ� �L����ac� )�M%�"v.����:���~�+)3AJ��(yw�*RR�{�����y���Z.��1<9�Ɖ������T�9jf/O=<5t�E}_�}�S6���^���sy>���>u:�p*+=T���腡��|<o�)?W � T��R�*|P�{�{����n�jr���3�U��1ն�t�mC]���x\���X��ń�u#�9}/\Ŏ���{��{�?5
: ~ĭЙB��"�Y@*�K��'?�wj��:S*)�'�}J,���#�O������� �mmf]j�T�Z�=�WS'��4�:m��٩ ���l��Vv-���S�� 5Y��ڜ�ٕ��
Gv��m讒�Q%U.uBpe&H��$t �?؋H�������OVR��H5u�!�R@*��J�o�O�7�m�w�N8�x�T�� ���"�����{)5WIѕ�7 ���D�."%f�:�s�B֒��?w���al�<��"���s���G�L�hJ��R��S,bJ\���>!��71�R̬�N=15�J]o�2շ1eM�e�N$�������adʍ���2�]WpEJ��� P:�zcB�
����C6���<P$(U.�Ċ'J&��_(1%��|^}�]{8*�bm �i��'�`�H���*�fVQ�
�}�?���UQ�v����&Dɶ 1�)�wJ�&�Tz;��:;}R���}�߳�d�T�*��'��ձ�������=�OB�.�% ;�B����:JX_Gw��O
{ d��)�2W�Th;�)�j��\E�i>w?%LN�bbq5j��NC�4�5�(*���8WQP�\E]o���t%����7�F�J��N��qh�~ �E��d���;�
۔��l�J����B�5�w�.�
M}v��\�H(J7�P���Y��(Wf�]}��Ů>cf�b�")�j쏢�?�ab��_���~)�D���)*��<�
#q�3\V�hw�D�c�/��՚-0�&l����:�x�!_����S�糢��fQ�.�T�'f�Y�B?���i�ȓ���t���H����>O�$�
���>�8���yf�k�I5������\�H�����l�=+P$�A���[&�&{�4[��Vx2�
9�$V�$M��I�>�כ��'���d���;�5��2�'���'Ux�I��n(n
�r� ��D$n����xZ���@�'�30�� ��������$�xO/��Ȭ��%�ɽ�]PwTOҞ'�)9�''M�-7�����i�YW�$J��e���!����nN�H� O�)y�O�Փ�מLy����ڽwO���p�86L��{��v�ed��5�W��ѱ�L�,���%e.R������iQw�@U:w� R�?�Cj�o�o.�]5߆��k��P���S|��Z�n�'��}&O�X��'���nѽg�e�PCMj�Sh���=5Tt����
�@�'��r<eWO44Hhx�ݠ{_��"�
�~*� �R=��@��v:�b����#���1��<M$�f�3~ˮg�'(��)y�Ҷ����$ԁ������H��J��a�OӀ�����C��4/�&q4��.�Y������4���:�����Hm::�6,\�%�����?pN^M4p~������@(5�}^V��2� E#�J�ҭ�
��PUB$d�!&l^: uO��t��B�E�^�dA�9`�~�/6�Dz(���!����tiēi���E���iq�����J�
O�6���̗�#�H����O;�i���*O�F�Ps�t'g���{&�ߣy���Ow��UO�����4�$�Ƙ���da��� `yr���aԹH�h���^]E�Hq�RkS|U��������}}�(R[�V��I�^�u�.�����xv
%M�S�����PG�ieʜy����O�A��O�X��Z����`r��
�J5�~��_�����_�����������oC�P��ǟ�u��ݧ��������l��
���
Uа�