Map WAL segment files on PMEM as WAL buffers
Hi hackers,
In response to PMEM-related discussions in the previous thread [1]/messages/by-id/002f01d5d28d$23c01430$6b403c90$@hco.ntt.co.jp_1,
especially Tomas' performance report [2]/messages/by-id/9beaac79-2375-8bfc-489b-eb62bd8d4020@enterprisedb.com, I have worked for the way
that maps WAL segment files on PMEM as WAL buffers. I start this new
thread to go that way since the previous one has focused on another
patchset that I called "Non-volatile WAL buffer."
The patchset using WAL segment files is attached to this mail. Note
that it is tested on 8e4b332 (Mar 22, 2021) and cannot be applied to
the latest master. Also note that it has a known issue related to
checkpoint request (see Section 1.4 in the attached PDF for details).
I'm rebasing and fixing it, so please be patient for an update.
This mail also has a performance report PDF comparing PMEM patchsets
including ones that I have posted to pgsql-hackers ever, and such
zipped and rebased patchsets for reproducibility. The report covers
how to build and configure PostgreSQL with the patchsets, so please
see it before you use them.
Regards,
Takashi
[1]: /messages/by-id/002f01d5d28d$23c01430$6b403c90$@hco.ntt.co.jp_1
[2]: /messages/by-id/9beaac79-2375-8bfc-489b-eb62bd8d4020@enterprisedb.com
--
Takashi Menjo <takashi.menjo@gmail.com>
Attachments:
Performance-of-PMEM-patchsets-20210519.pdfapplication/pdf; name=Performance-of-PMEM-patchsets-20210519.pdfDownload
%PDF-1.6
%����
687 0 obj
<</Linearized 1/L 1459362/O 689/E 144856/N 13/T 1458780/H [ 507 379]>>
endobj
707 0 obj
<</DecodeParms<</Columns 5/Predictor 12>>/Filter/FlateDecode/ID[<1B9C2025BC4EEC4794773BD7B765081C><165626D9898F34439C80C3DFE8D671E7>]/Index[687 31]/Info 686 0 R/Length 97/Prev 1458781/Root 688 0 R/Size 718/Type/XRef/W[1 3 1]>>stream
h�bbd```b``N�����X�LV�H&W��&�d�w���l}��20� ����#��E�$�$�$�_�#�Hh6 ����? �<
endstream
endobj
startxref
0
%%EOF
717 0 obj
<</C 330/Filter/FlateDecode/I 352/Length 284/O 314/S 245>>stream
h�b```�I��\� ��ea�hb����%��2CyqPf���+�#���\o����������j��Y��2 �]��j�y:�
t�x��hqV����$�in'����{��I�gr�C����K>t5��������T��|�!
�@�������4J �I���2� j�-:8(�� �* ���X�^FMV�D� F`�Lf�f
ebc�e��d��dv��a��X��Y;���~d�d�e``�
�]�x i6eEx8�2�9jCT1 � T�
endstream
endobj
688 0 obj
<</MarkInfo<</Marked true>>/Metadata 75 0 R/Outlines 100 0 R/PageLayout/OneColumn/Pages 683 0 R/StructTreeRoot 153 0 R/Type/Catalog>>
endobj
689 0 obj
<</Annots 708 0 R/Contents[694 0 R 695 0 R 696 0 R 697 0 R 699 0 R 700 0 R 701 0 R 702 0 R]/CropBox[0.0 0.0 595.32 841.92]/MediaBox[0.0 0.0 595.32 841.92]/Parent 684 0 R/Resources<</Font<</TT0 710 0 R/TT1 712 0 R/TT2 714 0 R/TT3 716 0 R>>>>/Rotate 0/StructParents 0/Tabs/S/Type/Page>>
endobj
690 0 obj
<</Filter/FlateDecode/First 73/Length 810/N 9/Type/ObjStm>>stream
h��UmO�@�+�qS�r�/B*�
���!����&( ����9m����E��9��g���>C-��PG1��a��L�� ��#SZ # 3N�s�� gV�GMX�}:>��4JK����"�g��h���� j�~�
"d�����4��x��E�Tj4���~����o�xd�&��"L�W�8� *�{���(��o�<'���x8A�q�G�t��|&�uWE))
.�0���t�D��2Z�"����U�-������~y9)�� \�4,"����y:�^�t��i7-����E���9���ow.U�������!M��c�d?��ED;������K9/���E��!�jI��_�����!���`cE�8����o��|)���T�^I�uk�J������dNJ�imT�� �\}�>>D����[�?�H� #Z��&�kx���Be]%\��D����U��z� ���0.)hTI����������|\_�:K��T�4k����J`l�J�[*��v���
l#�
:t8�MAG�Fu���#�������R��\�U���d�"��G�T��J����Z�>��:8�����
��j�]�X�k���8�*m��rV���2���;;��
��S{��1������ �G
�\m���
e�"P��E��q�4���H�\�:�xx��;�yi"���@��&�Ae'����vk4[���gY
�2 ����~��E��E3
�����`tv�Y�����8��C����P���wg�n��������m���V���:�g�6_��+��� m��� ���A
endstream
endobj
691 0 obj
<</Filter/FlateDecode/Length 562>>stream
H�\����@�=OQ��E�n�� 1��;q1?g �tHF ��~�p:=����<_.���a�������>���������ut�xi�lY���������VC�����m��Cw���t��t�6���m�S|��oc�����_������a������m6����G_��ku�.����t��/i��+~>����xIL�7�6Tu���r�^W���&�]��y[q��\����,p�b��R��y��B^3��_�_�w�;�=����
��9aJ�.�.�d^"�2
/����2+�12�fO���o����{�=�~O�������f�Y`�f�Y`�f�Y`�f�Y`�f�Y`:N�S�:N�Sf'�,�s�9�h0���� s�9�h0���� s�9�����Rt)�]�.E��K���Rt)�]�.E��K����b>�{����Y)f���bV�Y)f���bVJ��l��aVF��o��F��o��F��o��F��o��F��o��kt�%~_{f�������'�t�y��~Q��1m��4���.~�`C?��
��� �$�
endstream
endobj
692 0 obj
<</Filter/FlateDecode/Length 510>>stream
H�\��n�@E���^&����� YH��<4�|��b)��1�~��Fi,�2]�T�"��w���]�s�C�����)\���w��O���]3�-����4>��s�����T�K���y���M;�c����0u��=��]z���G��~v�[�]N���z�^_�K�cO�6>���S<����cp�r�S��p�&LuI��k���x�����=�������������,~D~&?�W�xG��_���7r�J�)Q���9� ��\��,`O�`%+��%r�55�55�55�55�uu�} ��%�K^�/�-yf�,��W���_A���z��������������������G����������g�G�2K���Rd)�Y�,E�2K���Rd)�Y�,E�r>��(����r>��(����r>��(=����ct68�
�Fg�����lt68�
�Fg�����lt68�����B�"����nY��_?�#n�����6Mq��U_�
������`FO���` ��
endstream
endobj
693 0 obj
<</Filter/FlateDecode/Length 226>>stream
H�\��j� ��>�w���%P�r����NR�eby��6l�*����s���)d�o���@�q�;��@���.]��b����q�i����"��w8=�8�Y�W���f8}��3�aK��
tx���g�^���+v���!�a�{Bhk�
���5Y�liFe���T���?����}YV�-����x��B����m���N��(�}H)&�,�#� ��o0
endstream
endobj
694 0 obj
<</Filter/FlateDecode/Length 885>>stream
H��UKo�6��W�Q,*���( 'i�bX��=���x�X��t���R���^L�������-f�~�^,{8;�]��b��z��Y�=���|���6H���:x�� �k�h (%���4�����=�`v�Z<��0k���b��-�m������%��U����J�[������C�@������B�T��w�B'5�+Qi>����\w�2���@#=������e�L!���
DI��� ���p����6�����Y#��({YM�t��o�����qU���^h#���P����&����d�V���Mh-k2��W�Jc����o��?n��}�t���|��s:����u�g�1`���*KMk*O�x�
8�M]p��B����E�z�"( $��$�}OV���'C���*He+��~��;Y&��5I,��.����dv�|> CT�� ���<�����A����W��NmL��]�S[g^�Hj�3�K���lu�y�d�� �w��K��.ElN�>*��VP�6����:���}|'E���#me>���q(�T:�&�4��4�H�xF���{�w��(��N��zX":ic=t��8I�����'�����gA�<��������[*�&�����~S8+m����( �`�*�����[z��k$�L����Y��S�������r��� ����������'��V"��
��2�����>�>I�/��$�"��,���M�4����5o�:�W�1/n�k���';���,�A�+x�D5������6l��U,���p��En�b��S�?�Dl�0a;����OL�����V�l���� �#����I�9�Kp
O�>a�����T���������g�S��0�n������qE����� 0 <l�
endstream
endobj
695 0 obj
<</Filter/FlateDecode/Length 765>>stream
H��V�N�@}�W����7{�z�"$ ��R
��T)�H��#�T��wvw��M}q�����sF����\B~���e��O�����$�N��E�k~f�Mv8;�l��&'��3�M�����)O�F���*+R���
�i��4�;�P\h��y~�����oVr
����m�V`��+��v��%�Xe�������Ro�����<W�����W�^�2��!#+��L�r�(��}@��P>&����� ���~�:�T���k�H�6LK_7P�1��vp������f�|�v�sL���"���pW�*$� "�;<q,��
�g(T�3�
��������VPH^�2&\����Ae� ���0|:������D���.�������ev��J6�T�(5&����v�F`u���]�>�F@�r m�{��(�F����{����Z���Z�����Tm�jYsk��B�^�����Z�8}���Q�t%�l���� q�
�G��
�g�����S�\1��aM���~���|2�7P�&y�H������ v����T�97LZ/����@�-�o^"��`�f��
yc��n?���T��>�0C ?hG�V���-�]#��o��R��vDKE�A��U���;V-�6���A�d���-�e��p&�J���r`Ny��_S����6I����=���(X'��l*�\����p�'(���9n|?��/��8��8����� �����z��! ��� 0 ��:
endstream
endobj
696 0 obj
<</Filter/FlateDecode/Length 823>>stream
H��T�N�@}�W��o�7;�wm� Di�**�T �@I��4A� ��;�;����%���9s;��6�(P��/�(�L^H4P����C��A� ���J ��[��BKi ^�w&��'����=����z�@����S������+2+����b��HIU�E�y�9�g"���N��Qd2'B�
�+:J��=s��m�+�3a,A>��$��RclR���Mf]}�q��o(5?�E�Nfp�^&��I�6�-S�gf�!�W@�V6��I0~�^�������j���^��*)���&v'������y�RYO��L�B�\C��P�3������l����7u��)��oK��-T��g�����W��~�������;Y�.�����q9��'Ti�n��W8�W?�?�����Z6�-����}��������:��P��%�2���UtM���XI�N; fva:�8 Mc�+�UUu=geZ[Bi��q�Fll��oS� �h~+�� �)M��3C�}4Y���d>=���������DDM��;C�<:���7����A��g:�����{C�y'b��U!j�)-�������H:���)�{
�}O�S7 II5FR��ZK_�i���-�+�<�s�����u�<�A�a�����K����{�#�&���Z5���y�[������2tf��?u#�����E�d������>+�:�W��q�������
���Wv�\�a�����e��P����f�d� ���b���V7�5�\�X��llo�{mGmu�w��[�����G�r:���=�M(lb�q�C;���&���F<7�����W� �t��
endstream
endobj
697 0 obj
<</Filter/FlateDecode/Length 744>>stream
H����O�0���W�1�T_�&i*!�!��i���c��!6� ��?;I���;��������qnY���;����~>m`���
��y((HKg�5
��
��S�}�3xW���m5hh��B��*��)b��7�G�\h���@Y�0��y����1L����]5:�yy�s*����4�:m���w�vKYz�}���g���8�e����P�X��s+������$��g�auU8�6�s
����&V�b��U�mW.����C�)������*�3�8�m4(qH�P����%Sm�$�E�+����%��$��y%�M*G����T��T����R'`~pDJ���B�n\���W���q���G��X&�6�g/���~�]'��4�6��Si������c-uWK����p���,��9�,F�Q�D@�bR���LPq��-+����g)g2F�5Z3���y���G��C�+�_�QW��t�Q���w�Jc�4����f{�a� ����|��M]�)����(m�k��h����`������������;�{�1dt��,�2O�K���w����$�0��vL�m��>��H��y�D��HJ���AX�U$����@�����
��$���I
���%}�1c�N�V�m���8�� <8N�����v=S��MD�l��#��0B49��(����vD��uF�������0����X���`� H��|U_nLW�l�*{N�=�0 �x�
endstream
endobj
698 0 obj
<</Filter/FlateDecode/Length 559>>stream
H�\��j�@���\��%��D������{1��CL���'O��
�?$�?��)����k�P~��!���v��n���N���mW��i���h��/U_�y��~�e����j���m��a�\���(�
M��~m��<����tI�fa�M:��R�_�K
���i����x�k�]�����������&���NC��S����:���k]�����/��x�WC�Z���,�^�haZ��v������%{���7�-{���w�W�+�����HO�'��s4m��Mg�3����64��Hs�9�a�4G���Ms�Y�x��G�x��G�x��G�x��G�x�s�Mh���� �&��`n��)��t*�J���t*�J���t*�J���t*�J�����b>J����(<F��c�<F��c�<F��c�<F��c�<F��c��an��h��F��i��a�F��l��a�F����;�N����;�N����;�N����;�N����;�N����;�N�����.f���P<�x��.>���}��1mU�~������n�_��W�]�` rs&�
endstream
endobj
699 0 obj
<</Filter/FlateDecode/Length 633>>stream
H���Mo�0���<J����
=����`�R��. :t���%Y���f[�+�����3g����
e�A���c{��K���?P}l������zF���C#�����D}Q�,b_�igd%��B��=��=mme���U<����ps���?�A+���[�s��6�t�|��5L������B�g��Jih^�]| *�<
T�L��RRW��fO� �D�o�?^�s��r�1XVt��?��b
{��'�����+YQ���.Z��
���&!)/�SKE�2�z�H-� %+�%�4��hM���C�
����������U��X]v������>T��OF��e-R��=;��7�-�TzBb$= )���#�9r�I�b��~y�QPc��Ead ���)M��+�2�3L����Bb*�g�&�q`�a����L�s��pJ��l��v�cSu��� i "W�Z/Qd���1r#���� �G�E���x�N+:���J|7��(����0s;�)cE�ZO�m ��7���T�0:!x��0���q'0�
��_liwN4n���=������"q{���"�J�3��P�S|�����L��V�����Q����p&�u�L1|V�OiK�Z��Y������O� ���[
endstream
endobj
700 0 obj
<</Filter/FlateDecode/Length 792>>stream
H��VMo�0��W������(�_C[� �a�:�����u�m8���?R�e�����K�����)�LR+�83)dj��V������_ m�e|)b%s���������ja�D�1����5-~7��H��a�-���yq&���y�_�����FW��pty����������,�+���bF3� ��p���1���j�( a�����-�k�(�H$<!�+�-}�w�>��8lPI.�M|%c^
��=Q�7_"LJ��N-��7��)�A$��f���)�J��k����(P�e����B�9�*H��� J�d�Z�������):�l|9�X�L�iz�0p�!�*�EQ��M�����)!�/��H;�������] �SC�B��Pa��~}�[�>������{��y��/��D�X�����.t^����P�'��qcmY�[�%�3���7hgdS�a�nBC��Lp�{����!A� Y;���pu�Q�%�)�Lb)����������ud�K?���l������jLGW��'���R��+��La��;p� UaZ�rt�� 1��gd�����
6gC*�)v����>�}�5�8h�K�����}|u�4k.4�������%�������������t�|�`��JB�_/}���j������j=r!c>�K��|���t'Z��G�o����iAWw��`v�T����u ��Y�/H��z=�P������L���w5D�! $�[���yQ��3eds x�*������.[����!�;|�_�>�)=��]���N�[� [��
endstream
endobj
701 0 obj
<</Filter/FlateDecode/Length 824>>stream
H��UMo�0��W�����dY� ��X��V���$N�-�'[�?��;MZ�b;�H>��/��f�,R0��eJf%h-��&�G���F7pz:�����������(QR)���3T�(P���2�y �c���DZ�����E���gCg���5�����qe����DP>=� �����?P)e��fp=�w{�
��X��Kj�7��R|�?��r��j
r ��6+B���q��]��"?����i�����-����;ch�A�W����tK!�������s����y��Z��z�xm���>iV����uf�Y�������G
����n c��M<�>������s46
s��0%�-�!^oD*�}��:$
�<���,�����t��3���R+uP,���Q2���CD���.V"���d�ZW�����w�D$�Y.���_�g��s��Y"*��wyb;@3�;���p��H�"�Z��������dNe������dR��j�f�P4�NiC�Q�L��U�"7��Z�����m7����4���)���#c�������/�c��^��6U*���[���)tu
>����)3t���D����x����HF�����S�Dg������(t��b��`����Gr������YhJ��<x^m�h��$�68M����$�/��}�>Z��?�B��$'�v����^��&SP�$C2��-x�YhK����c�O��!wi;�gtbr�Lc��si������0nD�yg���������� �����-�i��G�,����wo] ��wI�1�h-�@�4��dG�Tn�i���? Y���
endstream
endobj
702 0 obj
<</Filter/FlateDecode/Length 792>>stream
H��UKo�@��W��=�a, E94���"U
���*lpJ��E��������\��^�����
���Y�B��Xs Qg���
���D?��x�x#�������H�\��+�-��'Ij/y�
z��m��2�|
�)�����0���~e��
��vN� ���iw���T*�0�jMxht8�!"@+Y��W�� ��,����������8A�T�p��O
�/�(�m���V����F�#�y8����
a(���9 I�c(�P>��.N���i�,sr��=K��>���w�O�L�ao���>��P����p����B$� ;r3.���m�����X!��<#�����PRRh����(%S�(o]���0���s�\+��*��9�3��m������'�2p�!�t[_>R�+^�)�s��� ��X&=�g��CdA�NB����9��������*���nh��P
/��*s���R�T �����'�g\�9r`�E���p�p���p}}�p��T
77���2��i���%����N�7!�0a�u@��]y������Nu6��^���������o���E8��Bi�������3�82�Z^8�4�����D��?y����<������~���$<���uz��$��\���e�35��)7i1�������4�Zc�b���C��p=��3n��� �qb�� zw��fS�/&l���u�����](Q�?5�fh�us$� ��l&��Q ���;�g��}$�+��U3�����-pS����n9��Y��r� ���
endstream
endobj
703 0 obj
<</Filter/FlateDecode/Length 53949/Length1 101592>>stream
H�|�w\TW�g��3C�"�mx3cYkbL�$����F6��%*���Jl��cWl���u���^�b/3b7��j����0�w�����|����s�}�|?���@ �� 1�:7j:��0a� �������_�B����
��+@��@@fbj�����:uz���&�L�h{�����_Bl���hp'P����0T�X3^�� =�_J������ �}��Aq�������/z����5B��@i��z�����/�M'��������#�z��CR�4�5S�m �����(2�����B}3J�H�����$ke�������S��%]:�6"F�S��jK�t&�
r��b����i�~@��'fTS��(F������pJZ�uz/o_�*��AU�C��V�Q�VmC�b4��#��:���W��_6j��i�w�k�~�>�k�G��U�O����]����C��;�����]��e�n�{����^������������'
HN8(u���i�>b����=&=c��2��8a���S�N�>#k���s�f���� ����/Y�l����U������/��q��-[�m/��s��={��?p���=v���S���-���.^�|��[m7JoB�)����1��5�5��p��4\J�&KS�%�Y���O�In$)��'����Q����k�[������w��
'�����a?+!�Ai�tT�*������he�R�\P��3���2��s����M�L�LSLsM��3���A�sM�b�k�ong�5'�k��M*T�����ju���6P�U��d5C�T'�S���u��Y���Q��S�Y��� 2*2:�Ud���������7m��b�L�X
-�� �������(�����Ong��E�'�e�/��]��4W���vz�,�M�k�1izh
�)F%e
N��eR��J[E#7�����$y�<S.��38L���o�_4@pJ6\a��+S�+F��S�����lW����
�Lyi�1��f�2�N0�6e��*9
N5�a����_s2���JNYj����� �����a%���$��OC4�n ��---��6����08ZN�������^������~s]��a�'�]@�L�y@����r����1�'2��^n/��p�8O���=m<���lOh�X�h����}�>vo��]gg�l��;���|�U��\u3�4�ti��t��s3�tpio�5.�.mVakkkc��}`knkfkl�k3�j��md}j�[Z�[�xvY������"SZ�XWX7X�X[Y[Z#�f��vo�g�]�K�DDI��w��~$�Hq�ruut���W�Y$��� ���Hq�sQ��3�������)Oc���`!��LW���=����xo��������|ZTH���������-�-�"�����>��;T�����~����r*�s�`���"��?[�VB:Tj�����D=8������K*��!��^�������EX���dqf�9~�4��D"Q�!k���K��P���q���p�q'q
��qgQ���S��E����#�1 I��HA2"�0����i��x������=
��#��X<���l�G�HK2pR����p���pS.-�<ZL������|����2��+ZN+h%Yh��5����z*�
��6�f��_q�&��J�h;���*��v�?P �nSU
����B�M������:H�(��c6R
�I���jQm2P�b�����BF2����1:N'�$���t��)�TQC�R ���t�.b��w�.��=��K<���T���yg�L���y��l��9r��X�9�q/�|^�Ky/���-�$� ^��y
��u��xo�M����Vm�6���v.���w�n��{y��|��a.�#\�G��|�O�i>�g�D���k]Z�Y�h���YfY'�e/�[��s|�/�%��W�*_��le��R����6���|������#~�v~����t���U�F�������tUu����\�O^Ug���|�9�{�{��\���]��KA@�,K�" ] �=1�1f�$DP��;H�&
��8�c���.� J[�V��w&�?�����g�'N�����t�N��:M������!7�8�|�K�"_��\�W�*�����C������j����yu�c�������Mt���y:_���P�p<'���T=M������=S����{�}=G����|�@/���b�D/�����e���r�B��Q������z�^�?��F�)r:r&r6r!r*r^o�[�Gz���?������T����n�g�G���q"'qcN�N�4N���,��&�������E���=:{`1���}{c������p �gq0�����8G�8���8����R.��\�E���sn�?�O|�o�Mn���
��y8�B\��q .�e�W�J\��jSj.�K�2�����\�u>���F��d�����u�9�������t��j��)tj�GN���)�YSb
� A��i�`�B
����iq��pZB$B4�dH�TH���}��yE���i
�Nh9�y��
�Un�����s|�os9��o��Ash-���6�������a2�� �)�'x��4x����-���x ����#x��q�O�I<���i<�g���X��^�2��W���?�u��7���r��w���
��|�X�UX�50f�@6�Z|$C����l$�d�L�z��C e ��$E���\b�dc�,Sd�L����!K����2KfS
�!5�8��J�$jL��B��F��A��E�����<��jJ�T$��jF����V���P[jGOP{�@ORG�+��u���=M]�u�TL=����=�E�}�k}�]����~���4���4���Pz���p�{��������in��������������k�����yh*L��2�AJ���AF�d�4�F�hC��XG��g4�&�$z�^���ez�������~A��/�W�kz�~Co�o�-��`>,����X
��,��V����ZXG���\���!o����\��`&�I��"W�M����#����c��;d�����g�i��[A���������1]���\1_,K�J�&V��6�]|"v���3�W�w���Z�����9fN�3pG'�iq^\W�O��(w�.���� BTB�� �����wr
��#���\o.@5�@-<�:x�""B���R��"�Iv�]d����,�%���+����%��X9A�(_���7�["ON�S��rZ��f�Y���#��r�\"���l�\-
�Z�^n�[��K����_�/��X���Q�L���YY*�D+yM���������^ �+���*A�PI*U�����T���USU������j�����������X���JT/�[�Q}U?������j�zV
VC�P�����j�8j4��=��G������5^MR/�W�s���G��5���$/���r�<��+�Zxm��^'�i������
��x����8o��������b���=3�,0�����6����l1[�����m?���N��~n��_�}���8��A|��&��az���a��U�.�>v ������a��8������a��o��=h����=j����;{��������=c��s���`K�E{�^�e���j����|�O��������\r.S�q�X�7�JW��E�\�e�s}���
�n�6t�S���GN�s%Z��VE��5�ZSg�z��7��w�D7�m�&�)n�����n���f�M�7��s���)��|���1>��� >�_����" �U��_��NW!lB���D6EY����6�e
�A��D� : �$IH���AP��q��9��Sx<��w�{���������\t.9u���-���IQN)����[��`?�I�{a�r�`>��"����|��xj+��rW�i�E(�\�����HI���cp��c��x�:PG�D/�Kp�:�����D]��F����W���dJ�>�J}���4��h������ACh(
��4�^����2C�C�0�.�z���8O��4�&�$�LSh*v�L�F���4�>��4�f����4���G�g�����W�W�ZH�"ZL��Z����u �M��xD�gu����9�X�*�s���5�n�7�H�Dm(����>�e���if�J��U�K�i
}Fk)�>�/h����6����6��J�m��v�N��v���O��+�H_����C����-�O�t��!:LG�(��TD�TB'�$��R*��t���,UP%U�9����ouS�����y�������t���{�'������{��VZ�U�kSl���p�Av�l���p%��*�q�S_�����:X��!���mt��:R'i<F��G��(�ct��?S��7
�c���~���oX^T�m�5������}�6��m�mb��f��ma����q:^�� z�N��t��u���}u?�_�v/��g��B{����a{����q[d�m�=aO�S�������-�gm���U����5�6����"(���t
��To�w�(s9��#�Q��s�)r��qZ�������J���F��o�w���Q\W�O�gqM\7�M�D�B��2d�l%Cdk��[�m�c����#��j3$U�U�8��R���3��R��"S�T��<��&�I2BF�(�\��f����O�,��,K�4Y2F�2_V�8/���(������z�3;����&13����h����/��;��1!�1#z�Hg�T��VmM�J0�*���x�h����L������3QL��M���M�&2}��<q������]T��2+M�Yer�j��|f��<�����3����l2���^v���eo�,Sd���� �D����9U��� 6�L�imBMf�M�Z��B0�2��W�]�v���}��A�o�{E6���h a�6B�9���l�n0r�7Ts- 3�<
=a'�a0�A��=���a2\�+ �p��Wa"4�����
��C|W�_s-;��-_'�X�����b�H������s�����|u,D@��@g�'��
��8oC� K=�<K�q����yL��~0C]����S[1����p����4��(����� �@����:l���7������;���e��}�@
��e��W�\�<�`{\���Z�E]bo�� �\v����
���H��$�W+� �����R����T��X"��_W�9��{�u!����L�k��A��S=-=SU��y<��a�@-������������w�����^�A0t�4`L�-��'���jj����������k��� �;��^��T Yx�[�,:a��b6���X�u\���I���FV�<�r_��CK7����9��9<��P
���1�gt��,:�����;.�7��D}�������]~e�y2a����1{���8f�+�> I��;�M���b�+��s���|��*��H��(��Z7�]�k��e_��#��_8�������0��X���� ��]�p��x C��{<��uq9+wc �b9�r?�h���*���!z�w�BV.g���l!��Yr.k�,�u�x<�Jb%s�������K�]������O�?��_3�k�5��Mw�;���A���E�2�cpkGb!�A%\����8��`(GC,�ZW��)�~���`
��Q8���p.���p�dV���<�m�%��a�y>��`F>��g��c�8�����;cL8�������;��@�31'��0��?��d�_���I*���=���U���("U�t�4����F����4@KD����M�Q5�R�e��=��+����<s�3�cf�����=�@��| ���������V��|?� ��
������2W ����[^V^S.+W�Uk���vu�zH}G}W}O�\[�%�~d �����;���������~��������������_�����{D��>���.*�Am�u��|�]��<�\���MEgW��(��+)����m�?c�����>!���w��G����?���7���~%�}r��Z��>"�W(��b������?��v�]�N�wIW���t
V=��a��|�����>������p�u�[�\VO������n����fu1������q���
v���)�^ET�#�^TN�-��%�,��]PB��RL���U�R��o����W�j��%.�La+�;���|�/�OK��\b+�����r�����{�0����VZA;�y��6>D5�iZIg��Gh��t3�~�~�O��h���������x/��"����g��o��7���Q�����RURF�$<�
�;��C;�o�^�.�6VN���N@�K�����W�z��I'�(����`��[�G}��3NOA�:�y���{�������7�Mp�Qw��r������vS��"��Aw���!������
>�M��G��a��F�
f�g��!��*9���
���k*�y,� u�����qn��9���V�uS� ^�k���r�b�w������|O�h/@w��>��.�2V��;���� M��2]��t�.�������#��@D��rd&2��Al�
��dn���"��QL=����-������v ��h�N�]�����z��#n@~����~2�{��W�e��|
���l�Y:�z�8r������~�(�42���O����_G��"���<b�_���?/�%�W�}�f��k���#>�C�K�������{h��{�w��v��h��5�������uk���z�=+������hd���K����E!}��/���_Q^6o��s���U2�xF����
gM)[U�P����j i �����JM�����S9����7�x�3^�d}=����IC=�:[L��i0,]����{��{�Y��B�'+�t�l=)R�������3�F���:J�����DO��YV^��/O����fA(Qi4$�|�AJ �p2�#�[�dC0����%��.AF���X(�-#| �����nhX�F�9#� u����'��J��k��`�Q���AL~g��L
*N�b@������-�djH~-sN�N
����t��[�`���.�!���]���{�.f�F�����T:�Z�VV����T���v��
A�J7���GN�������S)��l`N�X�w�������-����.{M��seR"c�A��:$1
�i����%�{-�P,�Q��1 f$l'> �-0t�S��7�2�����OIv��
����D���RA� �(d�������9.�����G�8������B�z�sq� 2-f��+8J���%�-)�&(���������G�l�JEQU�7;P67�����{���6�������=~�M�S�<}m�6�cy\�a��&���iJ~Z8e$�F�ds��V����7�wGaf �%r.5����'�/�{��D�n���P��so�Q^s{���D,2��O��Q �Z���;�x
-g�8)CO9�����.C��b*�3��'�?������M��Xu������n7E<�e^gMb��"�!�"F�0{�H6F%�v;�������d��H[�9 ��������]oe�f��Dq�%V"%�K��li�y���8Q������s�<\��Qw��q��BU�Bq���yJ|�[�(������s���3�W�<b�d����5�X�6^�7p��D�s���N��
,����:�2��xp���u�3N��p�\�M���7�q{���:�����H !&[��^�x��XZi���66g����2�u6�p�?^���*��X����!o�?2�IL��y�;�� ��C �s���`L�?���y�>{�{�b�)��E�Kw��1��1o�F��a�E�;-mF�m ���
�,L(�G>��iS�
+�}�)SB�Y;��a��i�mK�a,�����BC����7��@���i��B�v�0�pVP�������4o!/6�y��YP�)(�8�#D�������j�l���^���(�7�BB\�t�l��]��M\w���>�:����}�qNbG�m���!�m.]a
�@pcB[��i-��6m�:���Y��i]�$P�@k;�]���MU'
M���Fb,�u�����n�������������|��yYm|#! K ������)�R��21[G��EHJ.�u} ���M'�[�V�������R�
�������(��/z�s 5?����Y��;�����8���C�<f�x�:3���J��Vl�9N�-T���+�T�N���A����r
�'����r�o���1 ��!�+�+x�(Q����
�#o#���I�se��)��"S��(��w�9A/B��Bz*p�0[X�)��-�6��A4e� ���?��GX�v�#=�J�2M�J\I���m�wo[<��L�]�
(17E?�������Yemv�bP�� �k�"��V���+t_���0����%!1��D
����h~�V�����pWn�H"*G�HrF��[��W���;xgX�}j$��b���p(TYYQ�q����UU��</�gw�Y�z=���>��-!M�
���m�a��o�����^&>Ks��q�Q�k�fs�O���B����
L�(N����[,k�,�c�u������'�u����k���q2��,^?����jQ ���e�H��t$�$���l[6���N+�l��y^B,�Pm.����,eWV��+NkCq���{�G�-�C8�����n��}����k��=�����{�}�_��v�Kv+�:�7��5��B��� ��Q�r�P����B��>��aIA�q ��sM�������������t�tS��8���60���$��bU������#Gq��'^[�u<i$x�%<�{��s;���~��N���CV5�U��:��q
�<s0+�0��`�)dK���:��6�%���B�� �$���`����4~������OY����?������������w&�}��_�p|�g�M ����yP��)�&ij�L�K#�7��g
x���.��H���
�Q�hP�@����*���%trP#@��3����s���>�����L��}�.r��&��w�<��3E�SE�f\.:�v����B8&��&�E X$���U�j\!����;���}������l|t�}F�!
�p���H6j"T�J��Q*a$r��
��A�����j�:�R��,O��+9��B8�nW��!S�V��V<h�Jy�A��QH��:���!(��Q��I�Z����vn�D�����������}����!���f�����6�������A�]��m~����~c�|��"����� �������-4���� �-2���A2#SPai���G��2� �n���"�+������ :�����
d jI���d��z%|D:!�i�7wJ��T�!�{ ��, ����b������;�1m1����2����w$�P�- �h�#4L�+�W[a�fh���c�
�9|�|��������3,P�jWS&e�$������{m���������\��Uz��
�:�1�ar��,ca��U��|�2���CI+I�d)9�����
�����@c�G��Y\�X����@q�����t��w�p]m]M��b���4�*��r����Z�qN�C�B����E���a�.�����n)�a&����)c�7���O���O-�������T����b��Q�BR�\�"��������%�x~�����W��]���v\X�:��[���k]�������U����#������W7�����>�[���'���eQ�I/ �4�D5l�%}L��sH�t�-�"��~��^`�����.�k��B2~E�����2��%��Pt���+���/[J.#���c2'G���O-��*�@�(8|PX�����o��R)���S�%w��e�_�2���:��*�HDS��{I������;���f���D�b"������[���T�D�T6=N��������?
�W�C���uO��W���[ �L�U��"� �����6�z�M�v�^eop��#��c�c�����������+�������J.�j4�*uQ�<���%���s�S���h��7*���.����3���;w���N����8��\�)a9\
���S�6��i)x�d��K�����+���x��BU�\9T��l�����T�i��Y�t��?�::���:K>��w,�z������%,W�A�x#������'5�Eu:�I
�����]/�N�q,��1 R�G4��n7��\�\�.�������G�@:@�2�^�������F��^2H��������)x�!�
9Z�!����\kWC�\�g�\E�*� ���!6m�������2��=���l
���
����V��b�eY).&���6�RX���h�H9�����j�h5IQ��������Ox����Q���{Yx'_|~8��8q�/5O���:R-�|���7����}gwt]���6o~cb����G*M�F?�6�_����(����T/������e�c�U��R���+�D{�F"����S X&�wW�/�T6U�a�������>+� Ik�
���+�N��~_5:���Y�
n�'�Z�:��a��"W�_�N
3*�X�>���!S1�}���C�_��$C��JR��m|/@'�,Z2��$��������".o���O�ij9k4j�Lc�D���v7���b�snWWU]���T
�ejHe86d�-hc�Le�q�Z#`���(����)
9c�E���d�������ty�:��B�5��Oa �:��hJ���o�:��P[�)���u=��|I�������q��%#��Z�O����6���U�^��G�Pt�O�����'����k?��<q������~���=���2�_$����d��i��|Y��{���{�b �\��`ARh���2���d�Nkv�J��c3 Zd9`$�L1��p���iN^��yA����D�2��,+k2�(p��2��\�5�� �4�(�i��� ��Z4�����2k������}���S���(�D�X_m���\w���a9Pc��Ks��1�uuNH�@dN<�%�[d�1���yQ#�;LU ?�bP�8���4yf�Wd��g������?�Mi���a���6���i��Ra�Y��pn(~�����z���#~>I��3�3�uk�NvW� 9�;Xt�~K��A;��p���!m��P1J0�WXD����c����BW+�]�nS���b����T!��H���) �l� �wwR!T�G41�)�(��)8
3fu�[�)�F%Mp���}�q��{��xBU���R����ir7t��@��� ��g�z����5�Vf������v?��C��u"E��\��8 ���hJe�a���<c��q_��X �w=9����[����]��U}���u;FN��`���'#'_��N�#�>][S��H��?.�����zTn�}U1S��q����>�O�����C�fv��{���c�������6��&a��c��P����2���������%Z�=��f�L��S Q.�p��4��+��]���������df��",J�l7V~��r�,8z���������!1�n�vP�
We�p9T����dfX.j�a4��� �@�o��
X;���GSv�������W=��i����.\~�}�q����<��l����o�{�������l���\�*����+=��3$7����e/�?|~��'����s+�n��������2`0���4}�R�\�b�g�\�KY�~V���+ KG���&�����!� 7IVF �
���4a��?�|4��i��2��N����w"~6����+�S�S�&�$�Q�y��0,s�|BI:����j�Y!���r�~�����K�K\?��1X`���NZ,�FJFST��;���S� *F]>�;��|�v8:���[q?�6��{����v�h��xz���Ra*���;���/�G#���K�������B������3�7Cc���b�r�����#��S�d�#n���![�����s���h��`My|7�1���/���-������ho|�d�|Z�s�9����c���c����w"��ufR��~&��f"3��,F�P����])P�/���c�3[i�\����GD��w
��
���DK�'3�l�I����"Q�����ob
��`j��s�4���;�)��<�&2����R���C*����w���hU��^_�`�/6F������W{PT�����]^�����ewea��,,D�.�V�*�iJ�*��X��E��d���(�&6}��`��3��������4U'�L�i�X'����]M�_�������;�����~��������E����&��%
X=�s�x�������XT��r���xS,��&���g�2� ��F)!=�����}�u^8���������:q&�6@���[���(.������|:��X���c��>��e]��k6/��$���������7�X�{t������}������1B�Qs'�L�e�/��l;�����n���9���|N�c}�V3\Hk4\��U`����{�|LD>^A�FF��~���P�����?n4B�Ia>'A'��:F'k����BF.\]8Vx��-$
w��19�tM3�|��M%M�tR��R�(�BPUuR���l�5_����<6�o^��)��J���+g�;�l�rk=��BRU���'.��DT� �������5���BcE0��L�Se��QdE���T����+��k���g��j��O��v�t���?�u�����[H����}2�����w�%v��������}������e�p��gd�9�<h�
j�9N<�=�;8b3S^!�G�
��-1��������$k�R��>$�N�I2t<��AP|Pv ;�$�c��TRS��k�* �J�,���Jd���xN����0����8�38������9��<'�u��L�� i3N�2�����9�!���lj��T�J��+�5�b\�[���;�X8���y�������T�U�I��*k332�t^]J�.���Z���ZTh����+������O+�]NY��`�{����������=�gjs������]��Lx��`_�Pe���1���)HgA#�Y9�����3��X�xL���s9<Cy�&��@r�a��o3a4����H�s{[z��2�u���Kd��q�]� �r�8��#�p�9����m�(����-A����"��]�0O7��x���WaV��DK=u�S9�j�P���o�b����0HSS��L��~x��k��q(�~U��������{�9x�}�|�,�>���|�Y�!cW2�Q�U��p�'�V����)�b��V�?(�TW ���\�+��s�!�)%2#�8 CVj�Vj���U�����M�%�u��j�k����-+�g���E`0ND�:�>��Q��?[y��r2��Z���W�:�F�����C����8��w�yp68�p���dB�����p,I+���09D�
����C]���g�8�wq���a7���u�A�q[���$�j ��~�(�fv~B*��q�s������(i#��W$��5���{��$M����p8�e�Ac��[����5W �����v{�9l8�{��uF�����L���I��l����!``?�
1�P8C���p���Z�ZC��[!��e�4����zR�w�a��a��n��������c�Y$����`��n���li[zCQ��7Nk�U�2VK��*�i��6���v�K��;�f���mqr����U�8������HrVn��C0������4R�������)�������x%5��IY�����]P�8W:���q^#��T�VS�����NO�'�;������aAe�x?k���~�����-��d�`�$6��"y�1�Y�Dcu}?y���\�`�4��9.��_f[2�f�O��B��@J$�T
���QT��C�QU�}��!.�+
6�5i�������,F�%A�3�%V��0��/�G�W���E���.��������*�i�7K
9:6�}����O+$cu��))��QW�6�����S/ V*��
n �|����H||�F���d���@��W/Ox�L�\�CN��Y��_����P�Rl���xe��������}�������;���S��+����Hcl��G�J���<��A������U���!� OL�5�x���P��c��zFz�����^�������������n�z� ����`�<����T��sP���{��/�s
�x
x�1�d��������!o#rJ�F��+mF��K�~%���o~I��C�9t���g����,Q�������7�z��m�Zm&;���7��P����r5�J�+L;��a�#9lT�c5������b:�|���� 59Z]�2iiN��W��z[�Av(k�8$
��9������������]5�M�g��;�w�����}������
��&�f����,�J2����?����P~�1��@�����������R�@���U5
*uBe��m�R��6�,���B��w�{�Y>�����>�$7 �&��s�7�9����]�������]���b�'DRE
�$BV����,/�E�!i� ��bh���T$)��A���!��U��?�IRQ�#H"�W�rT���e�
�W`9��������c]
P*�t�+��}�|��g�u�]�
H"D)��m+���v�������kj��Du���}+B�*����uny��nGv;�/y��+��
'�,�"�Z-4�T��(:���
��c%�e�#��-}����#���pH�!R�6�go�I�'��f��*��3��������Km��gn<�����4�������M��d��V����)�i��Zj5������!���r?I(�E, ?tT?�G�);��N{��F�,�7��'>�4, ^Jl�����?�/ ���u�|�����Cy�QR���_C�V����UZ[
z-����Xl�>���5�v���@*����|2�M�<j,m�6X�K�%�����g���G�����Z�
���$�������e�0�t,_�w���~j�{�g
�&��3,��zc8�R��vq�2f���e.gn���J�SEV�CU�5�6��O9K5���)�J�����I��<�N�.���0e�9�,�e�X��V|{��%N-����%P�d%R�qY���<�|4(���<����\x���oE�1��
8_0S��F�'��qx�z�G<� ����-w�-�Kp���� ��i������n����#+&�yT�
�)��h0����:�94���{���7t��n�,g�-�����hA�����d� i7%#M6���l�+M6�
��TB�c��;m�� ���� h�-�Yxm�A044D
f�E�h7N�szz����U�����9N��C�,�K<��*��x�M;���*�B�!��$r�����F���[�T��h��4����;�
�7���A&���W���rmf��1�rb�M.�i�����y�\����o�w�����gz��X!���E�~��d���>D�~����qr��or4���e����'����r�y��������a���-b���*����+������@=��? �P/�6��R��7��B�:M�
��E��Q+)w��~�'�� E N!����wR�@��2��~�P'��?���
�)d�,Y&