SQL/MED foreign table
This is a proposal of SQL/MED foreign table for 9.1.
I described the details in the wiki page:
http://wiki.postgresql.org/wiki/SQL/MED
I'd like to discuss especially about the inteface of FDW routines.
Since it will be a shared by all of FDW extenstions in the future,
it must be as important as index access method interface.
Codes are available at: http://repo.or.cz/w/pgsql-fdw.git
* master branch is a copy of postgres' HEAD.
* fdw branch contains FDW codes.
and the attached files are split patches of WIP codes.
Features in it are:
- SQL syntax for CREATE/ALTER FOREIGN TABLE.
- Definition of FDW routine interface and system catalogs for it.
- Core-integrated "file_fdw", that can be used to read external CSV
and plain text files. Codes to read files are shared with COPY FROM.
- Dblink-integrated "postgresql_fdw". Some of simple WHERE-clauses
can be "pushed down" into the external server.
The last item was discussed separately as a cluster feature:
http://wiki.postgresql.org/wiki/ClusterFeatures#Function_scan_push-down
Foreign table will be a solution for the issue.
Comments welcome.
Regards,
---
Takahiro Itagaki
NTT Open Source Software Center
Attachments:
fdw_2010615.tar.gzapplication/octet-stream; name=fdw_2010615.tar.gzDownload
� �}�W��������#L#k��s4 {x�@@''���H
�����[�d��o��V����g�!u�z��������_�T+�j���;��M���
n����U+�V����B���
��Z�F����F���5Z��R�Z�����y�3�,�����7�������)�Y8h$x�^>�q0y6�F�4��IX������O�������r���{MW!>4�{����}�nwww�~�&�)�S4s��7:�2�<w��OG����Q����n���^MaM���J���Sjcc���:������;������W���E�����n��w'�^���M����v�o_��w����{�������O�T70�~<��`����`6�}O? �5t���QW�(��_p�3���";������e��qg�tp�����V���|����_
x���A�1���l�J�w�����j6���� �+�+w>��a�_���0sXP�~z��SS?t;g �eP����*�V��'�,�'�7;
��%��/��V�������7���,*u��O�y��Q�f�A0�����a��qt�?��w�v{��>!�v\EA�qx]��
f�=Q�{ 8;�PM�H��)���(������l�Xx�l'����@����*�~�{�K���4
B&�M�w2T}���<�Co��>K�wPHMn����go���S�\�Z(�^�����e��l��P�LYz�)�F��������E��?�/�.`��O��3�� �G�����z�iX4�bz���� �\���e�����y4���{\g��Bof
D�x:D�
&�?�����Nuy������v9�'���N�B'�q����H?�7��6-�n�o��|���������~-K^�[��W.�ZU�^�\�����%7E�K>��h��L�n�������D�� )?�_���k��Sk7�E�{���sp�OP������s�p�7��� ? va���q������T�$��)l�&^��N��:XB�. U�������7�'�?`����
"�g�s�����O��>d�� ����pN\����M���������!I/G��7�G��E4�J��z��6�C��}�4�-��8e���?����k/\�@k��P���"`�� ���� ��H�Q�>T���&�����������=�����#�W������}T0�S�!���*� ��p�v_I�,o�MC����#<Y'����~���F�i6��o6+N��2K�Kr
�sx4��E����'���,����,��Gn�Y�gY���}�����xc��c/������p�������o��hU*N�������4�F#"�6��E���\{?���S`�>����d�8��gaD��`&<�\ A���a�����[�!�x��4�J���<�4r eg� �uD7@���#2��=�����v����5���4����N�����!�vF�V�8�AV����.�v�?u���3� �����I�j��������[KG���� ��o��;��,A���E�*<xb"^|�T��}��jLXl���[���#�>����a�p���l6��}�<���C�&�M)� ����<�Tt�i�W�?���� � ,`�&����23�7tw���Y�a�c�(��3��`���Tx��6�X�3rd��b����`��5�����Bo��zo1�|�O�O �V�����j��e��_jiwxi����9����� E;���n&�B�v���r'��B�������!��m�e�F��e�#��x~z�F���3K}Q�$k;V�����E��T o�R8���I�\{�J��x�q[�������Vm3��9�}��>~ mo!mo7,�e{��T���MH� �����-l������<-�����Z�����_d�`�Q��W*V�1���%�����b�%Q���Y����N��R�A0�imb�.��@>by5����ta#�g-�j4����3���l�V���'8��RO��dN�OL���M^���r��Sv�:G����t�i�������]+��x�#[�����zX���_��$!
�l�O�U��\�UO�W��]��Y�L�r���^����k��1It�z�����vOZ���D�e������
",n���G���f
p�U����>��~�2�m�"��H��N����>?���I���x�2Dy~� 7��o�>�a���p�����P<�"�e&�::DP
Z��V.�Q(��]Dd��k�e������r�f�7^(�ci�Q)Rh��/�����Hc(j=�A����p��w[�,+�mr���H����V��`��m3O��j����V�;��?k�������\������~{�F�7 ��h����"�7�#�V#x�����������Mp�QyT��Cz(?t��H�����a�k
--�����$:�X�L��9�i�T�M��_��L�q|&��c
��� 5�eLL�x�!*�����~
��_�y�o���=",���
�����_�T�N�R�i�J�K�}fZ_<co�����)w����pf�Nj.o�����u�(��Ml�/kC, ������)��
�`��h>�Hk� +��DZ�4��������������gf_���r�`��0R�H���O��X��m�/�\P�U�h���sF��>i��uj�M|oh[�v�_@����}��{,�n�(�]l���X@�qh���3f����s�������*�{{ ������"�y���_�m�Ez���H�hF���H�ZI�������T����KQ���HV��<j��������=P���|������p���I � �E����'Jy��&����m�)����= p�
u9�A`��\x*���H�Y��%J���<R
����@�/�"���K�&��f������r���k)*;aVW��b���~z
[�_��x����(����f�j���+���m�M�'pLw��lv��\�l���r��6��W���;�%��v*o�������-�X��o2���������X��**��{���vH��kaAqG,lp�N�� �.,2��������c��� �4n�I��)z
��Sm�,%����a"<9 ���!�������h�4R���f��
g���j����Y��;(��9;�^�~����/Y�`��y;[W��v_
��I�p4�
� �Zp���p8CG��y����PHk�l�����l�mh�}
�J
/��Gt8T��Z|�s�b�WD��a#���}�d����bG�<�>��x^��]wp����O� d+����EWW�L|^�M��nTl��F�`+���)G�D��pT���t*�Y�Xg@�[���"
��^�8���N�>�{�M0
'�E8E�m�]]��L@,]/=\0���X��r��{�U�\���%����T/>J�@�!k����l"��x!�u�h@^P�(���'�#�����U��2t&�p,�'3 ���-; �9��Z-�5�y\C����yl��\9�C�o�N/�z]��X1z�����"/92�69d�d������"�J�W,%l���:�q�[�������V�������M2~��~D�<Gy��aU�$PC?�`�]��(���e_m=Z4�Jr,�U���,
�(��q/���[��}�����L����;�-����L���������z��� �q��C�$ �#@t�r��J�Tq��T�OP`��g�3!���'<�R���%���E��?���W7[A����N��Bq�?�LB/�
E��#��@1R����~�#��!���vn��������v��-w�,"d{:DI�;��wm2��
l��Y�`�n?e��P���35��� U+��1�Qh( �'�(P��B��l��1�����!�3�.T�����{O��hZ�������.��q��P�=4� �1��ng�L��'~4��.o��L������vE'%��GF:.�\.SX��k��@=m�������VD���M��a4�* �'O���m1��/��Z�s6��E��M�|�k��#��`�����E**��f���C��f��B&�p����3�y1�g8��i>����U�7w!b#�d�!��~�T�g���Y/g�1ex�,+�:�c��� �f�hv�MdP��i��nj��fG����J;��@Q�T���"�}I�zl�zE��bq�#Aq����a��,����:n��@�
���q0��mZ�9�T�;�\��-Z����`��(k��� =R��t��D�G(l��k.����D@� �U� �0��H�ko�o9��f
�?�F�%�R���D�Q?F!.���6s�1���}�6r��C;�z�g�Z)�\u�-���i�'�]hA��t��f�^k����e��y��-���5/��ij|p�������9����`���K`�>��s!�XmX���s�������G�������l��v�K5���lo�.������A9~K�A ���������r8�����T�w�Y0�E�[�)rX���"�UJ�������������{�O�N��;�n�$|���=(#�Lr��r�+%
!��+�/�~�Ru������
�8�&D���V!s*|���
�Z}��f�`7� �&|������*S�e���A��l��m��f��`����5�"y�`���> �j�@���)����� ����I?>8=~��$��w~��
fz�I���t@��|Z���tJ�n�m���`��J��G���L����������)�IZ�����=���J���^����Z����M0�B���,G�p�O�0�K�������`��`I�m<�,�VY����'�)J���?-���>�AH����L�!�*�rM�����[7��"��b��=qGw��lo]�$li��<�\�k�6H}+lp���-n
��_� K%�����c��Aiet�O(,O@~���s��:��0��8�#�n��(&b����w���j���CP��'X�NqiQBe�*7c�Jr�?�d������;�xI�.g�1����S���q����Z$r��nI�����yP~���w����y��Zho��9g[9���sJ��v��|3�oofS@6�e�Z\^��o��TV��q6s\(���&�%��=��p����
��>��G�D0���!vT~���r��x���yf0�G�w��9+0�M[
h�U��~=��(mG���x���~�����/Hu$�&���<�^r�q��(�L_)o��F��X�Ho�� �P\RZ&>/3��A'�f��<�J��?�]61ko]B�Vm�i��TJ-����b�fg4
n��C��&�����N���i�EWQ���7�S��d�Y����
m>��[��}ag�;���p��JM�����C�Y8Wn�������M�I�i����Ko��G�X�����$z�c��<���k0�P����K���j���#��S�vr4��m�?l���5-k��
[N���]��+UJ���W�QE�� #�J4�9�B
H8��E,f���a��A��I �]y������Q�9_��1�*i�
�ea=h�5N���J��:�U5���J+�\^Z����|�vz���������F�k����A��U�Vbh�w���i��u���,w9��u���;���@���7�b�����F��;N;��K+�u�eM
|r���Wqw#�k���=Nc��l:�z�#p���Y8q��k�g��� c3%{4�$�W���d\f��7���Np��;�o.����g�p�T���+
��8=�u�K�mU*�������w�dC������H��u�%c�J��KU�4t,���l>�������C�o_ZU��I��Bq�q<�(O����_���y����O�����0���cv*)�� &��� U�XW��x�b����8���'�m���FCN�L��(]�)����Js15r������%r����a�����O�W� k�/7���[o��I� ���)�q��*�zA�@U y���t
�qa>�#,�����>�g��x���a7nH�H_$g,^1�c����)=�~��h��x�����C�� �AG� ���$c{�'1HH�F��;���|�B0����t�@7��V���^Jn�F��5m�����
�Qj��.����C$#�����
8���er+� �eX��%L�����m;��)Jxnq&Q�M�9AG-� ��~u����]��l��?�v5��a��`!����,���\����;nsJs�Y��pd!��%��FX�f�m�5�A�8������'���|�2�c� [�4a�JS�
��;<��n��=�wa
���
Fls�9Tx�~bbR�m���$���-Il��S��2�+
�^5�Bz�.� �����qU[x�A.,x*>�5a�0� f��x$C��7�9��?.�D�0��������(���n����[�|�Aj��v��
!�����f�380�&i
����I$�|���Y��%?nR�9����8p�������,R�L�_qZ�}�
Ld�eV0��ONt��S��F�4�(��?h���Q�G��D����2�W�_p���ua� ���P��G�&' �8�b�����;�R����H��n
��Vt�h:�D�wg�~4�I�-F�&��9��j�&���P���bb����@y��l�r��MV�M%���
a������V�N�PK��U�p����0^XzHEyM���U��������]�z�XM��� L��������c
?G��X�a�M=h���xH�Z�m��j"����\�� ���Nk4c�(�"MtH�!+�=��u� ����te��"1�7���
]���0|v�U�q{�pNJ07Rs2�������3
�&]z(s�~(��P�i�;�-�v���z�`8���+��=O�V��zI~�Ic����7��}��`r�`>�s��]
��;�1P%�U�k��g����Y0� �>z ���R��l������H2R��/%j1QC�&�RO7�{M�bq@���4t�� 5��������{��
vr�0l+�z�$&iM�E�����[�����W��S$���j���h����j�i�i`�)�}�Y���������Da�"C Qt��� ��������56��Y����!�Q�2p1)�P��{Rf��/$K�w�RfSW����^ �u�LQP���,��4)��DmS�����<������#Cm�1��NUq���{Mg�R�N�ob%��<Z �I�M���|c:y�����b�M
���d�u���/qzw��1x��+N��6f�U�����c��3X�������3=&i6zV�_� �z��\��(n;B]�m0�@�B�e��f"�V���pC��bb[M�LWJ��/�J�Oh��|;�I^k��8�J)�*������{G�J���<�����+Q���zI?�/��<�Mq: ��`<-Q��W���GX>v��m��O�ei-���T��q���s�����W�3<���K/��Y<9'��m&o8���.��1Hc6��.�z����O���4B��w��0Ja�������/��T�s'5��f6���������l*+�C�Q�������H�m`tp��b��������UtZN�4�3��G}|�!��F�Cm�&���D����Fx�������e�y�y�M�,�<Q��}i{�����������'������G��7]����S'�2���h��7�K#�J���]��L�� KP�R
���.��'e�;�lM��G����'^CZ,��`W=j�l@�i������qM��lZB�xe$
��Y�*������ Q���C�x�����RH����d,;.i�1�.k� [�X:�&_(�D Bm�� J�Tb`������ov"�[A����g���C��������4�����a
�K�s��#���Q��������qt�T+xK@�e9���d�U3��=�k�����7�~�t�������qQ4��v�;�]u������Z;;���#T���/Q�������`�
����{&� ���`�^R0�x�c�Y~��J,�l�8(n�6eM�FV�z�ub%q��{T�,�}����cTl���p��F�
5�B4I�^I�n�Ud�6-��qH�[�k��a�,��U;��oBv��|D7��Z����z���>�2D�Cz�d�:*���$}C�R%�$Uw_M���\:�1�>=?��?�;�uI����aCu5r����e�2o?��57��%�Sy����,��=U"�`9qZF*��-��eg��l<!J>��Q���JI����� ��q��G{;F�$SO��H�e��7�j��o���6�^��q�`����=2N<������X������������G�h��K�5k]
��X_�W�$5+�71�{a�*s~ b�UX�8K��7��>^\3���q��M�{������E���������)F�7���s���0���c"L|�5�
lk��Q���<
HR�o3���yOK�����XBy(���A���G��n>�%t3e �T9��nh �Kbd�5-��+XB7W��nYB9��Bt��y����I�W�������HK����3u��D_bC���3� �����{t�,#>�`��F�dq���"�-k�U���@�Z��kVL�7CBxG��5h�G�i�
��%�~P����5N����t �E��/r^i_����7kn �%7���|����\�^���v��|u|��2�L����S��w �v�zu���k�����"02��b�
Z��X)����q��a��k��z����l�� Z)�21�dO�
���C�T�%�#+����w
���w'���%.��j�8�<g�|WZ @
���M�I'�,��2��*���!Y�
��x;D_r,s�
r�3z���'z��|����G ���$��w���.r��-r��-r�7�kfr��UK:�S�������lD�n&"`�8"���Q�;t�~*�*��9�} { @Og�O*��4O�\9*X3(|�l�@\1���I����X����� � 9{����^�� S�}x�5p���`���q7�g�������jR����;�����g>��(���k������h�J���Y������u�l��Q�b���1n��N�'F��
h��o�`)��h��k����>D����f���������:gd���6��r���Q����q���h��N�����4=�l�"G[���M��o��v��K�C�s����y��������q�A�b< S�|�w-���?e�qX%�= �1)���s��A ��Q��%�PV�����a�9:#���8�����m�,������b=���i����v����v�.�k��dX%P����zn����9����XF���'�QY��/�P<��sJ��b;v��0�b�,A=q6�';�DJ��1��(����c�N�#
����,w�����.��u��%�jCg�Bo�_Ka�����7K��������M�Em~R^��&��2��<? ��+���{�������N~�o� ���9{R>�gnF��\�#d3���������G8��a�}h�#0�J����>��T�d�N0C���e����X�.������EH��P����~�<l�@��~�$��h�G��FlrT%�&������.'������1b���7�&-F�nY�y���r��zp�:�{�s�WRk�:W���#mU�jIkIU�}�1u����o�'=���?��Q�]�%������V��+���>;I��� r���c}K�$p�I�����j��7e�Cp�}�Kr�:��RN�����!)���3��6��v;?����q5�;Pg��)��Fl�)qA��8"x@CYG�cw2�Q�������\=������B3��h�V����;��� :O���
o[6�^�����/R��5
�Ck�Q�������s�y����q���P���v�9R�<���}��������x2A����Q�q�>��������$��ya�i�����P��������u����C��NM-�62�$���1V��G��#N������������6�����E�
'�����sT���g��P��(YF�Zx2�Y���e��d)�wD�+���z������V��/U?���*��Q:��ng7% &�lq�`������b�?�{r����M�/�������9���n��d�l�@-"�,�c���e�66�O�gk�F�c���]/>r,���zq7��SDn�^.#CI��s����L����,iADmT�cE�i�Bj�xT)�F.gr8w��1%���f�q�[_�d}33�AI;�@b|7��1o�(����w��|,�I���]�=vO�hB9����������$|L/����v��a����;F5�k��3"�Xn�\r��;cklW!���/t3t��a��ER|�%t�<��2��qE�)h|�\�&�o^�u��o��Nz���P{�tH���Qs�5�6s^��U9��� ��vz�����b��}��N�4Y��YlIg=����R��
tpM��9�cw2d�1���d:��X�X�X��<M�'"%h�], t�Z�� ���u��3���J �j8�����U�;���9\��n+(�\�c��{ �c������������'~D�n)�,�������1^E�M�%)P�u7h�h�JrO��5��=�ts�T5@K��\�v�
o�8��j8,�<v�RG��t3k ]3�6���*6�*6�*63���S�f�|��k2�Q�� ��*��uk��|�g����o����WR�>��j�^J�]���5�T��SR�����}$%��r%�."���J��GSR�����}$%�.;����b�eJ*.���jwE%��=�T�[h��jwe%���J*���J*=NI�z��[�T�]�0�w�)�)�"k�< wZY9�I�#U8_��Va��6�1�����~�zg��nHS�j��� �^b`������>eUz�Io��d3H/�Vr�J_��y��B*����p�m���N��0����Z���R[�rl���7K��RR���X�V-� ��������xiV�84����$�-���^f����xM�"��W���z��p������4�)�a���Ev�M:���>i�6��������Y!��xmr������3BY�gh`0B�z���0�����q��i���O���mm��R���H��w����3vi�v�W���3 )��-%k�x��2���G� D�����IH
3F�V�**e�k���m�b�P�F+qA����9��+,��^-qI��K��Fo�`��M�����������o�Y����bQDV"J��Sj�u������4P�L�1���v ��)V�+��e���m���l���}D����8w���{/g,<�e��5�g�i�B��v'��b�.����~`���
�a��y���n��8d����^�xu'W�k�D �*�*�����x��f�m����&�G��C�����N��I���V�Z�&�WY��I ��������V�^���w.H�ZY�vz9��>���E���2�%S��I!{�:�N�K�x���RU����b�p�W�^�T���|a����>�
���c,�T�+#���"D���Xy��5���#���gar�O��������:=:��l�%�+%���0))�����!;�S�+N��TT�r�h����=]!�V�c���
��0�[�maOz��O ��$.��^����z��'4���=�BP^?k�:Y�4H�c>��?$�G~�u}���+�M$33��8b�U��9�D���� �E�WG*�R!r%����d�@���l�{�t���
��F��!a��/��k�z���j�����GJ���$����(�$��h�s��7pnS��s�������Y��l�X�j��������)��!n�@|�N��E�k�:�q^7r' �`:�o 3����A�!�&�����@����R-�{iX��D�O�#kc�L��H�h���H_�7nT�
��������-��#6�t@"��CayDja���h8��O��Myf�?254}��� �KBaW
��z�Z��W��-D��]�����k��|����u}�w3J��q�t��<��Z�&��s���3��(<��tJ��_����
0g9%�q������J�� �2�3
�)R����{-��-�v��~�
�_0a�#�`eR�Z�����31���z�^8p����O���������3^I����'������UN:G����0��%��*K��V��beO,m���i�����y
�.������b��E�����Wp����HV�������'8�
#��h��9��W\�A@L����@wv~�!�s�Ry���b����8f_R,�D��[��A\�`l�jl�((�\��3R&q*��������C_��F~VKP��X��l��r��KlF�gM��j�g��� ^�Yq|��l� j���?����C�I�ce&����&�����8CX�O��l�+�jf��|f�h\j�R�i���}�r�^���������2Q����0���1f��8�����SMl</��^{�g�%�O�x4���A��@�7Z{g����r/��>�-����P���{!���E~�$9�"|�AmbQ����~)i���2n(i,��6.���Ea)b�����*^`�x�"�)�l+�d����XssZ��������
y��ly���/���[���|��"56��c��ic[���1�!b7�p�������S�%��M��{���|iI��k��XB �Q�dd3�S?T�:�����d�\��c������\cE���E�sJ� s<j��N���Z��H+9�*��2I�T^��jn��2c;���fY.>�7s��������xs�Mla-3��+����~f���Z����k"��y��Dol,��������.4�]i�6�V�T�� _X?EO0v�B��^��s�G��-�J.�����>6��G��.��Uy�3���62+���Ht�4���GO�C���R�@2J&/'�1��G�da�h����t������?��J�xp��8V�"��3���[�x��h,H#dr��H;��� ��9i�z%N� x�:��M�3^ ���: /&7��.��8F��+�q���|�9$��V3.�@�� Y�9�m�6�C�7����[��Q��
A<T<���ny4�J���4]/�t�X���>0��Q�M��7}�������BNsZt�(�4G��q��x�^��F�R�D�i�,����G�<��v�S~b�9������l^S~�Ig���,���N^z��X�Z@�Z�~;��7��w\��jN�nE�|���NSL�S�[�lM|����8��L��[=
�� NV����}h<o�����Lg��|����H0i�����W��eq��r����2�����:���4�q�(�o�F�_�7(����5Uc����������E>�%E�eW7���T+ ���W@�# ��7�@�1�gl�9&���?v�4I����{�ky���1���d����,���g�O���d���F�� <VsH��9jQ�ys}��nk����=��8 ���� ��V��-������a�� ��X������!�,�e���S �m}
K�
f�{; �,}�|b�D�M�����$���V��� Z��V�_l��%6�|G��������5\V���^^�/`�[@b3����' e��j��O�f�~�q�i�R�{�Ry!����N�> �0�*�h1g�d?�g�R���
X���v��U@����@���W�P��Y��N��C`e������+z,�LT�z���3�C��y���&9E�cYr
�9d|�sxlfg?�eGr�����J~u�wz��2��yx=��8 �F�76V!��x<I��u�/��|��Gr(�r������@&6E<�L^����d���]
Tj-�����By����i�O���l`:�/G�\��@�S�>��`#Q�><s�T��i|;�n�qHi
gk�!h�f���G=������z{?qG�tX���h-�~� v��jG�>����`>��d ���>?}+���Tg��(V(�l�$�%�G�P�����h�Q
���O�^�%������Q��H���a��J�x�7�&;��0�K�J���-���!��Co��Q�� V��M��=������Y�[�qc���/�|r���M,�,���<�(�����J\n[t];�����2v>����_/��{4G��_��� TY�k�����{�c���;���v���N�����~��X����H� W���d����H[��=����/����-��������_�;9�[����7�7�@�/�m�����Z�{�S~��������a���m�"7�Bg-�;3�0 ���^�/����,���,L�Y
����Uw����
fx
�e�`�>�)�<j�cG�W���e�{�.�z����O�r�L���,����= ��������w�'��OO�K�@���m���!zn����`+_��K����;�zlr
��& �!��p��L�0G�����y�ic<5����m���a��2�uDj/~@F���9�Ol�g��Yz"��A����mxF�(CQ)w0� ;,�f(^��-&G T�:
�y��d�x��F�T����0,�a�d_�Z�Co��=�k�>=�+����e����N���T�4�~��7���,Q���� ��H�a�0=za���MO�zi��X
��$ce��!�JN`����O~�:8��j���U��@�c����]6��+��p����;�`D~�d���[��E�[������8�"L���.2����m�8�F��L^�D�)`��y7B�m�� K5c�6�/`����Z�e���qvR:+y���[�C�=j<�-��B���e>"E�%��z������Q���y�L��k��7�4������N��% �M;;�CV\��D������`�i�|M�$7@4��Yby��K_G�0�}b��fB
�)@R�Is�����8=b����: "I2�q���I�}���������I3�b���^��R��
���!;�i7�<�(m��Q:�����G=U�R}W�
�&s�L�Yz��D��F��3���^\�"�_��"�s/���.b'��{}�������,�|'��"e�-f?�Wg@P?=<}�`o{�p$���n�O��no[���W �����iT@[2������5 ��,�
�azo2|&n��3 w6,�\�������Vm�V.��������J�� Y}Y$�/�'s�:���F��{��6��5�}�]����n�������<�S� �q����?���~8=d��m}�������4�p�����>TaR���,�L��B� &0,�K���>MG�]|������������r�R��+�@�����W��o�j��z
�A����� ��h:�J�^|/��^�}0���l��l���B4��SHa�-�J0�N�����3M�4%EtC;�N�az����Q4 ����h��F��k��P�k���fj?�1�<>�����������������T���s�F���Y�}�GcwJ����@Q��j|��;�+x�n�^�J����K:,8�p�Gj��y��J8��W�2��D��<h�
d��������e5�M���Y���VB��d�9����?\aPAN6`N_� �)�Ih�3kS�����3�a����fGe����>�����������U��0,&��BB\��z����V�_6��qM6���&�0�z�5�5�E��fA�������������/�l���^���>*��"��P��u,��� ID;���x����� ��Y���rA���-JQ�8�JdS�j�=�?$h�{��
A���(�����? � ���1��uG��)�_R����e����pE����Q� =J�%��o��5��bCK����Lh�&����F:NO�����5'+
�U�@�NQ�����O���Q|�O��nZ���<D�4��dM5��X�����4�~\Akq���^���������"U,�Y2_X��cz� �W2�pT�Qvv<�A�o�� m��������;�
q�!��A@�l/���\M0#x����,���2i��Z+%�g<H�Y���#�}E�m�����������o�J��c��
����O^�qM��LCH�-Omh���a�������Gt3��3���T��/�=zY}c��p�P.Z�{(�m������������9,�����Cd�C��OO��O�����?=�ju�QF�
��P�5�g��-k��g��8Q�f/`��Io�5�tr9�eR� �t.�k��z�(�3O-�?Lc�6�m��}O��k�qO
~���.��0h��~vA`��(��F�-3�-�,�]�m�I.g�Q���vz��[Z���3�i������������ n����3����n1i��J[,?�s��rdM[%y1�������m�[N�a�m��5���xG�b�������t�d���hx{4du
c��`�Y����d;���]����X�L2_G��0��k��I�7���|����h����4>q��P�X>������<H���4,�Kx3qg�$wD�����t��7q��T�������%W��bD\���vD�`��7�u��4�k�m�GC+����� go O�w�{�a��d}{�&�8.�4|�{LI����R<�m�s�Q�:�������D��U�c�n��;�Sf�7����'���{o�4-���>>h��D�j������v;�jL����D��vVnH2n�"����������^z�q��Gg���� ��ue�=��J �J��s������L��yW�XO��/�h4a��������OE��@f�Zw���1i���������t&^�u:)=������<v��{r�=9�k�]����2v��IA�����Y���py0��e�E{��]%��{8������WLw��.���|8�y��������-������e.rN�������a���y�Q��J�N�r���Y�8
[=��o:�V��t��[���*:�8�:��q �qsCim/��dt�
��c[>���@@���Si����S�A��; T8��URf9Kc��(��W�\Yb �s>�ao ��p���YO<���34o����������U2>L�����+4����1P���
Y�s ����;��9�1�Y T�Y/iJ��\w�k����� ���@��H��U���4E>*�O������Yz"�����"���!��r0]��^U��3�N����.�z����?�R��qB�x��4.���<������&�N�[GU�#5����,�>�y�u��^� J���T������a�%i�"� <��,4K��Ud������B�$����P���C�rSl5`g�mF��CP2Z�%����+~}���kp��@�v�CC�8��FNT��d��S5�`��z��.���h�b�$������?�I��Y�/��?[
V���I�vT���W�������*'